{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2026,3,11]],"date-time":"2026-03-11T13:18:10Z","timestamp":1773235090671,"version":"3.50.1"},"reference-count":26,"publisher":"Wiley","issue":"7","license":[{"start":{"date-parts":[[2006,10,30]],"date-time":"2006-10-30T00:00:00Z","timestamp":1162166400000},"content-version":"vor","delay-in-days":6330,"URL":"http:\/\/onlinelibrary.wiley.com\/termsAndConditions#vor"}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":["Softw Pract Exp"],"published-print":{"date-parts":[[1989,7]]},"abstract":"<jats:title>Abstract<\/jats:title><jats:p>This paper is a case study of program evolution. The author kept track of all changes made to T<jats:sup>E<\/jats:sup>X during a period of ten years, including the changes made when the original program was first debugged in 1978. The log book of these errors, numbering more than 850 items, appears as an appendix to this paper. The errors have been classified into fifteen categories for purposes of analysis, and some of the noteworthy bugs are discussed in detail. The history of the T<jats:sub>E<\/jats:sub>X project can teach valuable lessons about the preparation of highly portable software and the maintenance of programs that aspire to high standards of reliability.<\/jats:p>","DOI":"10.1002\/spe.4380190702","type":"journal-article","created":{"date-parts":[[2006,11,17]],"date-time":"2006-11-17T21:05:20Z","timestamp":1163797520000},"page":"607-685","source":"Crossref","is-referenced-by-count":71,"title":["The errors of t<sub>e<\/sub>x"],"prefix":"10.1002","volume":"19","author":[{"given":"Donald E.","family":"Knuth","sequence":"first","affiliation":[]}],"member":"311","published-online":{"date-parts":[[2006,10,30]]},"reference":[{"key":"e_1_2_1_2_2","volume-title":"Grooks","author":"Hein Piet","year":"1966"},{"key":"e_1_2_1_3_2","volume-title":"Foundation Failures","author":"Sz\u00e9chy C.","year":"1961"},{"key":"e_1_2_1_4_2","doi-asserted-by":"crossref","unstructured":"A.Endres \u2018An analysis of errors and their causes in system programs\u2019 Proc. Int. Conf. Software Eng. 1975 pp.327\u2013336.","DOI":"10.1145\/390016.808455"},{"key":"e_1_2_1_5_2","doi-asserted-by":"publisher","DOI":"10.1145\/69605.2085"},{"key":"e_1_2_1_6_2","doi-asserted-by":"publisher","DOI":"10.1147\/sj.153.0225"},{"key":"e_1_2_1_7_2","volume-title":"TEX: The Program","author":"Knuth Donald E.","year":"1986"},{"key":"e_1_2_1_8_2","doi-asserted-by":"publisher","DOI":"10.1093\/comjnl\/27.2.97"},{"key":"e_1_2_1_9_2","unstructured":"Donald E.Knuth \u2018The WEB system of structured documentation\u2019 Stanford Computer Science Report STAN\u2010CS\u2010980 September1983."},{"key":"e_1_2_1_10_2","volume-title":"Artificial Intelligence: An MIT Perspective","author":"Winston Patrick","year":"1979"},{"key":"e_1_2_1_11_2","doi-asserted-by":"publisher","DOI":"10.1007\/BF03023051"},{"key":"e_1_2_1_12_2","doi-asserted-by":"publisher","DOI":"10.1090\/S0273-0979-1979-14598-1"},{"key":"e_1_2_1_13_2","volume-title":"Seminumerical Algorithms","author":"Knuth Donald E.","year":"1981"},{"key":"e_1_2_1_14_2","doi-asserted-by":"publisher","DOI":"10.1002\/spe.4380111102"},{"key":"e_1_2_1_15_2","first-page":"3","article-title":"The concept of a meta\u2010font","volume":"16","author":"Knuth Donald E.","year":"1982","journal-title":"Visible Language"},{"key":"e_1_2_1_16_2","volume-title":"The T TEX book","author":"Knuth Donald E.","year":"1984"},{"key":"e_1_2_1_17_2","unstructured":"Barbara Beeton (ed) TEX and METAFONT: Errata and Changes 09 September 1983 distributed with TUGboat 4(1983)."},{"key":"e_1_2_1_18_2","volume-title":"TEX, a System for Technical Text","author":"Knuth Donald E.","year":"1979"},{"key":"e_1_2_1_19_2","volume-title":"TEX and METAFONT: New Directions in Typesetting","author":"Knuth Donald E.","year":"1979"},{"key":"e_1_2_1_20_2","doi-asserted-by":"publisher","DOI":"10.1145\/2363.2367"},{"key":"e_1_2_1_21_2","unstructured":"Donald E.Knuth \u2018A torture test for TEX\u2019 Stanford Computer Science Report STAN\u2010CS\u20101027 November1984."},{"key":"e_1_2_1_22_2","unstructured":"Donald E.Knuth \u2018A torture test for METAFONT\u2019 Stanford Computer Science Report STAN\u2010CS\u20101095 January1986."},{"key":"e_1_2_1_23_2","volume-title":"Sorting and Searching","author":"Knuth Donald E.","year":"1973"},{"key":"e_1_2_1_24_2","doi-asserted-by":"publisher","DOI":"10.1145\/360680.360684"},{"key":"e_1_2_1_25_2","volume-title":"Hacker's Dictionary: A Guide to the World of Wizards","author":"Steele Guy L.","year":"1983"},{"key":"e_1_2_1_26_2","volume-title":"Fundamental Algorithms","author":"Knuth Donald E.","year":"1968"},{"key":"e_1_2_1_27_2","unstructured":"Reinhard Budde Christiane Floyd Reinhard Keil\u2010Slawik and Heinz Z\u00fcllighoven (eds)Software Development and Reality Construction in preparation."}],"container-title":["Software: Practice and Experience"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/api.wiley.com\/onlinelibrary\/tdm\/v1\/articles\/10.1002%2Fspe.4380190702","content-type":"unspecified","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/pdf\/10.1002\/spe.4380190702","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2023,10,22]],"date-time":"2023-10-22T09:29:51Z","timestamp":1697966991000},"score":1,"resource":{"primary":{"URL":"https:\/\/onlinelibrary.wiley.com\/doi\/10.1002\/spe.4380190702"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[1989,7]]},"references-count":26,"journal-issue":{"issue":"7","published-print":{"date-parts":[[1989,7]]}},"alternative-id":["10.1002\/spe.4380190702"],"URL":"https:\/\/doi.org\/10.1002\/spe.4380190702","archive":["Portico"],"relation":{},"ISSN":["0038-0644","1097-024X"],"issn-type":[{"value":"0038-0644","type":"print"},{"value":"1097-024X","type":"electronic"}],"subject":[],"published":{"date-parts":[[1989,7]]}}}