Monday, November 4, 2019

Word of the Day: debugging

 
Word of the Day WhatIs.com
Daily updates on the latest technology terms | November 4, 2019
debugging

Debugging, in computer programming and engineering, is a multistep process that involves identifying a problem, isolating the source of the problem, and then either correcting the problem or determining a way to work around it. The final step of debugging is to test the correction or workaround and make sure it works.

In software development, the debugging process involves locating and correcting code errors in a computer program. Debugging is part of the software testing process and is an integral part of the entire software development lifecycle.

 

The debugging process starts as soon as code is written and continues in successive stages as code is combined with other units of programming to form a software product. In a large program that has thousands and thousands of lines of code, the debugging process can be made easier by using strategies such as unit tests, code reviews and pair programming.

 

How debugging works

Once an error has been identified, it is necessary to actually find the error in the code. At this point, it can be useful to look at the code's logging and use a stand-alone debugger tool or the debugging component of an integrated development environment (IDE). Invariably, bugs in the functions that get used most are found and fixed first. In some cases, the module that presents the problem is obvious, while the line of code itself is not. In that case, unit tests, which allow the programmer to run a specific function with specific inputs, can be helpful in debugging.

The standard practice is to set up a "breakpoint" and run the program until that breakpoint, at which time program execution stops. The debugging component of an IDE typically provides the programmer with the capability to view memory and see variables, run the program to the next breakpoint, execute just the next line of code, and, in some cases, change the value of variables or even change the contents of the line of code about to be executed.

History of debugging

The use of the word bug as a synonym for error originated in engineering. The term's application to computing and the inspiration for using the word debugging as a synonym for troubleshooting has been attributed to Admiral Grace Hopper, a pioneer in computer programming, who was also known for her dry sense of humor.

When an actual bug (a moth) got caught between electrical relays and caused a problem in the U.S. Navy's first computer, Admiral Hopper and her team "debugged" the computer and saved the moth. It now resides in the Smithsonian Museum.

Quote of the Day

 

"Insomnia is a great debugging tool for RESTful APIs. It helps developers test URLs, payload, authorization and headers. It eases debugging through a feature called environment variables that lets you specify repeating values and reduce manual entry." - Twain Taylor

Learning Center

 

UK gets first millionaire ethical hacker
The most competitive bug bounty programs, such as those run by Google, Microsoft, Apple and Intel, offer individual awards as high as $1.5m for critical issues.

Software reliability engineering practices for distributed apps
Software reliability engineering aims to improve performance and use comprehensive information to address bugs and prioritize fixes across APIs, feature code and databases.

DevSecOps puts software development and security on equal footing
As security and testing responsibilities shift left to developers, they take on more accountability for code quality. In DevSecOps, software development teams automate security tests and scans early in the SDLC, which enables them to write feature code relatively unimpeded.

How to tame ever-changing requirements in software development
Changing requirements in software development result from internal issues, like defects, as well as external pressures, such as a new competitor. Grasp which disruptions are most likely to occur and put processes in place to handle them.

Quiz Yourself

 

Review QA fundamentals with this software testing quiz
Software testing occurs throughout the development life cycle, and these tests require a deft hand to execute well. Check your knowledge of the fundamentals to see where you stand.

Stay in Touch

 
For feedback about any of our definitions or to suggest a new definition, please contact us at: editor@whatIs.com

FOLLOW US

TwitterRSS
About This E-Newsletter
The Word of the Day is published by TechTarget, Inc., 275 Grove Street, Newton, Massachusetts, 02466 US.

Click to: Unsubscribe.

You are receiving this email because you are a member of TechTarget. When you access content from this email, your information may be shared with the sponsors or future sponsors of that content and with our Partners, see up-to-date Partners List, as described in our Privacy Policy. For additional information, please contact: webmaster@techtarget.com.

© 2019 TechTarget, Inc. all rights reserved. Designated trademarks, brands, logos, and service marks are the property of their respective owners.

Privacy Policy | Partners List
TechTarget

No comments: