Extended Static Checking for Java

@inproceedings{Nelson2002ExtendedSC,
  title={Extended Static Checking for Java},
  author={Greg Nelson},
  booktitle={MPC},
  year={2002}
}
The talk provides an overview and demonstration of an Extended Static Checker for the Java programming language, a program checker that finds errors statically but has a much more accurate semantic model than existing static checkers like type checkers and data flow analysers. For example, ESC/Java uses an automatic theorem-prover and reasons about the semantics of assignments and tests in the same way that a program verifier does. But the checker is fully automatic, and feels to the programmer… Expand
Types for safe locking: Static race detection for Java
TLDR
A static race-detection analysis for multithreaded shared-memory programs, focusing on the Java programming language, based on a type system that captures many common synchronization patterns and two improvements that facilitate checking much larger programs are described. Expand
The VeriJava Programming System : An Overview
VeriJava is a novel programming system, which extends Java language, with just a few new language constructs, to support adding contracts to Java. VeriJava consists of an object-oriented programmingExpand
Automatic verification of Eiffel programs
TLDR
The goal of this thesis is to develop an automatic verifier for Eiffel which can prove existing code without the need of further annotations, and implemented an automatic extraction of modifies clauses. Expand
Pluggable checking and inferencing of nonnull types for Java
TLDR
A non-null type checker for Java and a new non- null inferencing algorithm for analyzing legacy code are implemented, illustrating how pluggable type systems can be achieved. Expand
Simplify: a theorem prover for program checking
TLDR
The article describes two techniques, error context reporting and error localization, for helping the user to determine the reason that a false conjecture is false, and includes detailed performance figures on conjectures derived from realistic program-checking problems. Expand
Model-Checking C Programs against JML-like Specification Language
TLDR
This paper proposes a bounded model checker CForge and its specification language, aiming in the middle of these two approaches, which has JML-like syntax extended with C-specific constructs and is designed to be suited for model checking. Expand
Verifying Eiffel Programs with Boogie
TLDR
AutoProof is presented, a verification tool that translates Eiffel programs to Boogie and uses the Boogie verifier to prove them, and fully supports several advanced object-oriented features including polymorphism, inheritance, and function objects. Expand
Technologies for finding errors in object-oriented software
TLDR
These lectures give the semantics of a language with modern objectoriented features and consider several issues in the specification of object-oriented programs, including some recently formalized methodology. Expand
Proving and Disproving in Dynamic Logic for Java
TLDR
In this thesis, it is shown how both correctness and incorrectness can be covered by dynamic logic for Java (a program logic) and be handled using similar techniques. Expand
The fugue protocol checker: is your software baroque? technical report msr-tr-2004-07
TLDR
Fugue is introduced, a modular static checker for languages that compile to the Common Language Runtime that allows the rules for using an interface to be recorded as declarative specifications and provides a range of annotations that allow a developer to specify interface rule with varying precision. Expand
...
1
2
3
4
5
...

References

SHOWING 1-10 OF 48 REFERENCES
Extended static checking for Java
TLDR
The Extended Static Checker for Java (ESC/Java) is introduced, an experimental compile-time program checker that finds common programming errors and provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. Expand
ESC/Java User's Manual
TLDR
This manual starts by providing an overview of ESC/Java through an illustrative example of its use and a summary of its features, and then goes on to document all the pragmas supported by ESC/ Java and all the kinds of warnings that it generates. Expand
Model checking programs
TLDR
A verification and testing environment for Java, called Java PathFinder (JPF), which integrates model checking, program analysis and testing, and uses state compression to handle large states and partial order reduction, slicing, abstraction and run-time analysis techniques to reduce the state space. Expand
Checking Java Programs via Guarded Commands
TLDR
A simple guarded-command–like language and its semantics is defined, used as an intermediate language in generating verification conditions for Java, and why it is a good idea to generate verification conditions via an intermediatelanguage, rather than directly. Expand
Houdini, an Annotation Assistant for ESC/Java
TLDR
Houdini is presented, an annotation assistant for the modular checker ESC/Java, which generates a large number of candidate annotations and uses ESC/ Java to verify or refute each of these annotations. Expand
Applications of Extended Static Checking
TLDR
Other possible applications of the extended static checking technique to the problem of producing quality software more quickly are discussed. Expand
Extended Static Checking: A Ten-Year Perspective
TLDR
An overview of the technology that goes into program checkers is given, some of the progress and lessons learned in the past ten years are reported on, and some remaining challenges are identified. Expand
Predicate abstraction for software verification
TLDR
A novel feature of this approach is that it infers universally-quantified loop invariants, which are crucial for verifying programs that manipulate unbounded data such as arrays, and presents heuristics for generating appropriate predicates for each loop automatically. Expand
Extended static checking
TLDR
This talk reports on some of the research results of and the current state of the Extended Static Checking project at DEC SRC. Expand
Lint, a C Program Checker
TLDR
This document discusses the use of lint, gives an overview of the implementa- tion, and gives some hints on the writing of machine independent C code. Expand
...
1
2
3
4
5
...