Hidden Implementation Dependencies in High Assurance and Critical Computing Systems

Critical and catastrophic failures in high assurance and critical computing systems can arise from unfounded assumptions of independence between system components, requirements, and constraints (work product sections), which can stem from misunderstandings and miscommunication between system engineers, managers, and operators and from inadequate or incomplete traceability between system work products. In this article, we propose a formal framework for the effective implementation of traceability between work product sections along with a technique for discovering potential causes of critical failures in high assurance and critical computing system models. We introduce a new abstraction of interrelated work product sections called implementation meta-work product and describe how our technique finds these meta-work products. We also demonstrate how this technique can be used to help analysts discover potential causes of safety-related errors in high assurance and critical computing systems by applying it to one case study of a known critical error and to one case study where we anticipate potential safety hazards

[1]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[2]  Giuliano Antoniol,et al.  Design-code traceability recovery: selecting the basic linkage properties , 2001, Sci. Comput. Program..

[3]  Giuliano Antoniol,et al.  Identifying design-code inconsistencies in object-oriented software: a case study , 1998, Proceedings. International Conference on Software Maintenance (Cat. No. 98CB36272).

[4]  Jane Huffman Hayes,et al.  Advancing candidate link generation for requirements tracing: the study of methods , 2006, IEEE Transactions on Software Engineering.

[5]  Jane Huffman Hayes,et al.  Improving requirements tracing via information retrieval , 2003, Proceedings. 11th IEEE International Requirements Engineering Conference, 2003..

[6]  Giuliano Antoniol,et al.  Recovering Traceability Links between Code and Documentation , 2002, IEEE Trans. Software Eng..

[7]  Raffaella Settimi,et al.  Supporting software evolution through dynamically retrieving traces to UML artifacts , 2004, Proceedings. 7th International Workshop on Principles of Software Evolution, 2004..

[8]  Nancy G. Leveson,et al.  Designing specification languages for process control systems: lessons learned and steps to the future , 1999, ESEC/FSE-7.

[9]  Olly Gotel,et al.  An analysis of the requirements traceability problem , 1994, Proceedings of IEEE International Conference on Requirements Engineering.

[10]  Kostas Kontogiannis,et al.  Towards portable source code representations using XML , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[11]  Wolfgang Emmerich,et al.  Consistency management with repair actions , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[12]  Nancy G. Leveson,et al.  A systems-theoretic approach to safety in software-intensive systems , 2004, IEEE Transactions on Dependable and Secure Computing.

[13]  Ed Greengrass,et al.  Information Retrieval: A Survey , 2000 .

[14]  Giuliano Antoniol,et al.  Maintaining traceability links during object‐oriented software evolution , 2001, Softw. Pract. Exp..

[15]  Alexander Egyed,et al.  A Scenario-Driven Approach to Trace Dependency Analysis , 2003, IEEE Trans. Software Eng..

[16]  Alexander Egyed,et al.  Towards Understanding Implications of Trace Dependencies among Quality Requirements , 2003 .

[17]  Jean-Luc Hainaut,et al.  Data Dependency Elicitation in Database Reverse Engineering , 2001, CSMR.

[18]  Kenneth M. Anderson,et al.  Towards large-scale information integration , 2002, ICSE '02.

[19]  Andreas Winter,et al.  An Overview of the GXL Graph Exchange Language , 2001, Software Visualization.

[20]  Joseph A. Goguen,et al.  An Object-Oriented Tool for Tracing Requirements , 1996, IEEE Softw..

[21]  John C. Knight,et al.  Improving Communication of Critical Domain Knowledge in High-Consequence Software Development: an Em , 2003 .

[22]  Kenneth M. Anderson,et al.  Unifying structure, behavior, and data with themis types and templates , 2004, HYPERTEXT '04.

[23]  Raymond M. Smullyan,et al.  Theory of Formal Systems. (AM-47) , 1961 .

[24]  Joseph A. Goguen,et al.  Refinement of Concurrent Object Oriented Programs , 1995 .

[25]  Václav Rajlich,et al.  Hidden dependencies in program comprehension and change propagation , 2001, Proceedings 9th International Workshop on Program Comprehension. IWPC 2001.

[26]  Oussama Ben Khadra,et al.  Goal-centric traceability for managing non-functional requirements , 2005, Proceedings. 27th International Conference on Software Engineering, 2005. ICSE 2005..

[27]  Ronald Regan Basic Set Theory , 2000 .

[28]  Thomas Alan Tilley,et al.  Formal concept analysis applications to requirements engineering and design , 2003 .

[29]  H. Kopetz,et al.  Dependability: Basic Concepts and Terminology , 1992, Dependable Computing and Fault-Tolerant Systems.

[30]  Jonathan P. Bowen,et al.  System and Software Safety in Critical Systems , 1996 .

[31]  Mariusz A. Fecko,et al.  Improving the requirements engineering process for an electronic clearinghouse , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[32]  R. Smullyan Theory of formal systems , 1962 .

[33]  Brian Randell,et al.  Fundamental Concepts of Computer System Dependability , 2001 .

[34]  Hausi A. Müller,et al.  Integrating information sources for visualizing Java programs , 2001, Proceedings IEEE International Conference on Software Maintenance. ICSM 2001.

[35]  Jin Song Dong,et al.  A Formal Object Approach to the Design of ZML , 2002, Ann. Softw. Eng..

[36]  Emden R. Gansner,et al.  Drawing graphs with dot , 2006 .

[37]  Matthias Jarke,et al.  Toward Reference Models of Requirements Traceability , 2001, IEEE Trans. Software Eng..

[38]  John McLean,et al.  High Assurance Computer Systems: A Research Agenda , 1995 .

[39]  Robyn R. Lutz,et al.  Empirical analysis of safety-critical anomalies during operations , 2004, IEEE Transactions on Software Engineering.

[40]  Giuliano Antoniol,et al.  Recovering code to documentation links in OO systems , 1999, Sixth Working Conference on Reverse Engineering (Cat. No.PR00303).

[41]  D. Gabbay,et al.  Inconsistency Handling in Multiperspective Specifications , 1994 .

[42]  Nancy G. Leveson,et al.  Integrated safety analysis of requirements specifications , 2008, Requirements Engineering.

[43]  Emden R. Gansner,et al.  An open graph visualization system and its applications to software engineering , 2000, Softw. Pract. Exp..

[44]  J. C. Knight Specification and Analysis of Data for Safety-Critical Systems , 2001 .

[45]  Jim Alves-Foss,et al.  Experiments in the use of XML to enhance traceability between object-oriented design specifications and source code , 2002, Proceedings of the 35th Annual Hawaii International Conference on System Sciences.

[46]  Andrian Marcus,et al.  Recovering documentation-to-source-code traceability links using latent semantic indexing , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[47]  Kenneth M. Anderson,et al.  A Framework for Mapping Traceability Relationships , 2003 .

[48]  Nancy G. Leveson,et al.  An analysis of causation in aerospace accidents , 2001, 20th DASC. 20th Digital Avionics Systems Conference (Cat. No.01CH37219).

[49]  Klaus Pohl,et al.  Process-Centered Requirements Engineering , 1996 .

[50]  Robyn R. Lutz,et al.  Analyzing software requirements errors in safety-critical, embedded systems , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[51]  Carl K. Chang,et al.  Event-Based Traceability for Managing Evolutionary Change , 2003, IEEE Trans. Software Eng..

[52]  Boris Motik,et al.  Query Answering for OWL-DL with Rules , 2004, SEMWEB.

[53]  Nancy G. Leveson,et al.  Evaluating Accident Models Using Recent Aerospace Accidents, Part 1: Event-Based Models , 2001 .

[54]  Nancy G. Leveson,et al.  Role of Software in Spacecraft Accidents , 2004 .

[55]  Giuliano Antoniol,et al.  Maintaining traceability during object-oriented software evolution: a case study , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[56]  Thomas Tilley,et al.  Towards an FCA based tool for visualising formal specifications , 2003 .

[57]  Scott A. Selberg,et al.  Requirements Engineering and the Semantic Web , 2003 .

[58]  Giuliano Antoniol,et al.  Information retrieval models for recovering traceability links between code and documentation , 2000, Proceedings 2000 International Conference on Software Maintenance.

[59]  Giuliano Antoniol,et al.  Evolving object oriented design to improve code traceability , 1999, Proceedings Seventh International Workshop on Program Comprehension.

[60]  Martin S. Feather,et al.  ICSE 2003 workshop on software engineering for high assurance systems: synergies between process, product, and profiling (SEHAS 2003) , 2003, 25th International Conference on Software Engineering, 2003. Proceedings..

[61]  Jim Alves-Foss,et al.  Experiments on processing and linking semantically augmented requirement specifications , 2004, 37th Annual Hawaii International Conference on System Sciences, 2004. Proceedings of the.

[62]  Giuliano Antoniol,et al.  Design‐code traceability for object‐oriented systems , 2000, Ann. Softw. Eng..

[63]  Giuliano Antoniol,et al.  Traceability recovery by modeling programmer behavior , 2000, Proceedings Seventh Working Conference on Reverse Engineering.

[64]  R. McClelland,et al.  The self and its brain. , 1990, The Ulster medical journal.

[65]  Nancy G. Leveson Intent Specifications: An Approach to Building Human-Centered Specifications , 2000, IEEE Trans. Software Eng..

[66]  Jim Alves-Foss,et al.  Merging Safety and Assurance : The Process of Dual Certification for Software , 2002 .

[67]  Jayakanth Srinivasan,et al.  A Safety and Human-Centered Approach to Developing New Air Traffic Management Tools , 2001 .

[68]  Jane Cleland-Huang,et al.  Utilizing supporting evidence to improve dynamic requirements traceability , 2005, 13th IEEE International Conference on Requirements Engineering (RE'05).

[69]  Greg J. Badros JavaML: a markup language for Java source code , 2000, Comput. Networks.

[70]  Bill Curtis,et al.  A field study of the software design process for large systems , 1988, CACM.

[71]  Jane Cleland-Huang,et al.  Toward improved traceability of non-functional requirements , 2005, TEFSE '05.

[72]  Klaus Pohl,et al.  PRO-ART: enabling requirements pre-traceability , 1996, Proceedings of the Second International Conference on Requirements Engineering.

[73]  Wolfgang Emmerich,et al.  Static consistency checking for distributed specifications , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[74]  Alexander Egyed,et al.  A scenario-driven approach to traceability , 2001, Proceedings of the 23rd International Conference on Software Engineering. ICSE 2001.

[75]  Licia Capra,et al.  xlinkit: a consistency checking and smart link generation service , 2002, TOIT.

[76]  Peter Becker,et al.  A Survey of Formal Concept Analysis Support for Software Engineering Activities , 2005, Formal Concept Analysis.

[77]  Giuliano Antoniol,et al.  Tracing object-oriented code into functional requirements , 2000, Proceedings IWPC 2000. 8th International Workshop on Program Comprehension.

[78]  Robert I. Damper,et al.  Editorial for the Special Issue on 'Emergent Properties of Complex Systems': Emergence and levels of abstraction , 2000, Int. J. Syst. Sci..

[79]  Nancy G. Leveson Completeness in formal specification language design for process-control systems , 2000, FMSP '00.

[80]  Ethan V. Munson,et al.  Using a Hypertext Model for Traceability Link Conformance Analysis , 2003 .

[81]  R. Bell,et al.  IEC 61508: functional safety of electrical/electronic/ programme electronic safety-related systems: overview , 1999 .

[82]  Nancy G. Leveson,et al.  A Systems Theoretic Approach to Safety Engineering , 2003 .

[83]  Bernhard Ganter,et al.  Formal Concept Analysis: Mathematical Foundations , 1998 .

[84]  Wolfgang Emmerich,et al.  Flexible consistency checking , 2003, TSEM.

[85]  John Rushby,et al.  Critical system properties: survey and taxonomy , 1994 .

[86]  Carl E. Landwehr,et al.  Basic concepts and taxonomy of dependable and secure computing , 2004, IEEE Transactions on Dependable and Secure Computing.