Scopira: an open source C++ framework for biomedical data analysis applications

Requirements change both during and after a phase of development for a variety of reasons, including error correction and feature changes. Requirements change management is one of the most complex and difficult problems to deal with in requirements elicitation and tracking. It is generally not understood how a specific change propagates through the specification and into the code. In this paper we capture requirements changes as series of atomic changes in specifications. Using a rigorous specification method called sequence-based specification, we propose a set of algorithms for managing all possible atomic requirements changes. The algorithms have been formulated within an axiom system for sequence-based specification and proven for correctness. They have also been implemented in a prototype tool with which users are able to push requirements changes through to changes in specifications, maintain old specifications over time and evolve them into new specifications with the least amount of human interaction and rework. The approach of utilizing state machines to model and manage requirements changes guarantees strong evidence about the correctness and completeness of the proposed theory that will lead to more reliable software in the presence of change, especially with embedded systems and safety-critical systems. The solution described is general enough for adoption by software and system developers, and well suited for incremental development. Copyright © 2008 John Wiley & Sons, Ltd.

[1]  Harlan D. Mills,et al.  Trace: Tennessee Research and CreativeExchange , 2022 .

[2]  Mamoru Maekawa,et al.  Need-based requirements change management , 2001, Proceedings. Eighth Annual IEEE International Conference and Workshop On the Engineering of Computer-Based Systems-ECBS 2001.

[3]  Aziz Deraman,et al.  A Software Traceability Validation For Change Impact Analysis of Object Oriented Software , 2006, Software Engineering Research and Practice.

[4]  Janusz A. Brzozowski Representation of a class of nondeterministic semiautomata by canonical words , 2006, Theor. Comput. Sci..

[5]  Luigi Lavazza,et al.  Enhancing requirements and change management through process modelling and measurement , 2000, Proceedings Fourth International Conference on Requirements Engineering. ICRE 2000. (Cat. No.98TB100219).

[6]  C. Jones,et al.  Strategies for managing requirements creep , 1996 .

[7]  Stacy J. Prowell,et al.  SEQUENCE-BASED SPECIFICATION OF CRITICAL SOFTWARE SYSTEMS , 2004 .

[8]  M. R. Strens,et al.  Change analysis: a step towards meeting the challenge of changing requirements , 1996, Proceedings IEEE Symposium and Workshop on Engineering of Computer-Based Systems.

[9]  A. Jefferson Offutt,et al.  Algorithmic analysis of the impacts of changes to object-oriented software , 2000, Proceedings. 34th International Conference on Technology of Object-Oriented Languages and Systems - TOOLS 34.

[10]  Lionel C. Briand,et al.  Impact analysis and change management of UML models , 2003, International Conference on Software Maintenance, 2003. ICSM 2003. Proceedings..

[11]  David Lorge Parnas,et al.  Using assertions about traces to write abstract specifications for software modules , 1978, ECI.

[12]  Ying Zou,et al.  Supporting Change Impact Analysis for Service Oriented Business Applications , 2007, International Workshop on Systems Development in SOA Environments (SDSOA'07: ICSE Workshops 2007).

[13]  Samuel Ajila,et al.  Software maintenance: An approach to impact analysis of objects change , 1995, Softw. Pract. Exp..

[14]  Stacy J. Prowell,et al.  Foundations of Sequence-Based Software Specification , 2003, IEEE Trans. Software Eng..

[15]  Janusz A. Brzozowski,et al.  Derivatives of Regular Expressions , 1964, JACM.

[16]  Stacy J. Prowell,et al.  Sequence‐based software specification of deterministic systems , 1998 .

[17]  Ryszard Janicki,et al.  Foundations of the Trace Assertion Method of Module Interface Specification , 2001, IEEE Trans. Software Eng..

[18]  Jameleddine Hassine,et al.  Change impact analysis for requirement evolution using use case maps , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[19]  Philippa J. Hopcroft,et al.  Academia and industry meet: some experiences of formal methods in practice , 2003, Tenth Asia-Pacific Software Engineering Conference, 2003..

[20]  Barry W. Boehm,et al.  Improving Software Productivity , 1987, Computer.

[21]  Jesse H. Poore,et al.  Management of requirements changes in sequence-based software specifications , 2006 .

[22]  Timothy C. Winkler,et al.  Approximate Reasoning About the Semantic Effects of Program Changes , 1990, IEEE Trans. Software Eng..

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

[24]  Helmut Jürgensen,et al.  Errata: "representation of Semiautomata by Canonical Words and Equivalences" , 2006, Int. J. Found. Comput. Sci..

[25]  Stacy J. Prowell,et al.  Cleanroom software engineering: technology and process , 1999 .

[26]  Harlan D. Mills,et al.  Stepwise refinement and verification in box-structured systems , 1988, Computer.

[27]  Bogdan Korel,et al.  Understanding modifications in state-based models , 2004, Proceedings. 12th IEEE International Workshop on Program Comprehension, 2004..

[28]  S.D.P. Harker,et al.  The change and evolution of requirements as a challenge to the practice of software engineering , 1993, [1993] Proceedings of the IEEE International Symposium on Requirements Engineering.

[29]  Philippa J. Hopcroft,et al.  Combining the Box Structure Development Method and CSP for Software Development , 2005, Electron. Notes Theor. Comput. Sci..

[30]  Constance L. Heitmeyer,et al.  Software Cost Reduction , 2002 .

[31]  Susan P. Williams,et al.  Requirements volatility & its impact on change effort: Evidence based research n software development projects , 2006 .

[32]  Gerald Kotonya,et al.  An Integrated, Probabilistic Framework for Requirement Change Impact Analysis , 1999, Australas. J. Inf. Syst..

[33]  Andrew Seawright,et al.  Clairvoyant: a synthesis system for production-based specification , 1994, IEEE Trans. Very Large Scale Integr. Syst..

[34]  Shawn A. Bohner,et al.  Impact analysis in the software change process: a year 2000 perspective , 1996, 1996 Proceedings of International Conference on Software Maintenance.

[35]  Helmut Jürgensen,et al.  Representation of Semiautomata by Canonical Words and Equivalences, Part II: Specification of Software Modules , 2007, Int. J. Found. Comput. Sci..