UDITA: Language for Test Generation

Welcome to the UDITA project homepage. UDITA is a language that allows users to combine the expressive strengths of both filtering (declarative) and generating (imperative) test abstractions to create more expressive composable test generation programs. UDITA also provides execution mechanisms to ensure that greater expressiveness also leads to greater efficiency.

On This Page

Publicationsback to the top

Test Generation through Programming in UDITA

By Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sarfraz Khurshid, Viktor Kuncak, and Darko Marinov.
32nd International Conference on Software Engineering
(ICSE 2010), pages 225-234, Cape Town, South Africa, May 2010. pdf.

On Test Generation through Programming in UDITA

By Milos Gligoric, Tihomir Gvero, Vilas Jagannath, Sarfraz Khurshid, Viktor Kuncak, and Darko Marinov.
In EPFL Technical Report LARA-REPORT-005, September 2009. web page.

Supplemental Experimental Resultsback to the top

Bugs found using UDITA

We found bugs in Eclipse (3.3.2), NetBeans (6.5), Sun javac (1.6.0_16) and Java PathFinder (4.0, SVN revision 1849) using UDITA based test generation programs. The bug reports for those bugs are as follows:

Eclipse bug reports

NetBeans bug reports

Sun javac bug reports

Both these bug reports have been submitted to Sun and are being considered for addition into their bug database.

JPF bug reports and patches

Red Black Tree Sourceback to the top

Another case study we used to evaluate UDITA was a Red Black Tree implementation. You can find the Java and C# sources for the implementation along with all the versions of it with seeded bugs here.

How to use UDITA?back to the top

Here are the instructions for running UDITA to test JPF itself (more specifically, to test conformance of the JPF's JVM to a regular JVM). Note that these instructions were written for the old JPF repository hosted on SourceForge; JPF was meanwhile moved to NASA servers and SourceForge repository was discontinued.

The above downloads also get the files needed for generating programs for testing refactoring engines in Eclipse and NetBeans and for comparing ASTGen and UDITA: