An overview of JML tools and applications

L Burdy, Y Cheon, DR Cok, MD Ernst, JR Kiniry… - International journal on …, 2005 - Springer
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 …

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 …

The oracle problem in software testing: A survey

ET Barr, M Harman, P McMinn… - IEEE transactions on …, 2014 - ieeexplore.ieee.org
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 …

The Daikon system for dynamic detection of likely invariants

MD Ernst, JH Perkins, PJ Guo, S McCamant… - Science of computer …, 2007 - Elsevier
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 …

Feedback-directed random test generation

C Pacheco, SK Lahiri, MD Ernst… - … Conference on Software …, 2007 - ieeexplore.ieee.org
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 …

Automatic generation of software behavioral models

D Lorenzoli, L Mariani, M Pezzè - … of the 30th international conference on …, 2008 - dl.acm.org
Dynamic analysis of software systems produces behavioral models that are useful for
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 …

DySy: Dynamic symbolic execution for invariant inference

C Csallner, N Tillmann, Y Smaragdakis - Proceedings of the 30th …, 2008 - dl.acm.org
Dynamically discovering likely program invariants from concrete test executions has
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 …

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 …