These papers describe Randoop and its underlying techniques in more detail.
Eclat: Automatic generation and classification of test inputs
by Carlos Pacheco and Michael D. Ernst. In ECOOP 2005 -- Object-Oriented Programming, 19th European Conference, (Glasgow, Scotland), 2005.
- The first paper to present the feedback-directed random test generation, which generates each test, evaluates it, and determines whether to use it as a foundation for more tests. Randoop uses this technique.
Feedback-directed random test generation
by Carlos Pacheco, Shuvendu K. Lahiri, Michael D. Ernst, and Thomas Ball. In ICSE '07: Proceedings of the 29th International Conference on Software Engineering, (Minneapolis, MN, USA), 2007.
Slides: PDF PPT
- The main paper describing feedback-directed random test generation and Randoop, as well as experiments that compare the technique with other test generation techniques.
Randoop: Feedback-directed Random Testing for Java by Carlos Pacheco and Michael D. Ernst. In OOPSLA 2007 Companion, Montreal, Canada, Oct. 2007, ACM.
- A short tool paper describing aspects of the Java version of Randoop.
Finding Errors in .NET with Feedback-directed Random Testing by Carlos Pacheco, Shuvendu K. Lahiri, and Thomas Ball. In ISSTA 2008, Seattle, Washington, 2008.
Slides: PDF PPT
- This case study details the use of Randoop at Microsoft (using a .NET version of Randoop). A team of test engineers applied Randoop to a critical .NET component that had been thoroughly tested for years. Still, Randoop found many serious errors.
Directed Random Testing (dissertation).
Other publications that use or evaluate Randoop
Note: this list is seriously outdated! For a more recent collection of publications take a look at this Google Scholar search.
There are 699 results as of 2019-04-26.
The following papers (by other authors) use or evaluate Randoop.
- Predicting Effectiveness of Automatic Testing Tools by Brett Daniel and Marat Boshernitsan. In ASE 2008.
- Predicting and Explaining Automatic Testing Tool Effectiveness by Brett Daniel and Marat Boshernitsan. UIUC Tech Report UIUCDCS-R-2008-2956.
- Improving Structural Testing of Object-Oriented Programs via Integrating Evolutionary Testing and Symbolic Execution by Kobi Inkumsah and Tao Xie. In ASE 2008.
- Making Program Refactoring Safer, by Gustavo Soares, Rohit Gheyi, Dalton Serey, and Tiago Massoni. In IEEE Software, July/August 2010.
Courses that use Randoop
Note: this list is seriously outdated!
If you wish to have your course listed here, let us know.
- Software Testing (Spring 2008) at Universidade Federal de Pernambuco, taught by Marcelo d'Amorim.
- Reliable Software: Testing and Monitoring (Third term 2008), Caltech, taught by Alex Groce.
- UIUC Topics in Software Engineering (Randoop was used in this course in multiple years).
- Automatic Program Checking, Karlsruhe Institute of Technology (2010).
- RIO 2011 C5: Automated Test Generation and Repair.
- Automatic Program Checking, Karlsruhe Institute of Technology (2010, 2011)
.NET version of Randoop
A version of Randoop that works with Microsoft's .NET platform is available at https://github.com/abb-iss/Randoop.NET. Randoop.NET is a from-scratch re-implementation of feedback-directed test generation.
The link above is to ABB Corporation's updated version of Randoop.NET. Compared to the original version of Randoop.NET from Microsoft Research:
- It fixes some bugs.
- It adds new features, notably regression assertions for more effective regression testing, method transformers to delete or replace calls to specific methods in the assembly, and richer debug information collection.
- It adds a GUI, as a VS2010 add-in.