Title
Application of redundant computation in program debugging
Abstract
Programmers spend most of their time and resources in localizing program defects. On the other hand, they commit many errors by manipulating dynamic data improperly, which may produce dynamic memory problems, such as dangling pointer, memory leaks, and inaccessible objects. Dangling pointers can occur when a function returns a pointer to an automatic variable, or when trying to access a deleted object. Inaccessible objects occur when a pointer is assigned to point to another object, leaving the original object inaccessible, either by using the new operator or regular assignment operator. Memory leaks occur when a dynamic data is allocated but never de-allocated. The existence of such dynamic memory problems causes the programs to behave incorrectly. Improper usage of dynamic data is a common defect that is easy to commit, but is difficult to diagnose and discover. In this paper, we propose a dynamic approach that detects different types of program defects including those that occur as a result of misusing the dynamic data in computer programs. Our approach uses the notion of redundant computation to identify the suspicious locations in the program that may contain defects. Redundant computation is an execution of a program statement(s) that does not contribute to the program output. The notion of redundant computation is introduced as a potential indicator of defects in programs. We investigate the application of redundant computation in debugging programs. The detection of redundant computation indicates deficiency that may represent a bug in the program. The results of the experiment show that, the redundant computation detection can help the debuggers to localize the source(s) of the program defects.
Year
DOI
Venue
2008
10.1016/j.jss.2008.02.024
Journal of Systems and Software
Keywords
Field
DocType
inaccessible object,dangling pointers,dynamic data,memory leak,debugging program,memory leaks,dynamic memory problem,dynamic approach,program debugging,dangling pointer,computer program,defect localization,redundant computation,program defect
Pointer (computer programming),Assignment,Programming language,Commit,Computer science,Real-time computing,Theoretical computer science,Dangling pointer,Dynamic data,Memory leak,Debugging,Computation
Journal
Volume
Issue
ISSN
81
11
The Journal of Systems & Software
Citations 
PageRank 
References 
2
0.40
28
Authors
1
Name
Order
Citations
PageRank
Zakarya A. Alzamil1141.66