Title: Refining Reliability Estimation of Mobile Software Systems
1Refining Reliability Estimation of Mobile
Software Systems
The International Workshop on Software
Architectures and Mobility, ICSE-SAM 2008,
Leipzig, Germany
Sam Malek Department of Computer Science George
Mason University
Roshanak Roshandel Department of Computer
Science Software Engineering Seattle University
2Motivation
- Programming-in-the-small-and-many (Prism)
- Challenges
- The role of software architecture in building
dependable systems - Structure
- Behavior
- Style
- Tools
3Architectural Reliability Modeling
- Focus
- Predictive model for software quality
- Quantitative analysis of architectural design
decisions - Our past work
- Reliability prediction of software components
- Reliability prediction of software systems
- Challenges
- Uncertainties
- Information sources
- What about connectors?
- Connectors are not specifically addressed in
reliability approaches
4Mobility A Different Set of Challenges
- Dynamic Structure
- Dynamic Interactions and Interaction Protocols
- Network Connectivity Issues
-
5A Proposal
- We have a static reliability prediction of the
system - Components reliabilities
- A model of components interactions in one
specific structural/behavioral setting - A prediction of the systems reliability in this
setting - We want
- Runtime monitoring of the systems interactions
at runtime and/or data obtained from prototype
simulation information source - Use an architectural reliability modeling
approach to refine the above reliability
prediction
6Component Reliability Prediction
L. Cheung, R. Roshandel, N. Medvidovic, L.
Golubchik, Early Prediction of Software Component
Reliability, ICSE 2008
7Static System Reliability Prediction
R. Roshandel, N. Medvidovic, L. Golubchik, A
Bayesian Model for Predicting Reliability of
Software Systems at the Architectural Level, QoSA
2007.
8The New Piece
- Runtime Monitoring of prototype and/or system
- Explicitly identifying connectors and
interactions among components and connectors - Gather data
- Refine the reliability model and parameterize it
for connectors - Apply coupling, cohesion, clustering, centrality
and other graph-based algorithms to model
connections - Apply an architectural reliability methodology to
obtain a more accurate reliability analysis
9Reflection and Monitoring Prism-MW
10Putting it all together
11Questions?