Grace Hopper Celebrations of Women in Computing 2014 is a just few days away and I will be one among the many volunteers to blog about it. While I am preparing to attend this year's GHC14, I just found a hard-to-miss connection between Ms. Grace Hopper and the first generation of software testing. I thought to write about it, since I am part of both the communities i.e., women in computing and software testing.
[Admiral Grace Murray Hopper: Photo Courtesy of United States Navy, taken from Wikipedia]
Popular among her peers as "Amazing Grace", Admiral Grace Murray Hopper (1906 – 1992) is undoubtedly a pioneer in the field of computer science. She is known for her contributions to Harvard Mark I computer as one of its first programmers, writing one of the first compilers for A-0 programming language, inventing the FLOW-MATIC language, which laid design foundations for COBOL which was the first programming languages to be standardized and Ms. Hopper received the title of Grandma COBOL for her ground breaking work. And lastly, those who have ever used the term "bug" in software testing to describe a computer malfunction or a software problem, you have got Ms. Hopper to thank as well.
The term "debugging" (in computers) is attributed to admiral Hopper in 1947, though the word "bug" was first used by Thomas Alva Edison in 1870's to describe a flaw in a system. During the testing phase of Mark II Aiken Relay Calculator at Harvard University, Ms. Hopper and her associates discovered a dead moth stuck in a relay wiring, causing the system's malfunction. The bug was removed and saved in the group's logbook. At this point Ms. Hopper shared an engineer's sense of humor and remarked that they were "debugging" the system. It is still controversial that she did or did not coined the term "debugging" as a process of removing a bug from a system, but the moth fit the already existing terminology. Historically, Ms. Hopper is known for bringing the term into popularity. The remains of that bug are saved at the Smithsonian Institution's National Museum of American History in Washington, D.C. A note next to that bug entry says "First actual case of bug being found".
- U.S. Naval Historical Center Online Library Photograph NH 96566-KN]
According to Gelperin, D. and B. Hetzel (1988), debugging period marked the first era of modern software testing. These authors established a timeline of software testing generations in their renowned publication "The Growth of Software Testing". First generation of software testers emphasized on debugging the code for finding bugs, until 1956. The two terms, software testing or software debugging were used interchangeability and viewed as a methodical process of finding and reducing the number of bugs, or defects, in a computer program or a piece of electronic hardware. Even today, “finding bugs” is considered to be the most important and competitive part of a software tester’s job. The more bugs you find, the better tester you are! (ironic)
[Google Doodle 9th December , 2013: Celebrating Admiral Grace Hopper's 107 Birthday
Photo Courtesy http://techresorteb.com/grandma-cobol/]
There are more than one reasons to celebrate Ms. Hopper's accomplishments in the field of computing. But as a programmer or a tester, the next time you file a bug or debug your code, do not forget to thank admiral Hopper for her contributions.
Nice blog and you share very useful information :).I am also new in this field and for me such type information are worthful .
ReplyDeleteThank you Ridha. I will try to make this space more useful and informative for you and other readers. :)
ReplyDelete