Skip to content

Commit d4f54d3

Browse files
committed
Merge remote-tracking branch 'origin/esecfse' into esecfse
2 parents ccfbbf2 + a785132 commit d4f54d3

2 files changed

Lines changed: 18 additions & 6 deletions

File tree

STATUS.md

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,33 @@
1+
# STATUS
2+
## Overview
13
The artifact for the paper _Classifying Edits to Variability in Source Code_ consists of four parts:
24

35
1. **DiffDetective**: For our validation, we built DiffDetective, a java library and command-line tool to classify edits to variability in git histories of preprocessor-based software product lines. DiffDetective is the main artifact used to replicate the validation for our paper (see Section 5).
46
2. **Appendix**: The appendix of our paper is given in PDF format in the file [`appendix.pdf`][ddappendix].
57
3. **Haskell Formalization**: We provide an extended formalization in the Haskell programming language as described in our appendix. Its implementation can be found in the Haskell project in the [`proofs`][ddproofs] directory.
68
4. **Dataset Overview**: We provide an overview of the 44 inspected open-source software product lines with updated links to their repositories in the file [docs/datasets.md](docs/datasets.md).
9+
10+
## Purpose
711
Our artifact has the following purposes:
812

9-
- **Replicability**: We provide instructions based on a docker container that allow to reproduce the validation we performed in Section 5 of our paper.
10-
- **Reusability**: DiffDetective is designed as a library that offers reusable functionality.
13+
### **Replicability**
14+
We provide replication instructions that allow to replicate the validation we performed in Section 5 of our paper. The replication is executed in a Docker container.
15+
16+
### **Reusability**
17+
DiffDetective is designed as a library that offers reusable functionality.
1118
Researchers and practitioners can use our DiffDetective library to build on our theory and results (e.g., for future prototypes to study the evolution of variability in source code).
19+
1220
DiffDetective offers various features, including but not limited to:
1321
parsing variation tree diffs from unix diffs, obtaining variation tree diffs for certain patches and commits, matching elementary edit patterns on variation tree diffs, defining custom classifications, rendering, traversing, and transforming variation tree diffs, various de-/serialization methods, and running analyses for the git histories of C preprocessor-based software product lines. We documented each part of the library and provide a javadoc website within the repository.
14-
- **Extended Formal Specification**: The `proofs` Haskell project provides an extended formal specification of our theory.
22+
23+
### **Extended Formal Specification**
24+
The `proofs` Haskell project provides an extended formal specification of our theory.
1525
Its main purpose is to document the theory and its extensions to serve as a reference for the proofs in our appendix.
1626
Yet, the project can also be used as a library to reason on variation trees and diffs in Haskell projects.
17-
The library is accompanied with a small demo application that shows an example test case for our proof for completeness, by creating a variation tree diff from two variation trees and re-projecting them.
27+
28+
The library is accompanied with a small demo application that shows an example test case for our proof for completeness, by creating a variation tree diff from two variation trees and re-projecting them.
1829

30+
## Claims
1931
We claim the _Artifacts Available_ badge as we made our artefacts publicly available on [Github][ddgithub] and [Zenodo][ddzenodo].
2032

2133
We claim the _Artifacts Evaluated Reusable_ badge as we implemented DiffDetective as a reusable library (see above).

proofs/INSTALL.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ Detailed installation instructions for many operating systems are given on the r
1111
- Windows 64-bit: Go to the [stack installation page][stackinstall]. Download and run the _Windows 64-bit Installer_.
1212
- MacOS: Please follow the instructions on the [installation webpage][stackinstall].
1313

14-
Second, please open a terminal and navigate to the repository's directory (the directory containing this `INSTALL.md`).
14+
Second, please open a terminal and navigate to the proofs directory of this repository (the directory containing this `INSTALL.md`).
1515
```shell
1616
cd <path/to/this/repository/proofs>
1717
```
@@ -27,7 +27,7 @@ stack run
2727

2828
## What Is There to See
2929

30-
Our example executes a simple test. It:
30+
Our example executes a simple test. It
3131
1. constructs two variation trees (called `Kanto Starters` and `Johto Starters`) and prints them to terminal;
3232
2. diffs both trees to a variation tree diff using our [`naiveDiff`](src/VariationDiff.hs) function, which is described in our appendix, and prints the diff to terminal;
3333
3. creates both projections of the variation tree diff (before and after the edit) and prints both to terminal;

0 commit comments

Comments
 (0)