Sign inSign up

codecontinuum/ddj

By codecontinuum

•Updated almost 6 years ago

DDJ demo

Image
0

354

codecontinuum/ddj repository overview

⁠DDJ Demo

This demo reproduces the result of the paper "Automated Patch Extraction via Syntax- and Semantics-Aware Delta Debugging on Source Code Changes⁠" accepted by ESEC/FSE 2018⁠.

⁠Prerequisite

Python is used to run the demo. Download a helper script ddjdemo_esecfse2018.py⁠. Then pull the image.

$ docker pull codecontinuum/ddj:esecfse2018

At least 8GB RAM per core will be required to run the demo.

⁠List projects

The following command will run Docker to list the available projects.

$ ./ddjdemo_esecfse2018.py list

It should result in the following lines:

docker run --rm -u ddj codecontinuum/ddj:esecfse2018 /home/ddj/scripts/info.py
12 projects found:
projects from Defects4J:
  Chart_d4j        (11 examples) (2 parts)
  Closure_d4j      (69 examples) (14 parts)
  Lang_d4j         (22 examples) (5 parts)
  ...

Then the following will show the available example IDs of Chart_d4j.

$ ./ddjdemo_esecfse2018.py list Chart_d4j

It should result in the following lines:

docker run --rm -u ddj codecontinuum/ddj:esecfse2018 /home/ddj/scripts/info.py Chart_d4j
Chart_d4j (11 examples):
[6, 9, 10, 11, 18], [20, 21, 22, 23, 24, 26]
⁠Perform DD
$ ./ddjdemo_esecfse2018.py run Chart_d4j -e 6 -o XXX

The above command will run Docker to perform DDJ on example 6 of Chart_d4j (bug 6 of Chart in Defects4J⁠). The results will be placed at XXX. It took about 20 minutes on MacBook Pro 13-inch. If you write -p 0 instead of -e 6, it will process multiple examples 6, 9, 10, 11, and 18. If you want to try DDP, add --plain to the command line.

Tag summary

Content type

Image

Digest

Size

2.7 GB

Last updated

almost 6 years ago

docker pull codecontinuum/ddj