A major obstacle to nding program errors in a real sys-tem is knowing what correctness rules the system must obey. These rules are often undocumented or specied in an ad hoc manner. This paper demonstrates tech-niques that automatically extract such checking infor-mation from the source code itself, rather than the pro-grammer, thereby avoiding the need for a priori knowl-edge of system rules. The cornerstone of our approach is inferring pro-grammer \beliefs " that we then cross-check for contra-dictions. Beliefs are facts implied by code: a dereference of a pointer, p, implies a belief that p is non-null, a call to \unlock(l) " implies that l was locked, etc. For be-liefs we know the programmer must hold, such as the pointer dere...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
Several approaches to the meaning and uses of errors in software development are discussed. An exper...
A major obstacle to nding program errors in a real system is knowing what correctness rules the sys...
We propose an approach for the automatic detection of po-tential design defects in code. The detecti...
Analyzing the executions of a buggy program is essentially a data mining process: Tracing the data g...
Error diagnosis, which is the process of identifying the root causes of bugs in software, is a time-...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
Software inevitably contains mistakes and operates incorrectly in at least some situations. As a res...
Access restricted to the OSU CommunityThis thesis shows how probabilistic graphical models may be ap...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
There has been a large body of work on local reasoning for proving the absence of bugs, but none for...
Bug fix is an important and challenging task in software development and maintenance. Bug fix is als...
Program verification is a promising approach to improving program quality, because it can search all...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
Several approaches to the meaning and uses of errors in software development are discussed. An exper...
A major obstacle to nding program errors in a real system is knowing what correctness rules the sys...
We propose an approach for the automatic detection of po-tential design defects in code. The detecti...
Analyzing the executions of a buggy program is essentially a data mining process: Tracing the data g...
Error diagnosis, which is the process of identifying the root causes of bugs in software, is a time-...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
Software inevitably contains mistakes and operates incorrectly in at least some situations. As a res...
Access restricted to the OSU CommunityThis thesis shows how probabilistic graphical models may be ap...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
There has been a large body of work on local reasoning for proving the absence of bugs, but none for...
Bug fix is an important and challenging task in software development and maintenance. Bug fix is als...
Program verification is a promising approach to improving program quality, because it can search all...
International audienceA significant percentage of warnings reported by tools to detect coding standa...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
Several approaches to the meaning and uses of errors in software development are discussed. An exper...