Skip to content

Albert Endres

Abstract

Albert Endres (1932–2020) spent 35 years at IBM Germany, much of it in software development at the Böblingen laboratory, and published one of the first statistical studies of where bugs in a large operating system come from. In 1968 he founded the German Chapter of the ACM, a year before the Gesellschaft für Informatik was founded. After IBM he became a professor at TU Munich, ran MeDoc, an early German experiment in replacing printed scientific books and journals with electronic ones, and co-wrote a handbook that collected the empirical “laws” of software engineering.

Albert Endres
Albert Endres. Image: Mauxos, CC BY-SA 4.0, via Wikimedia Commons.

From Geodesy to the IBM 650

Endres was born on 17 December 1932 in Niederweis, a village in the Eifel near the Luxembourg border. From 1952 he studied geodesy at the University of Bonn and at Ohio State University. As an exchange student in the United States he met his first computer in 1956, an IBM 650, the drum-memory machine of which IBM built about two thousand (see Small Computers of the 1950s).

In 1957 he joined IBM Germany, first in a data center, then in development. Over the next three decades he worked on programming languages, compilers, operating systems and database systems.

Böblingen and the Errors of DOS/VS

IBM’s German laboratory in Böblingen, near Stuttgart, had been founded in 1953 and turned to full product development in the early 1960s. It shared in the development of DOS, the smaller of IBM’s two System/360 operating systems, and later took over its successors (see Gene Amdahl and the System/360). The release of DOS/VS that Böblingen extended with virtual storage support reached customers in mid-1973.

Endres used that release for a study that became his most cited work. He took the problems reported during IBM’s internal testing of DOS/VS, about 740 of them in some 500 modules averaging 360 lines each, and classified the 432 that turned out to be real program errors by where they sat in the code and what had caused them. “An Analysis of Errors and Their Causes in System Programs” appeared in the first volume of IEEE Transactions on Software Engineering in June 1975. One of its conclusions was that a large share of the errors came from misunderstood requirements and missing knowledge of the problem domain, not from coding, so better programming techniques alone would not remove them.

He took his doctorate at the University of Stuttgart in the mid-1970s (German Wikipedia gives 1975, his own account 1976) and published Analyse und Verifikation von Programmen in 1977. He lectured at Stuttgart from 1976 and became an honorary professor there in 1986. In 2001 he wrote a history of software development at the Böblingen laboratories, and in 2004 he summarised it for the IEEE Annals of the History of Computing.

Founding the German Chapter

In 1968 Endres founded the German Chapter of the ACM and chaired it for its first three years. By his own account he also attended the NATO conference in Garmisch that year, the meeting that put the term software engineering into circulation. The chapter predates the Gesellschaft für Informatik by a year, and Endres stayed active in both: within the GI he led the software engineering division for fifteen years and was chief editor of the journal Informatik – Forschung und Entwicklung from 1985 to 1999. The GI made him a Fellow in 2003.

MeDoc

Endres left IBM in 1992. Early in 1993 he taught for a semester at the University of Rostock, in the former East Germany, and from 1993 to 1997 he held the chair of software engineering at the Technical University of Munich.

There he led MeDoc (Multimediale elektronische Dokumente), a project funded by the federal research ministry and run on behalf of the GI from 1995 to 1997. With Andreas Barth of FIZ Karlsruhe and Arnoud de Kemp of Springer-Verlag as co-leaders, it persuaded publishers, libraries and university computer science departments to try electronic documents in place of paper. By Endres’s count it involved nine research partners, 24 user universities and 14 publishers, and it digitised 60 books and offered 11 journals electronically. Endres and Norbert Fuhr reported on it in Communications of the ACM in April 1998, and he later wrote Digitale Bibliotheken (2000) with Dieter W. Fellner.

Looking back in 2018, Endres judged the project’s software a dead end. The team had spent too much effort on the best format for electronic books and journals; the publishers then chose formats that kept the look of the printed page and added nothing new. MeDoc’s prototype tools did not survive in the market, because every user with international contacts picked tools from the United States.

Laws of Software Engineering

With H. Dieter Rombach of the University of Kaiserslautern, Endres wrote A Handbook of Software and Systems Engineering: Empirical Observations, Laws and Theories (2003). The book runs from requirements to maintenance and states 50 laws, 25 hypotheses and 12 conjectures, each with the conditions under which it should hold and the studies behind it; the authors wrote that any law should be dropped once repeatable observations contradict it (see Eponymous Laws). One later reviewer found the evidence often thin: small experiments, few participants, programs of a few hundred lines. With Rul Gunzenhäuser he also published Menschen machen Informatik and Schuld sind die Computer!.

Late Years

In 2011 Endres started a blog, Bertals Blog, and by 2018 it had 524 posts and more than 300,000 readers. He also wrote on the local history of his native Eifel. In 1989 he had travelled to Khiva in Uzbekistan to find the statue of al-Khwarizmi, the ninth-century mathematician whose name gave us the word “algorithm”; asked in 2018 what “being human with algorithms” meant to him, he said the slogan seemed almost banal, and that “being human without algorithms” would have made him sit up.

Endres died on 28 December 2020. In 2023 the German Chapter established the Albert-Endres-Award for members’ contributions to computing.

📚 Sources