An overview of JML tools and applications
Abstract The Java Modeling Language (JML) can be used to specify the detailed design of
Java classes and interfaces by adding annotations to Java source files. The aim of JML is to …
Java classes and interfaces by adding annotations to Java source files. The aim of JML is to …
Automated API property inference techniques
MP Robillard, E Bodden, D Kawrykow… - IEEE Transactions …, 2012 - ieeexplore.ieee.org
Frameworks and libraries offer reusable and customizable functionality through Application
Programming Interfaces (APIs). Correctly using large and sophisticated APIs can represent a …
Programming Interfaces (APIs). Correctly using large and sophisticated APIs can represent a …
The oracle problem in software testing: A survey
Testing involves examining the behaviour of a system in order to discover potential faults.
Given an input for a system, the challenge of distinguishing the corresponding desired …
Given an input for a system, the challenge of distinguishing the corresponding desired …
The Daikon system for dynamic detection of likely invariants
Daikon is an implementation of dynamic detection of likely invariants; that is, the Daikon
invariant detector reports likely program invariants. An invariant is a property that holds at a …
invariant detector reports likely program invariants. An invariant is a property that holds at a …
Feedback-directed random test generation
We present a technique that improves random test generation by incorporating feedback
obtained from executing test inputs as they are created. Our technique builds inputs …
obtained from executing test inputs as they are created. Our technique builds inputs …
Automatic generation of software behavioral models
Dynamic analysis of software systems produces behavioral models that are useful for
analysis, verification and testing. The main techniques for extracting models of functional …
analysis, verification and testing. The main techniques for extracting models of functional …
Evolutionary testing of classes
P Tonella - ACM SIGSOFT Software Engineering Notes, 2004 - dl.acm.org
Object oriented programming promotes reuse of classes in multiple contexts. Thus, a class is
designed and implemented with several usage scenarios in mind, some of which possibly …
designed and implemented with several usage scenarios in mind, some of which possibly …
DySy: Dynamic symbolic execution for invariant inference
Dynamically discovering likely program invariants from concrete test executions has
emerged as a highly promising software engineering technique. Dynamic invariant …
emerged as a highly promising software engineering technique. Dynamic invariant …
Eclat: Automatic generation and classification of test inputs
C Pacheco, MD Ernst - ECOOP 2005-Object-Oriented Programming: 19th …, 2005 - Springer
This paper describes a technique that selects, from a large set of test inputs, a small subset
likely to reveal faults in the software under test. The technique takes a program or software …
likely to reveal faults in the software under test. The technique takes a program or software …
Parameterized unit tests
N Tillmann, W Schulte - ACM SIGSOFT Software Engineering Notes, 2005 - dl.acm.org
Parameterized unit tests extend the current industry practice of using closed unit tests
defined as parameterless methods. Parameterized unit tests separate two concerns: 1) They …
defined as parameterless methods. Parameterized unit tests separate two concerns: 1) They …