DocumentCode :
863697
Title :
Bug busters
Author :
Spinellis, Diomidis
Author_Institution :
Dept. of Manage. Sci. & Technol., Athens Univ. of Econ. & Bus., Greece
Volume :
23
Issue :
2
fYear :
2006
Firstpage :
92
Lastpage :
93
Abstract :
One way to deal with bugs is to avoid them entirely. The approach would be wasteful because we´d be underutilizing the many automated tools and techniques that can catch bugs for us. Most tools for eliminating bugs work by tightening the specifications of what we build. At the program code level, tighter specifications affect the operations allowed on various data types, our program´s behavior, and our code´s style. Furthermore, we can use many different approaches to verify that our code is on track: the programming language, its compiler, specialized tools, libraries, and embedded tests are our most obvious friends. We can delegate bug busting to code. Many libraries come with hooks or specialized builds that can catch questionable argument values, resource leaks, and wrong ordering of function calls. Bugs many be a fact of life, but they´re not inevitable. We have some powerful tools to find them before they mess with our programs, and the good news is that these tools get better every year.
Keywords :
formal specification; formal verification; program compilers; program debugging; program diagnostics; software tools; formal specification; formal verification; program code level; program compiler; program debugging; program diagnostics; software tools; Buffer overflow; Computer bugs; Computer crashes; Computer languages; Java; Libraries; Pressing; Program processors; Security; Testing; Lint; annotations; bugs; errors; tools; type checking;
fLanguage :
English
Journal_Title :
Software, IEEE
Publisher :
ieee
ISSN :
0740-7459
Type :
jour
DOI :
10.1109/MS.2006.40
Filename :
1605184
Link To Document :
بازگشت