A very famous photo is the following

First bug

which is the picture of a moth stuck to a piece of paper with the writing "First actual case of a bug being found".

We already know that bug was being used for glitch in engineering for a long time (Edison used it!), and we already address that on another question.

What is much less clear is if she was the first one to use it in the context of software engineering:

She was a mathematician and a pioneer in the use of computers in the military, particularly in the United States Navy. She was one of the inventors of the computer language "COBOL" and was the first person to use the word "bug" to describe an error in a computer program.

Grace Hopper's obituary

Another example is this article on Computerworld confuses the two and doesn't answer the question.

Even wikipedia is unclear on the matter, as it only says it was used in engineering:

Though the term bug had been in use for many years in engineering to refer to small glitches and inexplicable problems, Admiral Hopper did bring the term into popularity.

Was "bug" used to refer to software bugs before being popularized by Grace Hopper?

  • 1
    On 17 April 1944, Campbell wrote, "Ran test problem. Mr. Durfee from I.B.M. was here to help us find 'bugs.'" with further references. Which would be 3 years before. – bummi Dec 9 '13 at 13:17
  • @bummi Don't you think that "test problem" implies that they were looking for hardware bugs, not software bugs? The other question is about "computing bugs" in general derived from "hardware (electrical) bugs". IMO Sklivvz is trying to ask specifically about software 'bugs'. – ChrisW Dec 9 '13 at 14:29
  • The obituary would count as a notable claim, but IMO it isn't evidence that even she used 'bug' to talk about specifically software. – ChrisW Dec 9 '13 at 14:35
  • 2
    It might be worth remembering that at the time, working with computers was not easily divided into software and hardware realms. I've been told that on the EDSAC, they held up a ruler to the oscilloscope and said essentially "That's a 1, that's a 0, that's a...call it a 1..." – Larry OBrien Dec 9 '13 at 18:01
  • 1
    It looks like the line in the photo "First actual case of bug being found" is a humorous allusion to this being the first time that a "bug" was an actual insect, as if "bug" was a term they were already used to using, but always before it meant an electrical or program error. EDIT: OK, duh, that's what the picture description says. – Mike Dunlavey Dec 9 '13 at 20:39

There is limited evidence to support the term being in use on an informal basis due to the overlap with engineering due to the electromechanical nature of early computers. However, the terms "bug" or "debugging" could not considered to be widely accepted as having a meaning applied strictly to software until the 1950's.

Early computers such as the Harvard Mark I and II and the Electronic Delay Storage Automatic Calculator (EDSAC) where electromechanical and required the use of a combination of plug boards and system software in order to be programmed. It was not until the development of the A-0 System compiler for the UNIVAC I by Grace Hopper that modern programming (i.e. writing instructions that are compiled and interpreted by the computer) came about.

This electromechanical nature of early computers is relevant as articles such as "Etymology of the Computer Bug: History and Folklore" by Fred R. Shapiro in "American Speech" (Vol. 62, No. 4 (Winter, 1987), pp. 376-378) provides the following pieces of evidence that while Grace Hopper may be well known for using the term "bug" due to the moth story, she was not the first one to use it in the context of computing,

Hopper and her colleagues must have thought the discovery of the moth remarkable because mechanical defects were ALREADY called bugs. Her 9 Sept. 1945 log entry, which reads, "First actual case of bug being found," makes this quite clear. Even the verb debug must have predated Mark II, since the Supplement cites a 1945 usage in the Journal of the Royal Aeronautical Society which was probably preceded by several years of oral use in engineering slang.

In "Stalking the elusive computer bug" by Peggy Kidwell in "Annals of the History of Computing, IEEE" (Vol. 20. No. 4. pp. 5-9) makes the case that Hopper learned the term "bug" while working on the Harvard Mark I from other engineers on the project,

The Grace Hopper Papers in the National Museum of American History (NMAH, Smithsonian Institution) Archives Center and documents elsewhere show that by 1947, Harvard personnel had been using the word "bug" to describe problems with their computers for several years. Indeed, they apparently adopted the terms "bug, "debug," and "debugging" from contemporary U.S. engineering slang.

Documents related to the operation of the Mark I show others using the term "bug",

The ASCC Mark I arrived at Harvard in February of 1944 and was installed with the assistance of IBM engineers (see Fig. 2). I.B. Cohen has examined a photocopy of the logbook kept by Robert Campbell, a young physicist at the Computation Laboratory. It tersely summarizes hours spent finding and correcting errors. on 17 April 1944, Campbell wrote, "Ran test program. Mr. Durfee from I.B.M. was here to help us find the 'bugs'"

Finally, the term was also being used in the context of programming the Mark I

Hopper arrived at Harvard in early July of 1944. She soon was acutely aware of the bugs that could appear in coding and punching the paper tapes. Instructions she prepared for running one problem on the machine included "a debugging note to operators." This problem ran from November 1945 to March 1946. In a contemporary list of people who worked on solving the problem, Hopper reported "errors in mathematics and tap bugs pursued and captured by Ensign Bloch and Ensign Campbell.

The paper goes on to note that, in the broader sense, term "debugging" did not enter the popular usage until the early 1950's and the paper makes the case that this was in part due to the term already being used by engineers in other contexts.

Thus, it was during the work on the Harvard Mark I that the term "bug" made was made to include issues with both the hardware and software, but the term was not in widespread use. As shown by the lack of of the term in early formal papers on what would now be called debugging, such as "The Diagnosis of Mistakes in Programmes on the EDSAC" by S. Gill in "Proceedings of the Royal Society of London. Series A, Mathematical and Physical Sciences" (Vol. 206, No. 1087 (May 22, 1951), pp. 538-554).

"Grin and Bear it", 23 March 1952

It was not until 1953 when Hopper prepared a glossary for the Eckert–Mauchly Computer Corporation for Univac programmers that "debug" was defined in formal documentation as "to remove a malfunction from a computer or an error from a routine" and it was not the Univac I documentation that definitions would appear that would be recognizable by modern software developers,

Programs provided for the Univac I included an "Automonitor" routine. A January 1953 description of it began, "It frequently becomes necessary in the debugging of routines to follow step by step each operation involved in a specific computation." Documentation for another program, called "Codesearch," explained that it would be used if "a bug is encountered in a routine and on typing out the memory, the programmer discovers that a memory location, 289 for instance, contains decimal zero instead of the expected instruction."

Thus, while a very compelling case can be made for Hopper being at least in part responsive for the widespread adoption of the terms "bug" and "debugging" in the software industry through her work on the Univac documentation, evidence exists to show that the terms were already associated with programming the Harvard Mark I prior to Hopper's arrival at Harvard in July of 1944.

So, as the question is phrased, yes the term "bug" was used to refer to errors in software prior to terms being popularized in the the early 1950's; however, the extent of the usage appears to be limited with the strongest case only being made for the term being used at Harvard University and by those associated with those projects.

  • 2
    @rob the term bug, yes. the idiom "software bug" does not appear in literature before 1946 according to Google ngram, so it must not have been widely in use. Running a test program to find bugs, in the IEEE quote, is meant as finding hardware faults, as at the time it was not possible to automatically test software with other software. So yes, "bug" indicated hardware faults, but my question is about software, which is a different thing, even at the times of the Harvard MK1, which had actual software running on it. – Sklivvz Dec 10 '13 at 16:13
  • @Sklivvz Google ngram is an unreliable source as an argument since it is only as good as its data source. Plus, the IEEE paper makes it clear that the term referred to both hardware and software issues. I'll expand the quotes some more but we've really hitting the point where actually reading the sourced material in full is going to be required. – rjzii Dec 10 '13 at 16:22
  • At least for the EDSAC there was debugging software called "post-mortem". cl.cam.ac.uk/events/EDSAC99/simulators/india/writing.html – liftarn Jun 23 '14 at 10:26

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .