Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
tdurieux committed Sep 23, 2015
0 parents commit a6ac9c2
Show file tree
Hide file tree
Showing 2,219 changed files with 169,942 additions and 0 deletions.
9 changes: 9 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties
61 changes: 61 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# IntroClass Java

This repository contains the IntroClass for Java.

This benchmark is automatically generated from the IntroClass for C presented in the Autorepair Benchmark Suite, a joint project between Carnegie-Mellon University and the University of Massachusetts. The homepage for the Autorepair Benchmark Suite is located at http://dijkstra.cs.virginia.edu/genprog/resources/autorepairbenchmarks.

| Project | # wb ok | # wb ko | # bb ok | # bb ko | # all ok | # both ko | # program |
|-----------|---------|---------|---------|---------|----------|-----------|-----------|
| digits | 36 | 60 | 45 | 51 | 21 | 36 | 96 |
| grade | 38 | 88 | 37 | 89 | 37 | 88 | 126 |
| checksum | 7 | 11 | 11 | 7 | 7 | 7 | 18 |
| median | 35 | 48 | 32 | 51 | 26 | 42 | 83 |
| smallest | 19 | 45 | 17 | 47 | 12 | 40 | 64 |
| syllables | 17 | 12 | 16 | 13 | 16 | 12 | 29 |
| 6 | 152 | 264 | 158 | 258 | 119 | 225 | 416 |


## Directory Overview

```
introclassJava/
|-lib/
|--data/
|---dataset.xml
|--CToJava.py
|--evalIntroClassJava.py
|-dataset/
|--checksum/
|---f4a823174201234546789abcdeffff<repository ID hex string>.../
|----000/
|-----src/
|------main/
|-------java/introclassJava
|--------digits_f4a823174201234546789abcdeffff_000.java
|------test/
|-------java/introclassJava
|--------digits_f4a823174201234546789abcdeffff_000BackboxTest.java
|----001/
|--------<same as above>
|---09F911029D74E35BD84156C5635688C0<next repository ID hex string>.../
|--digits/
|-...
```

The folder ```lib``` contains the python scripts use to transform the C dataset to a Java dataset.

The file ```lib/data/dataset.xml``` contains the dataset IntroClass transformed into xml via the following command:
```console
srcml --language=C --literal --operator --modifier `find IntroClass -name "*.c"` -o IntroClassJava/lib/data/dataset.xml
```

The folder ```dataset``` contains the assignment programs:

* checksum -- compute a simple checksum of a string
* digits -- compute the number of digits in an integer
* grade -- compute the letter grade corresponding to a percentage
* median -- give the median of three numbers
* smallest -- give the smallest of three numbers
* syllables -- give the number of English syllables in a string

Each subdirectory below represents a student's submitted repository which contains several revisions. Each revision is a maven project.
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>fr.inria.lille.spirals</groupId>
<artifactId>introclassJava</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>checksum-08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a-006</name>
<description>introclassJava dataset</description>
<inceptionYear>2015</inceptionYear>
<properties>
<default.encoding>UTF-8</default.encoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package introclassJava;

class IntObj {public int value; public IntObj(){} public IntObj(int i){value = i;}}
class FloatObj {public float value; public FloatObj(){} public FloatObj(float i){value = i;}}
class LongObj {public long value; public LongObj(){} public LongObj(long i){value = i;}}
class DoubleObj {public double value; public DoubleObj(){} public DoubleObj(double i){value = i;}}
class CharObj {public char value; public CharObj(){} public CharObj(char i){value = i;}}
public class checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 {
public java.util.Scanner scanner;
public String output = "";

public static void main(String[] args) throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String output;
if(args.length > 0) {
mainClass.scanner = new java.util.Scanner(args[0]);
} else {
mainClass.scanner = new java.util.Scanner(System.in);
}
mainClass.exec();
System.out.println(mainClass.output);
}

public void exec () throws Exception {
char[] string = new char[1000];
CharObj checksumchar = new CharObj();
IntObj i = new IntObj(), stringlength = new IntObj(), checksum_summation = new IntObj();
output += (String.format("Enter an abitrarily long string, ending with carriage return > "));
string = scanner.next().toCharArray();
stringlength.value = string.length;
checksum_summation.value = 0;
for(i.value = 0; i.value < stringlength.value; i.value++) {
checksum_summation.value+=(int)string[i.value];
}
checksum_summation.value/=64;
checksum_summation.value+=(int)' ';
checksumchar.value = (char)checksum_summation.value;
output += (String.format("Check sum is %c\n", checksumchar.value));
if(true)return;;
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
package introclassJava;

import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006BlackboxTest {

@Test(timeout=1000)
public void test1() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is -";
mainClass.scanner = new java.util.Scanner("1234567890");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test2() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is I";
mainClass.scanner = new java.util.Scanner("abcefghi");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test3() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is K";
mainClass.scanner = new java.util.Scanner(")(*&^%$#");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test4() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is E";
mainClass.scanner = new java.util.Scanner("abc 123 %^&");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test5() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is 2";
mainClass.scanner = new java.util.Scanner("~+{\"s1213skane");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test6() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is '";
mainClass.scanner = new java.util.Scanner("ASDF_1234");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
package introclassJava;

import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006WhiteboxTest {

@Test(timeout=1000)
public void test1() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is ]";
mainClass.scanner = new java.util.Scanner("hello world!");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test10() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is ,";
mainClass.scanner = new java.util.Scanner("We the people...");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test2() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is 7";
mainClass.scanner = new java.util.Scanner("qwertyuiopasdfghjkl");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test3() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is K";
mainClass.scanner = new java.util.Scanner("A*");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test4() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is F";
mainClass.scanner = new java.util.Scanner("O Brother Where Art Thou?");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test5() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is 4";
mainClass.scanner = new java.util.Scanner("~!@#$%^&*()_+");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test6() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is @";
mainClass.scanner = new java.util.Scanner("100 Degrees and sunny");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test7() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is V";
mainClass.scanner = new java.util.Scanner("?? water the plants !!");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test8() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is X";
mainClass.scanner = new java.util.Scanner("12894.389239");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
@Test(timeout=1000)
public void test9() throws Exception {
checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006 mainClass = new checksum_08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a_006();
String expected = "Enter an abitrarily long string, ending with carriage return > Check sum is #";
mainClass.scanner = new java.util.Scanner("! word 12 :)");
mainClass.exec();
String out = mainClass.output.replace("\n"," ").trim();
assertEquals(expected.replace(" ",""), out.replace(" ",""));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>fr.inria.lille.spirals</groupId>
<artifactId>introclassJava</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>checksum-08c7ea4ac39aa6a5ab206393bb4412de9d2c365ecdda9c1b391be963c1811014ed23d2722d7433b8e8a95305eee314d39da4950f31e01f9147f90af91a5c433a-007</name>
<description>introclassJava dataset</description>
<inceptionYear>2015</inceptionYear>
<properties>
<default.encoding>UTF-8</default.encoding>
<maven.compiler.source>1.7</maven.compiler.source>
<maven.compiler.target>1.7</maven.compiler.target>
</properties>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
</dependency>
</dependencies>
</project>
Loading

0 comments on commit a6ac9c2

Please sign in to comment.