{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,10,16]],"date-time":"2025-10-16T03:46:40Z","timestamp":1760586400263},"reference-count":44,"publisher":"Wiley","issue":"1","license":[{"start":{"date-parts":[[2006,10,27]],"date-time":"2006-10-27T00:00:00Z","timestamp":1161907200000},"content-version":"vor","delay-in-days":6265,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["J. Softw. Maint: Res. Pract."],"published-print":{"date-parts":[[1989,9]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>Computers are being applied more and more broadly to address applications in all areas of human activity, penetrating ever deeper into the very fabric of society. As a consequence, mankind is becoming, collectively and individually, ever more dependent on software and on the integrity of that software. In this context the term software includes both the systems software that constitutes a fundamental part of the operational configuration and the programs that implement each individual application. Integrity is a many faceted concept that has to do with the availability of programs whenever they are needed and their correctness in relation to the circumstances at the moment of execution or, more precisely, when the results of computation are applied. A program must produce a solution that is correct and relevant when used. It must continue to do so whenever required over the lifetime of an application and of the systems that realize and support it. All this is required despite continuing change in a dynamic world.<\/jats:p><jats:p>This paper discusses some properties of software and of software technology and identifies fundamental issues that must be addressed if program integrity is to be achieved initially, and if a program is to be maintained as satisfactory in a continuously changing operational environment. The discussion leads to formulation of a \u2018Principle of Uncertainty\u2019 that applies, in general, to all computer applications in the real world.<\/jats:p><jats:p>The principle follows from the fact that any program is a model, albeit many times removed by abstraction and reification from the real world it reflects and addresses. The consequences of this basic fact lead to a need for a disciplined technology associated with a controlled process for definition of each application, its operational domain, the envisaged system and software, and for its development, application and evolution (maintenance).<\/jats:p><jats:p>This paper concludes with a brief mention of the implications of the analysis on relevant technological issues. Fundamental concepts and observations that underlie the development of a software engineering discipline and its supporting technology are introduced. Software engineering is seen as the discipline that permits one to limit uncertainty and its consequences through the introduction and control of appropriate development processes and the systematic and disciplined applications of methods and tools. The emergence of such tools, of computer assisted software engineering (CASE) and of programming and project support environments (IPSEs) is briefly discussed. Finally the paper addresses issues that arise in transferring this still developing technology to industry and introducing it into practice, outlining briefly how this may be approached.<\/jats:p>","DOI":"10.1002\/smr.4360010103","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T15:18:07Z","timestamp":1163776687000},"page":"3-27","source":"Crossref","is-referenced-by-count":57,"title":["Uncertainty in computer application and its control through the engineering of software"],"prefix":"10.1002","volume":"1","author":[{"given":"M. M.","family":"Lehman","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,27]]},"reference":[{"key":"e_1_2_1_2_1","doi-asserted-by":"publisher","DOI":"10.1007\/978-3-7091-8871-2"},{"key":"e_1_2_1_3_1","unstructured":"Belady L. A.andLehman M. M.(1971)Programming System Dynamics or the Metadynamics of Systems in Maintenance and Growth IBM Research Report RC 3546 T. J. Watson Research Center Yorktown Heights NY."},{"key":"e_1_2_1_4_1","first-page":"503","volume-title":"An Introduction to Program Growth Dynamics, in Statistical Computer Performance Evaluation","author":"Belady L. A.","year":"1972"},{"key":"e_1_2_1_5_1","doi-asserted-by":"publisher","DOI":"10.1147\/sj.153.0225"},{"key":"e_1_2_1_6_1","first-page":"5","volume-title":"The Lure of Completeness, The Encyclopedia of Ignorance","author":"Bondi H.","year":"1977"},{"key":"e_1_2_1_7_1","doi-asserted-by":"publisher","DOI":"10.1145\/359104.359106"},{"key":"e_1_2_1_8_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01933419"},{"key":"e_1_2_1_9_1","doi-asserted-by":"publisher","DOI":"10.1145\/355604.361591"},{"key":"e_1_2_1_10_1","unstructured":"Dowson M. (ed) (1987)Iteration in the Software Process in Proceedings of the 3rd International Process Workshop IEEE Comp. Soc. Press."},{"key":"e_1_2_1_11_1","doi-asserted-by":"publisher","DOI":"10.1145\/48529.48530"},{"key":"e_1_2_1_12_1","doi-asserted-by":"publisher","DOI":"10.1007\/BF01700692"},{"key":"e_1_2_1_13_1","volume-title":"Programming Methodology \u2014 A Collection of Articles by Members of IFIP WG2.3","author":"Gries D.","year":"1978"},{"key":"e_1_2_1_14_1","doi-asserted-by":"publisher","DOI":"10.1145\/363235.363259"},{"issue":"7","key":"e_1_2_1_15_1","first-page":"117","volume":"8","author":"Jones C. B.","year":"1980","journal-title":"The Role of Formal Specifications in Software Development"},{"key":"e_1_2_1_16_1","volume-title":"Software Development \u2014 A Rigorous Approach","author":"Jones C. B.","year":"1980"},{"key":"e_1_2_1_17_1","unstructured":"Lehman J. D.(1986)Component Based Software Sytems in Proceedings of First Israel Conference on Computer Systems and Software Engineering 1\u20103 June 1986 IEEE Comp. Soc. publ. paper no. 3.2.1."},{"key":"e_1_2_1_18_1","unstructured":"Lehman M. M.(1969)The Programming Process IBM Research Report RC 2722 IBM Research Center Yorktown Heights and in Lehman and Belady (1985) pp.39\u201384."},{"key":"e_1_2_1_19_1","first-page":"1970","volume":"9","author":"Lehman M. M.","year":"1974","journal-title":"Programs, Cities, Students \u2014 Limits to Growth"},{"key":"e_1_2_1_20_1","first-page":"347","volume-title":"Human Thought and Action as an Ingredient of System Behaviour, The Encyclopedia of Ignorance","author":"Lehman M. M.","year":"1977"},{"key":"e_1_2_1_21_1","doi-asserted-by":"publisher","DOI":"10.1016\/0164-1212(79)90022-0"},{"key":"e_1_2_1_22_1","doi-asserted-by":"crossref","unstructured":"Lehman M. M.(1980b )Programs Life Cycles and Laws of Software Evolution in Proceedings of IEEE Conference on Software Engineering pp.1060\u20131076.","DOI":"10.1109\/PROC.1980.11805"},{"key":"e_1_2_1_23_1","unstructured":"Lehman M. M.(1981)The Environment of Program Development and Maintenance \u2014 Programs Programming and Programming Support Systems Architecture in Proc. of the 6th ACM European Regional Conference ICS '81 pp.273\u2013285 IPC Business Press Ltd. Guildford."},{"key":"e_1_2_1_24_1","unstructured":"Lehman M. M.(1982a )The Role of Systems and Software Technology in the Fifth Generation in Proceedings of International Conference on The Fifth Generation \u2014 Dawn of the Second Computer Age 7\u20109 June London SPL Int. Abingdon UK."},{"issue":"1","key":"e_1_2_1_25_1","first-page":"3","article-title":"Program Evolution, in Proceedings of Symposium on Empirical Foundations of Computing and Information Sciences, Georgia Inst. of Tech. 3\u20107 November in Special Issue","volume":"19","author":"Lehman M. M.","year":"1982","journal-title":"Journal of Information Processing and Management"},{"key":"e_1_2_1_26_1","unstructured":"Lehman M. M.(1986) Advanced Software Technology \u2014 Development and Introduction to Practice Invited Paper Information Processing '86 Proc. IFIP Congress 1\u20105 September 1986 Dublin Elsevier Science Publishers (BV) (North Holland) pp.605\u2013661."},{"key":"e_1_2_1_27_1","first-page":"2","volume":"10","author":"Lehman M. M.","year":"1987","journal-title":"Model Based Approach to IPSE Architecture and Design \u2014 The IST ISTAR Project as an Instantiation"},{"key":"e_1_2_1_28_1","unstructured":"Lehman M. M.(1987b )Process Models Process Programs Programming Support \u2014 Invited Response To A Keynote Address by Lee Osterweil in Proceedings 9th Int. Conference on Software Engineering Monterey CA 30 March\u20102 April 1987 IEEE Comp. Soc. pub. no. 767 IEEE Cat. no. 87CH2432\u20103 pp.14\u201316."},{"key":"e_1_2_1_29_1","volume-title":"Program Evolution \u2014 Processes of Software Change","author":"Lehman M. M.","year":"1985"},{"key":"e_1_2_1_30_1","doi-asserted-by":"publisher","DOI":"10.1016\/0011-684X(85)90299-0"},{"issue":"2","key":"e_1_2_1_31_1","first-page":"38","volume":"9","author":"Lehman M. M.","year":"1984","journal-title":"Another Look at Software Design Methodology"},{"key":"e_1_2_1_32_1","doi-asserted-by":"publisher","DOI":"10.1145\/24574.24583"},{"key":"e_1_2_1_33_1","volume-title":"The Specification of Computer Programs","author":"Maibaum T.","year":"1987"},{"key":"e_1_2_1_34_1","unstructured":"Nauer P.andRandell B.(1969)Software Engineering \u2014 Report on a Conference Sponsored by the NATO Science Committee Garmisch 1968 Scientific Affairs Division NATO Brussels 39."},{"key":"e_1_2_1_35_1","doi-asserted-by":"crossref","unstructured":"Osterweil L. (1987)Software Processes are Software Too in Proceedings of 9th International Conference on Software Engineering Monterey CA 30 March\u20102 April 1987 IEEE Comp. Soc. Pub. no. 767 IEEE Cat. no. 87CH2432\u20103 pp.2\u201313.","DOI":"10.1109\/TSE.1987.233154"},{"key":"e_1_2_1_36_1","unstructured":"Potts C. (ed) (1984) Proceedings of the Software Process. Workshop Egham Surrey UK. February 1984. IEEE Cat. no. 84CH2044\u20106 Comp. Soc. Washington D. C. order no. 587."},{"key":"e_1_2_1_37_1","doi-asserted-by":"crossref","unstructured":"Randell B.(1987)Design Fault Tolerance in Avizienis (1987) pp.251\u2013270.","DOI":"10.1007\/978-3-7091-8871-2_10"},{"key":"e_1_2_1_38_1","volume-title":"The Sciences of the Artificial","author":"Simon H. A.","year":"1969"},{"key":"e_1_2_1_39_1","unstructured":"Stenning N. V.(1985)Software Engineering: Present and FutureinThe Corporation Database State of the Art Reports Iggulden D. (ed) se. 13 no. 3 Pergamon Infotech Ltd Maidenhead UK pp.83\u201393."},{"key":"e_1_2_1_40_1","unstructured":"Turski W. M.(1981)Specification as a Theory with Models in the Computer World and in the Real World Infotech State of the Art Report se. 9 no. 6 pp.363\u2013377."},{"key":"e_1_2_1_41_1","unstructured":"Turski W. M.(1986)And No Philosophers\u2019 Stone Either Information Processing 86 in Proceedings of IFIP Congress Dublin 1\u20105 September 1986 Elsevier Sci. Pubs London pp.1077\u20131080."},{"issue":"11","key":"e_1_2_1_42_1","first-page":"621","article-title":"Comments on a paper by DeMillo et al. (DeMillo et al., 1979)","volume":"22","author":"Various correspondents","year":"1979","journal-title":"Communications of the ACM"},{"issue":"3","key":"e_1_2_1_43_1","first-page":"287","article-title":"Comments on paper by Fetzer","volume":"32","author":"Various correspondents","year":"1989","journal-title":"(Fetzer, 1988), Communications of the ACM"},{"key":"e_1_2_1_44_1","doi-asserted-by":"crossref","unstructured":"Wileden J. C. and Dowson M. (eds) (1986)SE Notes Special Issue on the 2nd International Workshop on the Software Process and Software Environments Coto de Caza CA. 27\u201029 March 1985 Vol. 11 no. 4.","DOI":"10.1145\/12944.1013576"},{"key":"e_1_2_1_45_1","unstructured":"Zurcher F. W.andRandell B.(1967)Iterative Multi\u2010level modelling \u2014 A Methodology for Computer System Design IBM Research Report RC 1938 IBM Research Center Yorktown Heights NY and Information Processing 67 in Proceedings of IFIP Congress Edinburgh August 1968 pp.D138\u2013142."}],"container-title":["Journal of Software Maintenance: Research and Practice"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fsmr.4360010103","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/smr.4360010103","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T02:06:13Z","timestamp":1697940373000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/smr.4360010103"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,9]]},"references-count":44,"journal-issue":{"issue":"1","published-print":{"date-parts":[[1989,9]]}},"alternative-id":["10.1002\/smr.4360010103"],"URL":"https:\/\/doi.org\/10.1002\/smr.4360010103","archive":["Portico"],"relation":{},"ISSN":["1040-550X","1096-908X"],"issn-type":[{"value":"1040-550X","type":"print"},{"value":"1096-908X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1989,9]]}}}