Content replaced at author's request on 2013-12-17.We introduce a general way to locate program errors that are detected by type systems and other program analyses. The program analysis is expressed in a constraint language in which program errors manifest as unsatisfiable constraints. Given an unsatisfiable system of constraints, both satisfiable and unsatisfiable constraints are analyzed, to identify the program expressions most likely to be the cause of unsatisfiability. The likelihood of different error explanations is evaluated under the assumption that the programmer’s code is mostly correct, so the simplest error explanations are chosen, following Bayesian principles. For analyses that rely on programmer-stated assumptions, the diagn...
Static program analysis is a technique to analyse code without executing it, and can be used to find...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
There are almost always differences between the behavior intended by a programmer and the behavior a...
We introduce a general way to locate programmer mistakes that are detected by static anal-yses such ...
Static type systems are a powerful tool for reasoning about the safety of programs. Global type infe...
Static analysis has commonly beenknown as a technique for finding violations of superficial stylisti...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...
Advanced static-analysis tools for finding programming errors have become very popular recently. The...
A review of work on the occurrence and detection of errors in computer programs is presented. This i...
Any programming error that can be revealed before compiling a program saves precious time for the pr...
Static program analysis and model checking are two dif-ferent techniques in bug detection that perfo...
A large number of tools that automate the process of finding errors in pro-grams has recently emerge...
Automatic type inference is a popular feature of functional programming languages. If a program cann...
Abstract—No single software fault-detection technique is capable of addressing all fault-detection c...
Software bugs are costly: they can have disastrous consequences on critical systems, but also on mor...
Static program analysis is a technique to analyse code without executing it, and can be used to find...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
There are almost always differences between the behavior intended by a programmer and the behavior a...
We introduce a general way to locate programmer mistakes that are detected by static anal-yses such ...
Static type systems are a powerful tool for reasoning about the safety of programs. Global type infe...
Static analysis has commonly beenknown as a technique for finding violations of superficial stylisti...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...
Advanced static-analysis tools for finding programming errors have become very popular recently. The...
A review of work on the occurrence and detection of errors in computer programs is presented. This i...
Any programming error that can be revealed before compiling a program saves precious time for the pr...
Static program analysis and model checking are two dif-ferent techniques in bug detection that perfo...
A large number of tools that automate the process of finding errors in pro-grams has recently emerge...
Automatic type inference is a popular feature of functional programming languages. If a program cann...
Abstract—No single software fault-detection technique is capable of addressing all fault-detection c...
Software bugs are costly: they can have disastrous consequences on critical systems, but also on mor...
Static program analysis is a technique to analyse code without executing it, and can be used to find...
We propose a testing framework for validating static typing procedures in compilers. Our core compon...
There are almost always differences between the behavior intended by a programmer and the behavior a...