This repository contains the data artifact for our research on unit test generation for documentation.
The content of this repository is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.
To indicate attribution, please link to this repository and cite the following technical report:
Mathieu Nassif, Alexa Hernandez, Ashvitha Sridharan, and Martin P. Robillard. Generating Unit Tests for Documentation. ArXiv preprint arXiv:2005.08750, 12 pages. 18 May 2020.
Section 6 - Usefulness Study
: this folder contains the configuration and results of our application of DScribe to the Apache Commons IO project, as well as an Excel file detailing all identified exception specification units (ESU). The internal structure is as follows:Apache Commons IO.xlsx
: detail of the ESUsagreement-usefulness.xlsx
: results of the independent re-annotation phase to assess the subjectivity of the taskconfigs
: invocation filestemplates
: template definition fileoutput-tests
: generated unit testsoutput-docs
: generated documentation (look for@dscribe
Javadoc tags)testUtils
: helper methods for the test code
Section 7 - Comparison Study
: this folder contains the sample of unit tests generated by DScribe, EvoSuite, and Randoop, as well as tests from the Apache Commons IO test suite, annotated by external developers for their focus and readability. The internal structure is as follows:Annotation Results.xlsx
: raw annotations given by the annotatorsAnnotator {A,B,C,D} tests
: tests evaluated by each annotator, sampled from all four test suites and transformed to remove generation artifacts (e.g., serial test names such astest0123
)EvoSuite tests
: all tests generated by EvoSuiteRandoop tests
: all tests generated by Randoop- Tests generated by DScribe are available in the
Section 6 - Usefulness Study
folder, and tests from the Commons IO test suite are available at https://github.com/apache/commons-io/tree/commons-io-2.6/src/test/java/org/apache/commons/io
Section 8 - Validation Study
: this folder contains the detailed list of all units of specifications extracted from a subset the unit tests of the Apache Commons Lang, Math, and Configuration projects, as well as the results of the independent re-annotation to assess the subjectivity of the study.Section 9 - Limitations Study
: this folder contains the final codes attributed to each test in our sample from five open source projects (Freemind, Eclipse, Weka, Tomcat, and Hibernate). The catalog of codes is the result of a preliminary open coding process.
The implementation of our technique, DScribe, is available in a separate repository, located at https://github.com/prmr/DScribe