We introduce Alhazen—an approach that automatically determines the circumstances under which a particular program behavior, such as a failure, takes place. Alhazen starts with a run that exhibits this behavior and automatically determines _input features_ associated with the behavior in question: (1) We use a _grammar_ to parse the input into individual elements. (2) We determine _features_ from the elements such as existence, length, or numerical values. (3) We use a decision tree learner to _observe_ and _learn_ which input features are associated with the behavior in question. (4) We use the grammar to _generate additional inputs_ to further strengthen or refute hypotheses as learned associations. (5) By repeating steps 2 to 4, we o...
The overall debugging process is a complicated and troublesome task, involving several stagesand dim...
A program's behavior is ultimately the collection of all its executions. This collection is diverse,...
Analyzing the executions of a buggy program is essentially a data mining process: Tracing the data g...
peer reviewedWe introduce Alhazen — an approach that automatically determines the circumstances unde...
Which is the defect that causes a software failure? By comparing the program states of a failing and...
Why does my program fail? We present a novel and general technique to automatically determine failur...
“Why does my program crash?”—This ever recurring ques-tion of software debugging drives the develope...
Software is a ubiquitous component of our daily life. We often depend on the correct working of soft...
peer reviewedA program fails. Under which circumstances does the failure occur? Starting with a sing...
Context. Software defect prediction aims to reduce the large costs involved with faults in a softwar...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
Software is a ubiquitous component of our daily life. We of-ten depend on the correct working of sof...
Program verication is a promising approach to improving program quality, because it can search all p...
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Compute...
[[abstract]]Software crash occurs frequently in our daily life due to poor programming of software. ...
The overall debugging process is a complicated and troublesome task, involving several stagesand dim...
A program's behavior is ultimately the collection of all its executions. This collection is diverse,...
Analyzing the executions of a buggy program is essentially a data mining process: Tracing the data g...
peer reviewedWe introduce Alhazen — an approach that automatically determines the circumstances unde...
Which is the defect that causes a software failure? By comparing the program states of a failing and...
Why does my program fail? We present a novel and general technique to automatically determine failur...
“Why does my program crash?”—This ever recurring ques-tion of software debugging drives the develope...
Software is a ubiquitous component of our daily life. We often depend on the correct working of soft...
peer reviewedA program fails. Under which circumstances does the failure occur? Starting with a sing...
Context. Software defect prediction aims to reduce the large costs involved with faults in a softwar...
Although software is pervasive, almost all programs suffer from bugs and errors. To detect software ...
Software is a ubiquitous component of our daily life. We of-ten depend on the correct working of sof...
Program verication is a promising approach to improving program quality, because it can search all p...
Thesis (M. Eng.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Compute...
[[abstract]]Software crash occurs frequently in our daily life due to poor programming of software. ...
The overall debugging process is a complicated and troublesome task, involving several stagesand dim...
A program's behavior is ultimately the collection of all its executions. This collection is diverse,...
Analyzing the executions of a buggy program is essentially a data mining process: Tracing the data g...