ABSTRACT
After briefly discussing the meaning of the term evolution in the context of software, its technology, the software process and related domains, the paper describes some of the facets and implications of the evolution phenomenon as identified during many years of active interest in the topic, most recently during the FEAST (Feedback, Evolution And Software Technology) projects.
- {abd91} T. K. Abdel-Hamid and S. E. Madnick, Software Project Dynamics -- An Integrated Approach, Prentice-Hall, Englewood Cliffs, NJ, 1991, 264 pps.]] Google ScholarDigital Library
- {ant01} A. Antón and C. Potts, Functional Paleontology: System Evolution as the User Sees It, ICSE 23, Toronto, 12-19 May, 2001, pp. 421 - 430]] Google ScholarDigital Library
- {apt86} K. R. Apt and D. Kozen, Limits for Automatic Program Verification of Finite-State Concurrent Systems, Inform. Proc. Letters, v. 22, n. 6, 1986]] Google ScholarDigital Library
- {bas96} V. R. Basili et al, Understanding and Predicting the Process of Software Maintenance Releases, ICSE 18, Berlin, March 25-29, 1996]] Google ScholarDigital Library
- {bel72} L. A. Belady and M. M. Lehman, An Introduction to Program Growth Dynamics, in W. Freiburger, editor, Statistical Computer Performance Evaluation, Academic Press, New York, 1972, pp. 503-511]]Google ScholarCross Ref
- {ben00} K. H. Bennett and V. T. Rajlich (2000), Software Maintenance and Evolution: a Roadmap, in A. Finkelstein (ed.), The Future of Software Engineering, ICSE 2000, June 4-11, 2000, Limerick, Ireland, ACM Order Nr. 592000-1, pp 75 - 87]] Google ScholarDigital Library
- {boe76} B. W. Boehm, Software Engineering, IEEE Trans. on Comp. vol. C-25, n. 12, pp. 1226 - 1241]]Google Scholar
- {boe88} id., A Spiral Model of Software Development and Enhancement, Computer, v. 21, May 1988, pp. 61-72]] Google ScholarDigital Library
- {cho81} C. K. S. Chong Hok Yuen (1981), Phenomenology of Program Maintenance and Evolution, PhD thesis, Department of Computing, Imperial College]]Google Scholar
- {SEEC02} Symposium on Software Evolution and Evolutionary Computation, U. of Hertfordshire, U.K, 7-8 Feb 2002, forthcoming]]Google Scholar
- {dij68a} E. W. Dijkstra, A Constructive Approach to the Problem of Program Correctness, BIT 8, 3, 1968, pp. 174 - 186]]Google ScholarCross Ref
- {dij68b} id., GOTO Statement Considered Harmful, Letter to the Editor, CACM, v. 11, n. 11, 1968, pp. 147 - 148]] Google ScholarDigital Library
- {dij72a} id., Notes on Structured Programming, in Dahl, Dijkstra and Hoare, Structured Programming, Acad. Pr. 1972, pp. 1 - 82]] Google ScholarDigital Library
- {dij72b} id., The Humble Programmer, ACM Turing Award Lecture, CACM, v. 15, n.10, Oct. 1972, pp. 859 - 866]] Google ScholarDigital Library
- {ele98} K. El Eman et al, SPICE: The Theory and Practice of Software Process Improvement and Capability Determination, IEEE CS Press, 1998]]Google Scholar
- {gri78} D. Gries, Programming Methodology--A Collection of Articles by Members of IFIP WG2.3, Springer V., NY, 1978, p. 437]] Google ScholarDigital Library
- {FFSE01} Intl. Session on Formal Foundations of Software Evolution. 13 March 2001, Lisbon, Portugal http://prog.vub.ac.be/poolresearch/FFSE/FFSE-Workshop.html]]Google Scholar
- {for61} J. W. Forrester, Industrial Dynamics, MIT Press, Cambridge, Mass., 1961]]Google Scholar
- {fow99} M. Fowler, Refactoring: Improving the Design of Code, Addison-Wesley, New York]]Google Scholar
- {gil81} T. Gilb, Evolutionary Development, ACM Softw. Eng. Notes, April, 1981]] Google ScholarDigital Library
- {gil88} id., Principles of Software Engineering Management, Addison-Wesley, Wokingham England, 1988]]Google Scholar
- {gdf00} M. W. Godfrey and Q. Tu, Evolution in Open Source Software: A Case Study, Proc. Intl. Conf. on Software Maintenance, ICSM 2000, 11-14 Oct., San Jose, CA, pp. 131-142]] Google ScholarDigital Library
- {har02} M. Hartswood et al, "Cunning Plans": Some Notes on Plans, Procedures and CSCW, RQ Newsletter, issue 25, Jan. 2002, http://www.resg.org.uk <as of Jan 2002>]]Google Scholar
- {hoa69} C. A. R. Hoare, An Axiomatic Basis for Computer Programming, CACM, v. 12, n.10, Oct., 1969, pp. 576 - 583]] Google ScholarDigital Library
- {hoa71} id., Proof of a Program FIND, CACM, v. 14, n. 1, Jan., 1971]] Google ScholarDigital Library
- {hum89} W. S. Humphrey, Managing the Software Process, Addison-Wesley, Reading, Mass., 1989]] Google ScholarDigital Library
- {hum97} id., Introduction to the Personal Software Process(SM), Addison-Wesley, Reading, Mass., 1997]] Google ScholarDigital Library
- {lac96} A. R. Lacey, A Dictionary of Philosophy, 3rd Ed., Routledge, London, 1996, 386 pps]]Google Scholar
- {kah01} G. Kahen et al, System Dynamics Modelling of Software Evolution Processes for Policy Investigation: Approach and Example, J. of Sys. and Softw., v. 59, 2001, pp. 271-281]]Google ScholarCross Ref
- {kem99} C. F. Kemerer and S. Slaughter, An Empirical Approach to Studying Software Evolution, IEEE Trans. on Softw. Eng., vol. 25, n. 4, July/August 1999, pp. 493 - 509]] Google ScholarDigital Library
- {kuv94} P. Kuvaja et al, Software Process Assessment and Improvement-The Bootstrap Approach, Blackwell, 1994]]Google Scholar
- {leh69} *M. M. Lehman, The Programming Process, IBM Research Report RC2722M, IBM Research Center, Yorktown Heights, New York, Sept.]]Google Scholar
- {leh74} *id., Programs, Cities, Students--Limits to Growth, Imp. Col. 1974, Inaug. Lect. Series, Vol.9, 1970-1974, pp. 211 - 229; also in Gries, 1978]]Google Scholar
- {leh78} *id., Laws of Program Evolution-Rules and Tools for Programming Management, Proc. Infotech State of the Art Conference, Why Software Projects Fail, April 9-11, 1978, pp. 1V1-1V25]]Google Scholar
- {leh79} id., The Environment of Design Methodology, Keynote Address, In Proc. Symp. on Formal Design Methodology, Cox TA (ed.). Cambridge, UK, 9-12 Apr. 1979, pp. 17-38, pub. by STL Ltd, Harlow, Essex, UK, 1980.]]Google Scholar
- {leh80} *id., Program Life Cycles and Laws of Software Evolution, Proc. IEEE Spec. Iss. on Softw. Eng., Sept. 1980, pp. 1060-1076]]Google Scholar
- {leh84a} id., Program Evolution, Symposium on Empirical Foundations of Computer and Information Sciences, Georgia Institute of Technology, in J. of Information Proc. and Management, v. 19, n. 1, 19, 38, 1984]]Google Scholar
- {leh84b} id., A Further Model of Coherent Programming Process, Proc. Softw. Process Workshop, Egham, Surrey, 6 - 8 Feb. 1984, IEEE Cat. no. 84 CH 2044-6, pp. 27-35]]Google Scholar
- {leh84c} M. M. Lehman, Stenning V and Turski W. M., Another Look at Software Design Methodology, ACM SigSoft Softw. Eng. Notes, v. 9, n. 2, pp. 38 - 53, April 1984]] Google ScholarDigital Library
- {leh85} M. M. Lehman and L. A. Belady, Program Evolution--Processes of Software Change, Academic Press, London, 1985]] Google ScholarDigital Library
- {leh87} M. M. Lehman, Process Models, Process Programs, Programming Support, Invited Response to a Keynote Address by L. Osterweil, Proc. 9th ICSE, Monterey, CA., March 30-April 2, 1987, pp. 14-16]] Google ScholarDigital Library
- {leh91} id., Software Engineering, the Software Process and Their Support, IEE Software Engineering J., Spec. Iss. on Softw. Environments and Factories, 6(5), Sept. 1991, pp. 243 - 258,]] Google ScholarDigital Library
- {leh94} id., Feedback in the Software Evolution Process, Keynote Address, CSR Eleventh Annual Workshop on Software Evolution: Models and Metrics, Dublin, 7-9 Sept. 1994, Workshop Proc., Information and Software Technology, sp. is. on Software Maintenance, v. 38, n. 11, 1996, Elsevier, 1996, pp. 681-686]]Google Scholar
- {leh96} id., Laws of Software Evolution Revisited, pos. pap., EWSPT96, Oct. 1996, LNCS 1149, Springer Verlag, 1997, pp. 108-124]] Google ScholarDigital Library
- {leh97} M. M. Lehman et al, Metrics and Laws of Software Evolution -- The Nineties View, Proc. Fourth Int. Symp. on Software Metrics, Metrics 97, Albuquerque, New Mexico, 5-7 Nov. 1997, pp 20-32. Also in K El Eman and N H Madhavji (eds.), Elements of Software Process Assessment and Improvement, IEEE CS Press, 1999, pp. 343-368]] Google ScholarDigital Library
- {leh00a} M. M. Lehman, An Approach to a Theory of Software Evolution, EPSRC Proposal, Case for Support Part 2, Dept. of Comp. ICSTM, Dec. 2000, rev. version Sept.2001]]Google Scholar
- {leh00b} M. M. Lehman and J. F. Ramil, Towards a Theory of Software Evolution -- And its Practical Impact, inv. talk, Proc. ISPSE 2000, Kanazawa, Japan, Nov 1-2, in Katayama T et al (eds.), IEEE Comp. Soc. Press, Los Alamitos, CA, pp. 2 - 11]]Google Scholar
- {leh00c} id., Software Evolution in the Age of Component Based Software Engineering, IEE Proc. Softw., sp. Iss. on Component Based Software Engineering, v. 147, n. 6, Dec. 2000, pp. 249 - 255, earlier version as Tech. Rep. 98/8, Imp. Col., London, Jun. 1998]]Google Scholar
- {leh01a} id., Rules and Tools of Software Evolution Planning, Management and Control, Annals of Softw. Eng., Spec. Iss. on Softw. Managmt., v. 11., 2001, pp. 15-44]] Google ScholarDigital Library
- {leh01b} id., An Approach to a Theory of Software Evolution, IWPSE 2000, this volume]]Google Scholar
- {leh01c} M. M. Lehman, J. F. Ramil and U. Sandler, An Approach to Modelling long-term Growth Trends in Software Systems, ICSM 2001, 6-10 Nov., Florence, Italy, pp. 219 - 228]] Google ScholarDigital Library
- {leh02} M. M. Lehman and J. F. Ramil, Software Uncertainty, Soft-Ware 2002, 1st Intl. Conf. on Computing in an Imperfect World, Belfast, North Ireland, 8-10 April]] Google ScholarDigital Library
- {lju87} L. Ljung, System Identification -- Theory for the User, Prentice Hall, Englewood Cliffs, NJ 1987]] Google ScholarDigital Library
- {luq89} Luqi, Software Evolution through Rapid Prototyping, IEEE Computer, v. 22, n. 5, May 1989, pp. 13 - 25]] Google ScholarDigital Library
- {mar02} J. Marciniak (ed.), Encyclopaedia of Software Engineering, 2nd. Edition, Wiley, 2002]] Google ScholarDigital Library
- {mit01} R. T. Mittermeir, IWPSE 2001, this volume]]Google Scholar
- {nau69} P. Naur and B. Randell (eds.), Software Engineering, Report on a Conf. Sponsored by the NATO Sc. Comm., Garmisch, Germany, 7-11 Oct. 1968, Brussels, Sc. Aff. Div., NATO, 1969, 231 pps, http://www.cs.ncl.ac.uk/people/brian.randell/home.formal/NATO/]]Google Scholar
- {ost87} L. Osterweil, Software Processes Are Software Too, Proc. of the 9th Int. Conf. on Softw. Eng., Monterey, CA, March 30-April 2, 1987, IEEE Comp. Soc. Pub. 767, pp. 2-13]] Google ScholarDigital Library
- {ost97} id., Software Processes Are Software Too -- Revisited: An Invited Talk on the Most Influential Paper of ICSE 9, Proc. ICSE 19, Boston, May 17-23, 1997, pp. 540-548]] Google ScholarDigital Library
- {pau93} M. C. Paulk, et al, Capability Maturity Model, ver. 1.1, IEEE Software, v. 10, n. 4, 1993, pp. 18 - 27]] Google ScholarDigital Library
- {pgs96} T. M. Pigoski, Practical Software Maintenance, Wiley, 1996, pp. 384]]Google Scholar
- {pir88} S. S. Pirzada, A Statistical Examination of the Evolution of the UNIX System, PhD Thesis, Imperial College, London, 1988]]Google Scholar
- {pfl98a} S. L. Pfleeger, Software Engineering -- Theory and Practice, Prentice Hall, 1998]] Google ScholarDigital Library
- {pfl98b} S. L. Pfleeger, The Nature of System Change, IEEE Software, 15, 3, May-June, pp. 87 - 90, 1998]] Google ScholarDigital Library
- {pot84} C. Potts, ed., Proceedings of the Software Process Workshop, Egham, Surrey, Feb., 1984]]Google Scholar
- {raj00} V. T. Rajlich and K. H. Bennett, A Staged Model for the Software Life Cycle, Computer, Jul., pp. 66 - 71]] Google ScholarDigital Library
- {roy70} W. W. Royce, Managing the Development of Large Software Systems, IEEE Wescon, Aug. 1970, pp. 1-9]]Google Scholar
- {suc01} G. Succi, J. Paulson and A. Eberlein, Preliminary Results from an Empirical Study on the Growth of Open Source and Commercial Software Products, EDSER-3 Wkshop, co-located with ICSE 2001, May 14-15, Toronto]]Google Scholar
- {tay89} R. N. Taylor et al, Foundations for the Arcadia Environment Architecture, SIGPLAN Notices v. 24, n. 2; Softw. Eng. Symp. on Practical Software Development Environments, spec. iss. Proc. ACM SIGSOF7/SIGPLAN]] Google ScholarDigital Library
- {tul89} C. Tully, Representing and Enacting the Software Process, Proc. 4th Int. Worksh. on the Softw. Proc., Jan. 1989, ACM SIGSOFT Softw. Eng. Notes, June 1989]]Google Scholar
- {tur81} W. M. Turski, Specification as a Theory with Models in the Computer World and in the Real World, Infotech State of the Art Report v. 9, n. 6, 1981, pp 363 - 377]]Google Scholar
- {tur87} W. M. Turski and T. S. E. Maibaum, The Specification of Computer Programs, Addison-Wesley, Wokingham]] Google ScholarDigital Library
- {tur96} id., A Reference Model for the Smooth Growth of Software Systems, IEEE Trans. SE, v. 22, n. 8, pp. 599 - 600]] Google ScholarDigital Library
- {tur00} id., An Essay on Software Engineering at the Turn of the Century, in T. Maibaum (ed.): Fundamental Approaches to Software Engineering, Proceedings of the Third International Conference FASE 2000. March/April 2000. LNCS 1783, Springer-Verlag, Berlin, pp. 1 - 20]] Google ScholarDigital Library
- {lam00} A. van Lamsweerde, Formal Specification: a Roadmap, in A. Finkelstein (ed.), The Future of Software Engineering, 22nd ICSE, Limerick, Ireland, 2000, ACM Order N. 592000-1, pp. 149-159]] Google ScholarDigital Library
- {ven99} Vensim 1999, VENSIM 4 (c) Reference Manual, Ventana System Inc., Harvard, MA]]Google Scholar
- {wei70} *G. M. Weinberg (1970), Natural Selection as Applied to Computers and Programs, General Systems, v. 15]]Google Scholar
- {wer98} P. Wernick and M. M. Lehman (1998), Software Process White Box Modelling for FEAST/1, ProSim '98 Workshop, Silver Falls, OR, 23 Jun. 1998. As a rev. version in J. of Sys. and Softw., vol. 46, nos. 2/3, 15 Apr. 1999]]Google Scholar
- {wir71} N. Wirth, Program Development by Stepwise Refinement, CACM v. 14, n. 4, April, pp. 221-222]] Google ScholarDigital Library
- {www01} FEAST projects web site, Dept. of Computing, Imp. College, see http://www.doc.ic.ac.uk/~mml/feast]]Google Scholar
- {zah97} S. Zahran, Software Process Improvement -- Practical Guidelines for Business Success, SEI Series in Software Engineering, Addison-Wesley, Harlow, England, 1997]] Google ScholarDigital Library
- {zur67} F. W. Zurcher and B. Randell, Iterative Multi-Level Modelling -- A Methodology for Computer System Design, IBM Res. Div. Rep. RC-1938, Nov. 1967. Also in Proc. IFIP Congress 1968, Edinburgh, Aug 5 - 10, 1968, pp D-138 - 142]]Google Scholar
- Evolution in software and related areas
Recommendations
Software Evolution and Software Evolution Processes
Most of the software in regular use in businesses and organisations all over the world cannot be completely specified. It cannot be implemented, once and for all. Both the original implementation and the inevitable subsequent evolution (maintenance) are ...
An approach to a theory of software evolution
IWPSE '01: Proceedings of the 4th International Workshop on Principles of Software EvolutionThis paper outlines plans for the proposed development of a theory of software evolution. Apart from its intrinsic value, such a theory will advance understanding of the attributes of the software evolution phenomenon, its drivers and its practical ...
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 ...
Comments