How did the first software debugging process come to life?
The history of ENIAC
During World War II, with most sent off to war the increasing lack of men in the country had the U.S.Army resorted to hiring an all women team to work on a project that was electronically calculating ballistic trajectories, which were previously done by hand. Betty Snyder was accepted in this program alongside other women like Kathleen McNulty of the famed Moore School of Engineering, to work exclusively as computers or ‘human computers’ for the US Army, labeling them as “sub-professionals”.
Shortly thereafter, Betty also got selected along with five other women mathematicians including Kathleen McNulty, Jean Jennings, Marlyn Wescoff, Frances Bilas, and Ruth Lichterman for the ENIAC project. A team of 6– to develop a novel pioneering computer program: the first multifunctional electronic computer in history, the Electronic Numerical Integrator And Computer AKA (ENIAC).
The ENIAC was being secretly deployed during the early years of world war II to calculate the trajectories of nuclear missiles being built at the Los Alamos National Laboratory and was capable of performing the mathematical feat of 5000 additions and 300 multiplications per second owing to the work done by this group of talented women.
The Electronic Numerical Integrator and Computer, or ENIAC, had received a mammoth funding spree from the US military. The thing was huge, weighing more than 30 tons. Working for these overgrown calculators, and hiring technicians to write instructions for the Eniac, it had made perfect sense to pick an all-female team. Back then, men would have figured out the Eniac’s functionality and purpose, while the women “were busy programming” it to execute the given instructions.
The “breakpoint” story
The Eniac women team was among the first coders to discover that software never works right for the first time. And it surely was true. The programmer’s main work often would boil down to finding and fixing bugs. And their random makeshift innovations included some of the future software testing core concepts. Betty had realized early on that wanting to debug a program would require having a “breakpoint”. In other words, a moment that could force shut a program midway through its run.
And did you know?
To this day, breakpoints are still a key part of the software debugging process.
Who was Betty (Elizabeth) Snyder Holberton?
Presenting the story of Betty (Elizabeth) Snyder Holberton, one of the six programmers of the first ever digital multifunctional computer, was recognized for her contributions to the COBOL language and also for her research in the field of computer programming that eventually led to designing the software models used by modern computers today.
Betty Holberton was an American mathematician and programmer back in the day, who had participated in the development and programming of the first digital multifunctional computer deployed in history during World War II to calculate ballistic warhead trajectories.
Her significant contributions especially in the field of programming and mathematics led to the famed prototyping of all modern programming languages and created the building blocks of the foundational frameworks of the modern electronic computing industry.
Holberton had famously invented the breakpoints in computer debugging.
Elizabeth AKA ‘Betty’ Holberton, the Inventor of Breakpoints, was one of the six original programmers of the ENIAC.
Holberton had devised an ingenious way to poke into the innards of the mighty electronic brain (the operating system), to further analyze its state and be able to debug it.
So how did the technique she invented actually work? And why was it called breakpoints?
Because they actually did pull the wire to force stop the programs and read the accumulators off. This was, actually breaking the point, quite literally and that was where the word originally came from, according to Elizabeth Holberton herself.
So there we have it on paper: Real programmers had actually pulled out wires of the computers to try and debug their programs.
Jokes apart, it really demonstrates the determination these women had to solve problems on the table with some critical thinking.
What were they actually debugging?
The Heun’s Equation data according to Holberton herself was not fed or entered correctly into the machine. They had it cross verified via human computers who actually did the calculations. They compared the final results to compare with the results returned by the ENIAC. So here’s how the first-ever software testing experiment worked from back in the day.
However, Holberton had quipped a funny anecdote about their novel debugging efforts for a program that was failing.
They had noticed that earlier a man had brought in some visitors to showcase the ENIAC. Once they left, the program had suspiciously started giving wrong results. So Holberton and her colleagues turned sleuths themselves to find and debug the problem. In her own words:
“We figured out where he had been standing, you know, and I remembered him standing in front of one of the accumulators, in front of the function table, and he was shorter than the function table and so I figured out just about where his hand would be and we started checking with our sheets as to if any switches that were turned, and sure enough he had turned a switch and didn’t turn it back on .”
Years later, she also participated in the development of the UNIVAC I, the first ever computer controlled by keyboard-entered instructions that were available on the market. While working on the development of UNIVAC I by designing the control console and its numeric keyboards, Betty wrote the first generative programming system and the first statistical analysis package, which was used for calculations in the first-ever U.S. census conducted in 1950. Additionally, she also contributed to the significant development of the C-10 instructions for BINAC, considered the prototype for all modern programming languages today. Related to this field of study, she also participated in the writing of the first standards for the COBOL and FORTRAN teaming up with none other than Grace Hopper.
In her later years, she continued to work further in the fields of programming and mathematics receiving several awards for her contributions in these respective genres. Becoming the only one of the six at ENIAC to receive the Ada Lovelace Award, the most prestigious award in the field of programming, as well as the IEEE Computer Society’s IEEE Computer Pioneer Award. In the same year, the six ENIAC programmers were all inducted into the Women in Technology Hall of Fame as a mark of recognition for their work about 50 years earlier.
Did you know?
Due to their influence in the world of computer programming, there is currently an institution named the Holberton School, existing in several countries having its graduated professionals working for modern large tech based companies such the likes of Tesla and Google.
Word of Caution:
Holberton’s learning lesson – Always remember to try and leave the switches on in the same position just as you had found them! Till then…
About Thought Frameworks
Thought Frameworks is a U.S. based QA and software testing organization that’s been leading in business since 2009, armed with the ultimate solutions for all your software’s QA testing challenges. Having headquarters both in California, USA and a fully functional well equipped QA Test Lab in Bengaluru-India, that delivers premium QA and QC services endlessly across different Industry domains and niches. An ISTQB Silver Partnered Company, our superhuman test team heroes have delivered numerous successful QA and QC projects for clients across the globe. Get powered by our deep dive bug hunting process that helps your software in clocking release cycles on time while delivering excelling quality and functionality.
The Evolution of Software Testing - Thought Frameworks Edition Introduction The increasing emphasis on the timely delivery of a quality software has undoubtedly made software testing an inseparably integral part
Navigating QA Career Journeys Introduction The role of software testing has emerged as a critical component in ensuring quality, reliability, and functionality for most of the software applications out there