Software specifications assist in the implementation of software by stating expected software behavior. Many software specifications are deterministic, i.e., the software produces the same output for the same input. However, some specifications are underdetermined, meaning that the software may produce different outputs given the same input. Underdetermined specifications are not uncommon because they can offer some advantages over deterministic ones. For instance, underdetermined specifications can allow for optimization as developers can be more flexible when conducting speed optimization. We encounter potential problems when deterministic implementations produce different outputs. For example, even though the Java standard library does n...
Program verification is a promising approach to improving program quality, because it can search all...
Clause, JamesTesting is playing a crucial and fundamental role in modern software development. Alth...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...
Automated program repair (APR) techniques have shown a promising ability to generate patches that fi...
The specifications of a program can be dynamically inferred from its executions, or equivalently, fr...
Mining specifications and using them for bug detection is a promising way to reveal bugs in programs...
Computer programs need to deal with nondeterministic environments. This nondeterminism may arise fro...
Bugs exist in software systems; unfortunately, manually finding bugs and repairing them is complex, ...
An interface specification language such as JML provides a means to document precisely the behavior ...
We present an approach for describing tests using non-deterministic test generation programs. To wri...
Background: Test resources are usually limited and therefore it is often not possible to completely ...
The problem addressed in this paper is sound, scalable, demand-driven null-dereference verification ...
A major obstacle to nding program errors in a real sys-tem is knowing what correctness rules the sys...
Java exception checks are designed to ensure that any faulting instruction causing a hardware except...
ContextDefect prediction can help at prioritizing testing tasks by, for instance, ranking a list of ...
Program verification is a promising approach to improving program quality, because it can search all...
Clause, JamesTesting is playing a crucial and fundamental role in modern software development. Alth...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...
Automated program repair (APR) techniques have shown a promising ability to generate patches that fi...
The specifications of a program can be dynamically inferred from its executions, or equivalently, fr...
Mining specifications and using them for bug detection is a promising way to reveal bugs in programs...
Computer programs need to deal with nondeterministic environments. This nondeterminism may arise fro...
Bugs exist in software systems; unfortunately, manually finding bugs and repairing them is complex, ...
An interface specification language such as JML provides a means to document precisely the behavior ...
We present an approach for describing tests using non-deterministic test generation programs. To wri...
Background: Test resources are usually limited and therefore it is often not possible to completely ...
The problem addressed in this paper is sound, scalable, demand-driven null-dereference verification ...
A major obstacle to nding program errors in a real sys-tem is knowing what correctness rules the sys...
Java exception checks are designed to ensure that any faulting instruction causing a hardware except...
ContextDefect prediction can help at prioritizing testing tasks by, for instance, ranking a list of ...
Program verification is a promising approach to improving program quality, because it can search all...
Clause, JamesTesting is playing a crucial and fundamental role in modern software development. Alth...
Current JDK Java compiler relies on programmer’s declarations (bythrows clauses) for checking agains...