We introduce a general way to locate programmer mistakes that are detected by static anal-yses such as type checking. The program analysis is expressed in a constraint language in which mistakes result in 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 explanations are chosen, following Bayesian principles. For analyses that rely on programmer-stated assumptions, the diagnosis also identifies assumptions likely to have been omitted....
A large number of tools that automate the process of finding errors in pro-grams has recently emerge...
Computer science and software engineering education usually contain programming courses that require...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...
Content replaced at author's request on 2013-12-17.We introduce a general way to locate program erro...
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...
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...
Advanced static-analysis tools for finding programming errors have become very popular recently. The...
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...
Static analysis is nowadays an essential component of many software development toolsets, attracting...
Static checking can verify the absence of errors in a program, but often requires written annotation...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
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...
Computer science and software engineering education usually contain programming courses that require...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...
Content replaced at author's request on 2013-12-17.We introduce a general way to locate program erro...
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...
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...
Advanced static-analysis tools for finding programming errors have become very popular recently. The...
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...
Static analysis is nowadays an essential component of many software development toolsets, attracting...
Static checking can verify the absence of errors in a program, but often requires written annotation...
Flaws in computer software are a fact of life, both in small and large-scale applications. Compile...
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...
Computer science and software engineering education usually contain programming courses that require...
This chapter presents a static diagnosis tool that locates type errors in untyped CLP programs witho...