Skip to content

Commit 740eccc

Browse files
committedJan 26, 2020
fixes merge conflict
2 parents d9e2d66 + 1b83166 commit 740eccc

File tree

4 files changed

+35
-10
lines changed

4 files changed

+35
-10
lines changed
 
File renamed without changes.

‎README.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,10 @@
11
# Holmes
2-
This repository contains the source code for the Holmes prototype used in the ICSE 2020 technical track paper "Causal Testing: Understanding Defects' Root Causes".
2+
Holmes is a prototype implementation of Causal Testing, a novel testing technique that uses causal experiments to help developers debug Java programs. This repository contains the source code along with the user study setup and materials for the paper titled:
3+
4+
**Causal Testing: Understanding Defects' Root Causes** by Brittany Johnson, Yuriy Brun, and Alexandra Meliou, which will appear in the Proceedings of the 42nd International Conference on Software Engineering (ICSE) 2020.
5+
6+
## How to install Holmes
7+
8+
## How to run Holmes
9+
10+
## Current limitations & on-going improvements

‎artifact_documentation/CONTACT.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,21 @@
11
# Contact Information
22

33
**Brittany Johnson** (corresponding author)
4+
45
*email*: bjohnson@cs.umass.edu
6+
57
*github id*: brittjay0104
68

9+
710
**Yuriy Brun**
11+
812
*email*: brun@cs.umass.edu
13+
914
*github id*: brunyuriy
1015

16+
1117
**Alexandra Meliou**
18+
1219
*email*: ameli@cs.umass.edu
13-
*github id*:
20+
21+
*github id*:

‎artifact_documentation/INSTALL.md

+17-8
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ Download this file to your computer. Make sure you make note of where you put th
1010

1111
Before you can run the virtual machine, you will need to download and install [VirtualBox 6](https://www.virtualbox.org).
1212

13-
Once you've installed VirtualBox, you're reading to load and run the virtual machine.
13+
Once you've installed VirtualBox, you're ready to load and run the virtual machine.
1414
To load the virtual machine, you will need to import the **CausalTesting_Artifact.ova** file into VirtualBox. You do so as follows:
1515

1616
1. Open VirtualBox.
@@ -22,23 +22,32 @@ Once the virtual machine is imported, it will appear in your VirtualBox Manager
2222

2323
<img src="https://drive.google.com/uc?id=1VjrcBPwrz4LO8cwlspb0TmEUcqwMoCp-" alt="VirtualBox Manager"/>
2424

25-
Once the virtual machine loads, Eclipse will open -- this process may take a few minutes. Once Eclipse opens, there will be 7 files opens labeled *Defect 0- Defect 6*. At the bottom of the window, the Tasks View is open with a list of TODOs. Each TODO is attached to the failing test for each defect. For example, **TODO: Test 00 (Training)** is associated with *Defect_0_Training*.
25+
Once the virtual machine loads, Eclipse will open -- this process may take a few minutes. Once Eclipse opens, there will be 7 projects in the Project Explorer labeled *Defect 0- Defect 6*.
2626

27+
At the bottom of the window, the Tasks View is open with a list of TODOs. Each TODO is attached to the failing test for each defect. For example, **TODO: Test 00 (Training)** is attached to the failing test *test_toBoolean_String()* which exposes *Defect 0* in the *toBoolean()* method.
2728

2829
## Running Holmes
2930

3031
To see Holmes output for each defect:
3132

32-
1. Double-click a TODO in the Tasks View to get to the failing test.
33-
* *Defect 0* runs the test generation portion of Holmes (which does not include execution traces, as this was not automated in the user study version of Holmes).
33+
**1. Double-click a TODO in the Tasks View to get to the failing test that exposes the defect.**
34+
Each TODO is followed by comments that specify what we asked participants to do and the method to highlight for executing Holmes.
3435

35-
* *Defects 1-6* show the pre-processed output that participants saw during the user study.
36+
<img src="https://drive.google.com/uc?id=1fpS9WQLitBs_fk07tuBtkhkkrLHGAh0x" alt="Eclipse TODOs"/>
3637

37-
2. Highlight the method that takes the input being tested. Each TODO is followed by comments that specify what we asked participants to do and the method to highlight.
38+
2. Highlight the method that takes the input being tested, as shown below.
39+
40+
<img src="https://drive.google.com/uc?id=1Bs8DV4B1rsqqr8PDWPZbiQL45HFkcqjv" alt="Highlighting target method"/>
3841

3942
3. Right-click the highlighted method and click **"Run Holmes"** in the pop-up menu.
4043

44+
<img src="https://drive.google.com/uc?id=1T5IOWdJvIkt6nte0zcKnrlbdPxQzraol" alt="Run Holmes command"/>
45+
46+
47+
**Test 00** runs the test generation portion of Holmes (which does not include execution traces, as this was not automated in the user study version of Holmes). If you are running Holmes on **Test 00**, the editor will automatically go to the top of the file as Holmes generates and executes tests. This process will take a minute or two; eventually the Holmes View will open with results of the execution.
48+
49+
<img src="https://drive.google.com/uc?id=1ZP2c1zftIuyvyyuEPOBj1pTb9mujvi8N" alt="Test 00 Output"/>
4150

42-
If you are running Holmes on *Defect 0*, the editor will automatically go to the top of the file as Holmes generates and executes tests. This process will take a minute or two; eventually the Holmes View will open with results of the execution.
51+
**Test 01 - Test 06** show the pre-processed output that participants saw during the user study. If you are running Holmes on **Test 01 - Test 06**, after a few seconds, the Holmes View will open with the pre-processed results used in our user study. For each of these defects, the output includes the original failing test, generated passing tests, and generated faiing tests. You can access the execution trace for each test by clicking the **"See Execution Trace"** button under the test of interest.
4352

44-
If you are running Holmes on *Defects 1-6*, after a few seconds, the Holmes View will open with the pre-processed results used in our user study. For each of these defects, the output includes the original failing test, generated passing tests, and generated faiing tests. You can access the execution trace for each test by clicking the "See Execution Trace" button under the test of interest.
53+
<img src="https://drive.google.com/uc?id=1U5LBRjhgRx7kCZpQRWb3qjVoMgNiLzC_" alt="Run Holmes command"/>

0 commit comments

Comments
 (0)
Please sign in to comment.