Pluggable type systems have been proposed in order to allow pro-grammers to easily extend a programming language’s type system to enforce new properties of interest. In previous work we pre-sented an approach to supporting pluggable type systems along with an instantiation of the approach for Java, called JAVACOP. This paper evaluates JAVACOP as a practical software development tool. We describe our experiences developing and using four dif-ferent checkers with JAVACOP. The first two checkers illustrate JAVACOP’s ability to enforce domain-specific properties of two different Java libraries, the Polyglot extensible compiler and the JUnit unit-testing framework. The other two checkers illustrate JAVACOP’s ability to express advanced type syst...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Several proof systems allow the formal verification of Java programs, and a specification language w...
We present an approach for describing tests using non-deterministic test generation programs. To wri...
This paper introduces the Checker Framework, which supports adding pluggable type systems to the Jav...
We have created a framework for adding custom type qualifiers to the Javalanguage in a backward-comp...
While test generators have the potential to significantly reduce the costs of software testing and h...
We have created a framework for adding custom type qual-ifiers to the Java language in a backward-co...
We have implemented a non-null type checker for Java and a new non-null inferencing algorithm for an...
Formal program verification can be used as a complementary technique to software testing. It allows ...
Writing unit test code is labor-intensive, hence it is often not done as an integral part of program...
A PEC is a Pattern Enforcing Compiler, which is like a conventional compiler only extended to includ...
Software are increasingly complex and are unavoidably subject toprogramming errors (a.k.a. bugs). Th...
Most languages fall into one of two camps: either they adopt a unique, static type system, or they a...
Software testing has been around for decades and many tools exist to aid developers in their testing...
Monitoring-Oriented Programming (MOP) is a formal framework for software development and analysis, i...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Several proof systems allow the formal verification of Java programs, and a specification language w...
We present an approach for describing tests using non-deterministic test generation programs. To wri...
This paper introduces the Checker Framework, which supports adding pluggable type systems to the Jav...
We have created a framework for adding custom type qualifiers to the Javalanguage in a backward-comp...
While test generators have the potential to significantly reduce the costs of software testing and h...
We have created a framework for adding custom type qual-ifiers to the Java language in a backward-co...
We have implemented a non-null type checker for Java and a new non-null inferencing algorithm for an...
Formal program verification can be used as a complementary technique to software testing. It allows ...
Writing unit test code is labor-intensive, hence it is often not done as an integral part of program...
A PEC is a Pattern Enforcing Compiler, which is like a conventional compiler only extended to includ...
Software are increasingly complex and are unavoidably subject toprogramming errors (a.k.a. bugs). Th...
Most languages fall into one of two camps: either they adopt a unique, static type system, or they a...
Software testing has been around for decades and many tools exist to aid developers in their testing...
Monitoring-Oriented Programming (MOP) is a formal framework for software development and analysis, i...
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer...
Several proof systems allow the formal verification of Java programs, and a specification language w...
We present an approach for describing tests using non-deterministic test generation programs. To wri...