Abstract
Requirements evolution is a research problem that has received little attention hitherto, but deserves much more. For systems to survive in a volatile world, where business needs, government regulations and computing platforms keep changing, software systems must evolve too in order to survive. We discuss the state-of-the-art for research on the topic, and predict some of the research problems that will need to be addressed in the next decade. We conclude with a concrete proposal for a run-time monitoring framework based on (requirements) goal models.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Lubars, M., Potts, C., Richter, C.: A review of the state-of-practice in requirements modelling. In: Intl. Symp. on Requirements Engineering, San Diego, CA (January 1993)
Wang, Y., McIlraith, S., Yu, Y., Mylopoulos, J.: An automated approach to monitoring and diagnosing requirements. In: International Conference on Automated Software Engineering (ASE 2007), Atlanta, GA (October 2007)
Lehman, M.: On understanding laws, evolution, and conservation in the large-program life cycle. Journal of Systems and Software 1, 213–221 (1980)
Brooks, F.: The mythical man-month. Addison-Wesley, Reading (1975)
Fernandez-Ramil, J., Perry, D., Madhavji, N.H. (eds.): Software Evolution and Feedback: Theory and Practice, 1st edn. Wiley, Chichester (2006)
Gîrba, T., Ducasse, S.: Modeling history to analyze software evolution. Journal of Software Maintenance and Evolution: Research and Practice 18(3), 207–236 (2006)
Xing, Z., Stroulia, E.: UMLDiff: an algorithm for objectoriented design di erencing. In: Intl. Conf. on Automated Software Engineering, Long Beach, CA, USA, pp. 54–65 (2005)
Basili, V.R., Weiss, D.M.: Evaluation of a software requirements document by analysis of change data. In: Intl. Conf. on Software Engineering, San Diego, USA, pp. 314–323 (1981)
Basili, V.R., Perricone, B.T.: Software errors and complexity: An empirical investigation. Commun. ACM 27(1), 42–52 (1984)
Harker, S.D.P., Eason, K.D., Dobson, J.E.: The change and evolution of requirements as a challenge to the practice of software engineering. In: IEEE International Symposium on Requirements Engineering, pp. 266–272 (1993)
Rajlich, V.T., Bennett, K.H.: A staged model for the software life cycle. IEEE Computer 33(7), 66–71 (2000)
Lientz, B.P., Swanson, B.E.: Software Maintenance Management: A Study of the Maintenance of Computer Application Software in 487 Data Processing Organizations. Addison-Wesley, Reading (1980)
Rowe, D., Leaney, J., Lowe, D.: De ning systems evolvability - a taxonomy of change. In: International Conference and Workshop: Engineering of Computer-Based Systems, Maale Hachamisha, Israel, p. 45+ (1998)
Vicente, K.J.: Ecological interface design: Progress and challenges. Human Factors 44, 62–78 (2002)
Favre, J.-M.: Meta-model and model co-evolution within the 3d software space. In: Intl. Workshop on Evolution of Large-scale Industrial Software Applications at ICSM, Amsterdam (September 2003)
Swanson, B.E.: The dimensions of maintenance. In: Intl. Conf. on Software Engineering, San Francisco, California, pp. 492–497 (1976)
Svensson, H., Host, M.: Introducing an agile process in a software maintenance and evolution organization. In: European Conference on Software Maintenance and Reengineering, Manchester, UK, March 2005, pp. 256–264 (2005)
Nelson, K.M., Nelson, H.J., Ghods, M.: Technology exibility: conceptualization, validation, and measurement. In: International Conference on System Sciences, Hawaii, vol. 3, pp. 76–87 (1997)
Buckley, J., Mens, T., Zenger, M., Rashid, A., Kniesel, G.: Towards a taxonomy of software change. Journal of Software Maintenance and Evolution: Research and Practice 17(5), 309–332 (2005)
Chapin, N., Hale, J.E., Fernandez-Ramil, J., Tan, W.-G.: Types of software evolution and software maintenance. Journal of Software Maintenance and Evolution: Research and Practice 13(1), 3–30 (2001)
Felici, M.: Taxonomy of evolution and dependability. In: Proceedings of the Second International Workshop on Unanticipated Software Evolution, USE 2003, Warsaw, Poland, April 2003, pp. 95–104 (2003)
Felici, M.: Observational Models of Requirements Evolution. PhD thesis, University of Edinburgh (2004), http://homepages.inf.ed.ac.uk/mfelici/doc/IP040037.pdf
Sommerville, I., Sawyer, P.: Requirements Engineering: A Good Practice Guide. John Wiley & Sons, New York (1997)
Lam, W., Loomes, M.: Requirements evolution in the midst of environmental change: A managed approach. In: Euromicro. Conf. on Software Maintainance and Reengineering, Florence, Italy, March 1998, pp. 121–127 (1998)
Stark, G., Skillicorn, A., Ameele, R.: An examination of the e ects of requirements changes on software releases. Crosstalk: Journal of Defence Software Engineering, 11–16 (December 1998)
Lormans, M., van Dijk, H., van Deursen, A., Nocker, E., de Zeeuw, A.: Managing evolving requirements in an outsourcing context: an industrial experience report. In: International Workshop on Principles of Software Evolution, pp. 149–158 (2004)
Wiegers, K.E.: Automating requirements management. Software Development Magazine 7(7) (July 1999)
Roshandel, R., Van Der Hoek, A., Mikic-Rakic, M., Medvidovic, N.: Mae – a system model and environment for managing architectural evolution. ACM Trans. Softw. Eng. Methodol. 13(2), 240–276 (2004)
Yu, Y., Wang, Y., Mylopoulos, J., Liaskos, S., Lapouchnian, A.: Reverse engineering goal models from legacy code. In: International Conference on Requirements Engineering, Paris, pp. 363–372 (September 2005)
Niu, N., Easterbrook, S., Sabetzadeh, M.: A categorytheoretic approach to syntactic software merging. In: 21st IEEE International Conference on Software Maintenance (ICSM 2005), Budapest, Hungary (September 2005)
Berry, D.M., Cheng, B.H.C., Zhang, J.: The four levels of requirements engineering for and in dynamic adaptive systems. In: International Workshop on Requirements Engineering: Foundation for Software Quality, Porto, Portugal (June 2005)
Liaskos, S.: Acquiring and Reasoning about Variability in Goal Models. PhD thesis, University of Toronto (2008)
Jureta, I., Faulkner, S., Thiran, P.: Dynamic requirements specification for adaptable and open service-oriented systems. In: Krämer, B.J., Lin, K.-J., Narasimhan, P. (eds.) ICSOC 2007. LNCS, vol. 4749, pp. 270–282. Springer, Heidelberg (2007)
Etien, A., Salinesi, C.: Managing requirements in a co-evolution context. In: 13th IEEE International Conference on Requirements Engineering, Paris, pp. 125–134 (September 2005)
Boehm, B.: Some future trends and implications for systems and software engineering processes. Systems Engineering 9(1), 1–19 (2006)
Yang, Y., Bhuta, J., Boehm, B., Port, D.N.: Value-based processes for cots-based applications. IEEE Software 22(4), 54–62 (2005)
Nuseibeh, B.: Weaving together requirements and architectures. IEEE Computer 34(3), 115–119 (2001)
Gotel, O.C.Z., Finkelstein, C.W.: An analysis of the requirements traceability problem. In: International Conference on Requirements Engineering, pp. 94–101 (1994)
Fickas, S., Feather, M.S.: Requirements monitoring in dynamic environments. In: RE 1995: Proceedings of the Second IEEE International Symposium on Requirements Engineering, Washington, DC, USA (1995)
Feather, M.S., Fickas, S., van Lamsweerde, A., Ponsard, C.: Reconciling system requirements and runtime behaviour. In: Ninth IEEE International Workshop on Software Specification and Design (IWSSD-9), Isobe, JP, pp. 50–59 (1998)
Cleland-Huang, J., Settimi, R., BenKhadra, O., Berezhanskaya, E., Christina, S.: Goal-centric traceability for managing non-functional requirements. In: Intl. Conf. Software Engineering, St. Louis, MO, USA, pp. 362–371 (2005)
Ramesh, B., Jarke, M.: Toward reference models for requirements traceability. IEEE Transactions on Software Engineering 27(1), 58–93 (2001)
Kephart, J., Chess, D.: The vision of autonomic computing. IEEE Computer 36(1) (January 2003)
Cleland-Huang, J., Chang, C.K., Christensen, M.: Event-based traceability for managing evolutionary change. Transactions on Software Engineering 29(9), 796–810 (2003)
Cleland-Huang, J., Settimi, R., Zou, X., Solc, P.: Automated classi cation of non-functional requirements. Requirements Engineering 12(2), 103–120 (2007)
Breaux, T., Antón, A.: Analyzing goal semantics for rights, permissions, and obligations. In: International Requirements Engineering Conference, Paris, France, pp. 177–186 (August 2005)
Siena, A., Maiden, N., Lockerbie, J., Karlsen, K., Perini, A., Susi, A.: Exploring the effectiveness of normative i* modelling: Results from a case study on food chain traceability. In: Bellahsène, Z., Léonard, M. (eds.) CAiSE 2008. LNCS, vol. 5074, pp. 182–196. Springer, Heidelberg (2008)
Ramadge, P., Wonham, M.: Supervisory control of a class of discreteevent systems. SIAM J. of Control and Optimization 25(1), 206–230 (1987)
Darwin, C.: On the Origin of Species by Means of Natural Selection. Murray, London (1859)
Svahnberg, M., van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw. Pract. Exper. 35(8), 705–754 (2005)
Kang, K.C., Kim, S., Lee, J., Kim, K.: Form: A feature-oriented reuse method. Annals of Software Engineering 5, 143–168 (1998)
Desai, N., Chopra, A.K., Singh, M.P.: Amoeba: A methodology for requirements modeling and evolution of crossorganizational business processes. Transactions on Software Engineering and Methodology (submitted, 2008)
Rommes, E., America, P.: A scenario-based method for software product line architecting. In: Käkölä, T., Dueñas, J.C. (eds.) Software Product Lines - Research Issues in Engineering and Management, Berlin, pp. 3–52 (2006)
Kau, S.A.: The Origins of Order: Self-Organization and Selection in Evolution. Oxford University Press, Oxford (1993)
Su, N., Mylopoulos, J.: Evolving organizational information systems with tropos. In: Conference on Advanced Information Systems Engineering (2006)
Simon, H.A.: The Sciences of the Artificial, 3rd edn. MIT Press, Cambridge (1996)
Dennett, D.C.: Darwin’s Dangerous Idea: Evolution and the Meanings of Life. Simon & Schuster, New York (1995)
Feather, M.S.: Rapid application of lightweight formal methods for consistency analysis. IEEE Trans. Softw. Eng. 24(11), 948–959 (1998)
Robinson, W.N.: A requirements monitoring framework for enterprise systems. Requirements Engineering Journal 11, 17–41 (2006)
Dardenne, A., van Lamsweerde, A., Fickas, S.: Goal-directed requirements acquisition. Science of Computer Programming 20(1-2), 3–50 (1993)
McIlraith, S.: Explanatory diagnosis: Conjecturing actions to explain observations. In: International Conference on Principles of Knowledge Representation and Reasoning (KR 1998), Trento, Italy, June 1998, pp. 167–179 (1998)
Mylopoulos, J., Chung, L., Nixon, B.: Representing and using non-functional requirements: A process-oriented approach. IEEE Transactions on Software Engineering 18(6), 483–497 (1992)
Giorgini, P., Mylopoulos, J., Nicchiarelli, E., Sebastiani, R.: Reasoning with goal models. In: Spaccapietra, S., March, S.T., Kambayashi, Y. (eds.) ER 2002. LNCS, vol. 2503, pp. 167–181. Springer, Heidelberg (2002)
Davis, M., Logemann, G., Loveland, D.: A machine program for theorem proving. Journal of ACM 5, 394–397 (1962)
Moskewicz, M.W., Madigan, C.F., Zhao, Y., Zhang, L., Malik, S.: Chaff: engineering an efficient sat solver. In: Design Automation Conference, Las Vegas, pp. 530–535 (June 2001)
Goldberg, E., Novikov, Y.: Berkmin: A fast and robust sat-solver. In: Conference on Design, Automation and Test in Europe (DATE), Paris, pp. 142–149 (March 2002)
Ryan, L.: Efficient algorithms for clause-learning SAT solvers. Master’s thesis, Simon Fraser University (2004)
Le Berre, D.: A satisfiability library for java (2007), http://www.sat4j.org/
Reiter, R.: A theory of diagnosis from first principles. Artificial Intelligence 32(1), 57–95 (1987)
De Kleer, J., Mackworth, A.K., Reiter, R.: Characterizing diagnoses and systems. Artificial Intelligence 56(2-3), 197–222 (1992)
Castello, R.: Squirrel mail (2007), http://www.squirrelmail.org/
Bjork, R.: An example of object-oriented design: an atm simulation (2007), http://www.cs.gordon.edu/courses/cs211/ATMExample/index.html/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2009 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ernst, N.A., Mylopoulos, J., Wang, Y. (2009). Requirements Evolution and What (Research) to Do about It. In: Lyytinen, K., Loucopoulos, P., Mylopoulos, J., Robinson, B. (eds) Design Requirements Engineering: A Ten-Year Perspective. Lecture Notes in Business Information Processing, vol 14. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-92966-6_11
Download citation
DOI: https://doi.org/10.1007/978-3-540-92966-6_11
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-92965-9
Online ISBN: 978-3-540-92966-6
eBook Packages: Computer ScienceComputer Science (R0)