Skip to main content
Log in

Pushing requirements changes through to changes in specifications

  • Research Article
  • Published:
Frontiers of Computer Science in China Aims and scope Submit manuscript

Abstract

Requirements changes can occur both during and after a phase of development for a variety of reasons, including error correction and feature changes. It is difficult and intensive work to integrate requirements changes made after specification is completed. Sequence-based specification was developed to convert ordinary functional software requirements into complete, consistent, and traceably correct specifications through a constructive process. Algorithms for managing requirements changes meet a very great need in field application of the sequence-based specification method. In this paper we propose to capture requirements changes as a series of atomic changes in specifications, and present polynomial-time algorithms for managing these changes. The algorithms are built into the tool support 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. All our change algorithms are supported by rigorous mathematical formulation and proof of correctness. The application example is a safe controller.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Prowell S J, Poore J H. Sequence-based software specification of deterministic systems. Software-Practice and Experience, 1998, 28(3): 329–344

    Article  Google Scholar 

  2. Prowell S J, Poore J H. Foundations of sequence-based software specification. IEEE Transactions on Software Engineering, 2003, 29(5): 417–429

    Article  Google Scholar 

  3. Mills H D. The new math of computer programming. Communications of the ACM, 1975, 18(1): 43–48

    Article  MATH  MathSciNet  Google Scholar 

  4. Mills H D. Stepwise refinement and verification in box-structured systems. IEEE Computer, 1988, 21(6): 23–36

    MathSciNet  Google Scholar 

  5. Prowell S J, Trammell C J, Linger R C, et al. Cleanroom Software Engineering: Technology and Process. Addison-Wesley-Longman, 1999

  6. Bauer T, Beletski T, Boehr F, et al. From requirements to automated testing of quasar aussenspiegeleinstellung. Technical Report 007.07E, Fraunhofer Institute for Experimental Engineering, 2007

  7. Lin L. Management of Requirements Changes in Sequence-Based Software Specifications. Dissertation for the Doctoral Degree. University of Tennessee, 2006. http://sqrl.cs.utk.edu/btw/files/lin.pdf

  8. Hopcroft J E, Ullman J D. Introduction to Automata Theory, Languages, and Computation. Addison-Wesley, 1979

  9. Lin L, Prowell S J, Poore J H. Management of requirements changes in sequence-based specifications. Technical Report utcs-07-588, University of Tennessee, 2007

  10. Buren J, Cook D. Experiences in the adoption of requirements engineering technologies. Crosstalk: The Journal of Defense Software Engineering, 1998, December: 3–10

  11. Davis A. Software Requirements: Analysis and Specification. Prentice-Hall, 1989

  12. Harker S, Eason K, Dobson J. The change and evolution of requirements as a challenge to the practice of software engineering. In: Proceedings of the IEEE International Symposium on Requirements Engineering, 1993, 266–272

  13. Jones C. Strategies for managing requirements creep. IEEE Computer, 1996, 29(6): 92–94

    Google Scholar 

  14. Lavazza L, Valetto G. Enhancing requirements and change management through process modeling and measurement. In: Proceedings of the Fourth International Conference on Requirements Engineering, 2000, 106–115

  15. Nurmuliani N, Zowghi D, Williams S. Requirements volatility and its impact on change effort: Evidence-based research in software development projects. In: Proceedings of the Eleventh Australian Workshop on Requirements Engineering, 2006

  16. Kobayashi A, Maekawa M. Need-based requirements change management. In: Proceedings of the Eighth Annual IEEE International Conference and Workshop on Engineering of Computer-Based Systems, 2001, 171–178

  17. Ajila S. Software maintenance: An approach to impact analysis of objects change. Software-Practice and Experience, 1995, 25(10): 1155–1181

    Article  Google Scholar 

  18. Lee M, Offutt A, Alexander R. Algorithmic analysis of the impacts of changes to object-oriented software. In: Proceedings of the Thirty-Fourth International Conference on Technology of Object-Oriented Languages and Systems, 2000, 61–70

  19. Moriconi M, Winkley T. Approximate reasoning about the effects of program changes. IEEE Transactions on Software Engineering, 1990, 16(9): 980–992

    Article  Google Scholar 

  20. Ren X, Barbara G, Maximilian S, et al. Chianti: A change impact analysis tool for Java programs. In: Proceedings of the Twenty-Seventh International Conference on Software Engineering, 2005, 61–70

  21. Lock S, Kotonya G. An integrated, probabilistic framework for requirements change impact analysis. Australian Journal of Information Systems, 1999, 6(2): 38–63

    Google Scholar 

  22. Korel B, Tahat L H. Understanding modifications in statebased models. In: Proceedings of the Twelfth IEEE International Workshop on Program Comprehension. IEEE Computer Society Press, 2004.

  23. Seawright A, Brewer F. Clairvoyant: A synthesis system for production-based specification. IEEE Transactions on VLSI Systems, 1994, 2(2): 172–185

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lan Lin.

Additional information

Software Quality Research Lab, Department of Electrical Engineering and Computer Science, University of Tennessee at Knoxville, http://www.cs.utk.edu/sqrl/

Rights and permissions

Reprints and permissions

About this article

Cite this article

Lin, L., Poore, J.H. Pushing requirements changes through to changes in specifications. Front. Comput. Sci. China 2, 331–343 (2008). https://doi.org/10.1007/s11704-008-0034-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11704-008-0034-7

Keywords

Navigation