ABSTRACT
Research on software evolution focuses on one hand on empirical investigations studying changes in long-living software systems, on the other hand on methods and tools, how such evolutionary behaviour of software can be controlled or supported.This paper departs from the observation that the empirical work and the tool- or methods-builder's work are quite often only obliquely related. Too often, the two camps depart from a token-semantics of the word evolution. However, by ignoring the precise meanings of the words software and system, chances for misunderstandings are high. Therefore, an attempt to sharpen semantics of these three terms is made by stratifying their scope. On the basis of these sharpened definitions, some exemplary attempts for dealing with Software Evolution are mentioned..
- Anton A. I., Potts C: "Functional Paleontology: System Evolution as the User Sees It"; Proc. 23rd ICSE, IEEE-CS Press, 2001, pp. 421-430.]] Google ScholarDigital Library
- Baker M. J., Eick S. G.: "Visualizing Software Systems"; Proc. 16th ICSE, IEEE-CS Press, 1994, pp. 59-67.]] Google ScholarDigital Library
- Balzer B. et al. (eds): Proc "International Workshop on Principles of Software Evolution"; Kyoto, 1998.]]Google Scholar
- Belady L., Lehman M. M.: "A Model of Large Program Development", IBM Systems Journal 15 (1), 1976, pp. 225 - 252.]]Google ScholarDigital Library
- Bennett K. H., Rajlich V. T.: "Software Maintenance and Evolution: A Roadmap"; in Finkelstein A. (ed.): "The Future of Software Engineering 2000"; acm press, 2000, pp. 73 - 87.]] Google ScholarDigital Library
- Gall H., Jazayeri M., Riva C.: "Visualizing software release histories: The use of color and third dimension"; International Conference on Software Maintenance (ICSM '99), IEEE-CS press, 1999, pp. 99-108.]] Google ScholarDigital Library
- Halstead M.: "Elements of Software Science"; Elsevier North Holland, 1977.]] Google ScholarDigital Library
- Hofstadter D. R.: "Gödel, Escher, Bach: an Eternal Golden Braid"; Basic Books, New York, 1979.]] Google ScholarDigital Library
- Kaschek R.: "Konzeptionelle Modellierung"; Zürich, April 2001.]]Google Scholar
- Lehman M. M.: "The Funnel: A Software Unit or Function Channel"; CCD Research Report, Vol. 77, Nr. 29, Imperial College, 1977.]]Google Scholar
- Lehman M. M.: "Programs, Life Cycles and Laws of Software Evolution"; Proceedings of the IEEE, Vol. 68 (9), Sept. 1980, pp. 1060-1076.]]Google ScholarCross Ref
- Lehman M. M.: Program Evolution, Programming Processes, Programming Support"; Sonderdruck zu Sammer W., Morgenbrod H. (eds) "Programmierumgebung und Compiler", German Chapter of the ACM, Vol 18a, B. G. Teubner, 1984, Nr. 1.]]Google Scholar
- Lehman M. M., Belady L. A.: "Program evolution: Processes of Software Change"; Academic Press, London, 1985.]] Google ScholarDigital Library
- Lehman M. M., Wernick P.: "System Dynamic Models of Software Evolution Processes"; in {3}, pp. 6-10.]]Google Scholar
- Lehman M. M.: "Software System Maintenance and Evolution in an Era of Reuse, COTS, and Component-Based Systems"; keynote delivered at ICSM, Oxford, 1999.]]Google Scholar
- Mittermeir R. T.: "Semantic Nets for Modeling the Requirements of Evolvable Systems -- An Example"; in Hawgood J. (ed.): "Evolutionary Information Systems" Proc. IFIP TC-8, North-Holland Publ., 1982, pp. 193-216.]]Google Scholar
- Mittermeir R. T., Würfl L. G.: "Greedy reuse: Architectural Considerations for Extending the Reusability of Components"; Proc. 8th SEKE, KSI, 1996, pp. 434 - 441.]]Google Scholar
- Northrop L. M.: "Reuse that pays"; Proc. 23rd ICSE, IEEE-CS Press, 2001, pp. 667.]] Google ScholarDigital Library
- Parnas D. L.: "Software Aging"; Proc. 16th ICSE, IEEE-CS Press, 1994, pp. 279- 287.]] Google ScholarDigital Library
- Perry D. E., Wolf A. L.: "Foundations for the Study of Software Architectures"; acm SigSoft SEN, Vol. 17/4, Oct. 1992, pp. 40 - 52.]] Google ScholarDigital Library
- Perry D.: "Software Architecture: Leverage for System/Program Comprehension"; Proc. 9th IWPC, IEEE-CS press, 2001, p. 123.]] Google ScholarDigital Library
- Pirker H., Mittermeir R. T., Rauner-Reithmayer D.: "Service Channels -- Purpose and Tradeoffs"; Proc. 22nd Computer Software & Applications Conference, IEEE-CS press, 1998, pp. 204-211.]] Google ScholarDigital Library
- Rakic M., Medvidovic N.: "Increasing the Confidence in Off-the-Shelf Components: A Software Connector-Based Approach"; Proc. SSR'01, acm press, 2001, pp. 11-18.]] Google ScholarDigital Library
- Rossak W., Kirova V.: "A Development Process for Systems-of-Systems"; in: "Software Systems in Engineering", PD-Vol.67, ASME, 1995, pp. 195-198.]]Google Scholar
- Shannon C., Weaver W.: "The Mathematical Theory of Communication"; 8th ed. Urbana, 1959.]] Google ScholarDigital Library
- Siy H. P., Perry D. E.: "Challenges in Evolving a Large Scale Software Product"; in {3}, pp. 29-32.]]Google Scholar
- Tamai T., Nakatani T.: "An Empirical Study of Object Evolution Processes" in {3}, pp. 33-37.]]Google Scholar
- Wittgenstein L.: "Tractatus logico-philosophicus", Routledge & Kegan Paul Ltd., London, 1922.]] Google ScholarDigital Library
- Yeh R. T.: "System Development as a Wicked Problem"; International Journal of Software Engineering and Knowledge Engineering, Vol. 1 (2), June 1991, pp. 117-130.]]Google ScholarCross Ref
- Zemel T., Rossak W.: "Mega-Systems -- The Issue of Advanced Systems Development"; Proc. 2nd International Conference on Systems Integration; IEEE-CS press, June 1992, pp. 548-555.]]Google Scholar
Index Terms
- Software evolution: let's sharpen the terminology before sharpening (out-of-scope) tools
Recommendations
Software evolution: background, theory, practice
Special issue: Contribution to computing scienceThis paper opens with a brief summary of some 30 years of study of the software evolution phenomenon. The results of those studies include the SPE program classification, a principle of software uncertainty and laws of E-type software evolution. The ...
Software Maintenance versus Software Evolution: An Approach to Software Systems Evolution
ECBS '96: Proceedings of the IEEE Symposium and Workshop on Engineering of Computer Based SystemsSoftware development is traditionally conceived as a process where the software development team elaborates, implements and maintains executable models of Information Systems (in the broad sense). In this paper we present an evolutionary view of the ...
Evaluating Software Evolution Based on Pattern Mining
Internetware '17: Proceedings of the 9th Asia-Pacific Symposium on InternetwareSoftware systems need constantly maintaining or adapting to continuously meet the changing business requirements. The process of maintenance or adaptation is software evolution. In general, people hope to evaluate software evolution for guiding software ...
Comments