120 likes | 240 Views
The International Workshop on Software Architectures and Mobility, ICSE-SAM 2008, Leipzig, Germany. Refining Reliability Estimation of Mobile Software Systems. Roshanak Roshandel Department of Computer Science & Software Engineering Seattle University. Sam Malek
E N D
The International Workshop on Software Architectures and Mobility, ICSE-SAM 2008, Leipzig, Germany Refining Reliability Estimation of Mobile Software Systems Roshanak Roshandel Department of Computer Science & Software Engineering Seattle University Sam Malek Department of Computer Science George Mason University
Motivation • Programming-in-the-small-and-many (Prism) • Challenges • The role of software architecture in building dependable systems • Structure • Behavior • Style • Tools
Architectural 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
Mobility: A Different Set of Challenges • Dynamic Structure • Dynamic Interactions and Interaction Protocols • Network Connectivity Issues • …
A 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 system’s reliability in this setting • We want: • Runtime monitoring of the system’s interactions at runtime and/or data obtained from prototype simulation [information source] • Use an architectural reliability modeling approach to refine the above reliability prediction
Component Reliability Prediction L. Cheung, R. Roshandel, N. Medvidovic, L. Golubchik, Early Prediction of Software Component Reliability, ICSE 2008
“Static” System Reliability Prediction R. Roshandel, N. Medvidovic, L. Golubchik, A Bayesian Model for Predicting Reliability of Software Systems at the Architectural Level, QoSA 2007.
The 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