Constructing runtime models of complex software-intensive systems for analysis of failure mechanism

With the growing complexity of complex software-intensive systems, some new features emerge such as logical complexity, boundary erosion and failure normalization, which bring new challenges for software dependability assurance. As a result, there is urgent necessity to analyze the failure mechanism of these systems in order to ensure the dependability of complex software-intensive systems. Research indicates that because of the emerging new features, the failure mechanism of complex software-intensive systems is related closely to the system's runtime states and behaviors. But direct analysis of failure mechanism on actual complex software-intensive systems is costly and nearly impossible because of their large scale. So failure mechanism analysis was normally performed on abstract models of real systems. However, current modelling methods are insufficient for describing the system's internal interaction, software/hardware interaction behavior, runtime behavior comprehensively. So it is necessary to propose a new modelling method to support the description of these new features. This paper proposes a method for constructing runtime models for complex software-intensive systems which takes into consideration internal interaction behavior, interaction behavior between software and hardware on system boundary as well as dynamic runtime behavior. The proposed method includes a static structure model to describe the static structure property of the system, a software/hardware interaction model to describe the interaction characteristics between hardware and software on system boundary and a dynamic runtime behavior model to describe the dynamic features of runtime behavior formally. An example is provided to demonstrate how to use the proposed method and its implication for failure mechanism analysis in complex software-intensive systems is discussed.

[1]  M. Qasim Rafiq,et al.  New Paradigm for Software Reliability Estimation , 2012 .

[2]  Dawson R. Engler,et al.  KLEE: Unassisted and Automatic Generation of High-Coverage Tests for Complex Systems Programs , 2008, OSDI.

[3]  Benjamin A Carreras,et al.  Complex systems analysis of series of blackouts: cascading failure, critical points, and self-organization. , 2007, Chaos.

[4]  Peter H. Feiler AADL and model-based engineering , 2014 .

[5]  Cagatay Catal,et al.  Software fault prediction: A literature review and current trends , 2011, Expert Syst. Appl..

[6]  Radu Calinescu,et al.  Large-scale complex IT systems , 2011, Commun. ACM.

[7]  Barry Boehm,et al.  A view of 20th and 21st century software engineering , 2006, ICSE.

[8]  D. Smith,et al.  Engineering Systems of Systems , 2008, 2008 2nd Annual IEEE Systems Conference.

[9]  Douglas C. Schmidt,et al.  Ultra-large-scale systems , 2006, OOPSLA '06.

[10]  Hailin Li,et al.  A New Method for Modeling Complex Network Topology of Software Systems , 2013 .

[11]  Jeffrey C. Mogul,et al.  Emergent (mis)behavior vs. complex software systems , 2006, EuroSys.

[12]  Dawson R. Engler,et al.  Bugs as deviant behavior: a general approach to inferring errors in systems code , 2001, SOSP.

[13]  Doo-Hwan Bae,et al.  Automatic construction of timing diagrams from UML/MARTE models for real-time embedded software , 2014, SAC.

[14]  R.N. Charette,et al.  Why software fails [software failure] , 2005, IEEE Spectrum.

[15]  A. Barabasi,et al.  Scale-free characteristics of random networks: the topology of the world-wide web , 2000 .

[16]  Dawson R. Engler,et al.  A few billion lines of code later , 2010, Commun. ACM.

[17]  Capers Jones,et al.  Why software fails , 1996 .

[18]  Barry W. Boehm,et al.  Making a Difference in the Software Century , 2008, Computer.

[19]  Douglas C. Schmidt,et al.  Ultra-Large-Scale Systems: The Software Challenge of the Future , 2006 .

[20]  Zhibao Mian Model transformation for multi-objective architecture optimisation for dependable systems , 2014 .

[21]  Christopher R. Myers,et al.  Software systems as complex networks: structure, function, and evolvability of software collaboration graphs , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[22]  Dimitri N. Mavris,et al.  Software contributions to aircraft adverse events: Case studies and analyses of recurrent accident patterns and failure mechanisms , 2013, Reliab. Eng. Syst. Saf..

[23]  Jack Ferguson Crouching Dragon, Hidden Software: Software in DOD Weapon Systems , 2001, IEEE Softw..