Skip to content

Commit e82d554

Browse files
authored
Merge pull request #180 from VariantSync/phd-thesis
README: Add PhD Thesis
2 parents 2e7139b + cc70577 commit e82d554

1 file changed

Lines changed: 11 additions & 6 deletions

File tree

README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,6 @@ In case you are using Nix Flakes, you can skip cloning the repository as usual:
7070

7171
Afterward, the [result](result) symlink points to the [Javadoc](result/share/github-pages/DiffDetective/docs/javadoc/index.html), a [DiffDetective jar for use as a library](result/share/java/DiffDetective.jar), a [self contained DiffDetective jar with all dependencies included](result/share/java/DiffDetective/DiffDetective-jar-with-dependencies.jar) and a simple [script](result/bin/DiffDetective) for executing a DiffDetective main class provided as argument (e.g., evaluations used in previous research, see below under 'Publications').
7272

73-
7473
## How to Get Started
7574

7675
For a demonstration on how to get started using the library, we have prepared a demo repository [here][demo].
@@ -79,7 +78,6 @@ Additionally, there is a screencast available on YouTube, guiding you through th
7978

8079
[![DiffDetective Demonstration](docs/yt_thumbnail.png)](https://www.youtube.com/watch?v=q6ight5EDQY)
8180

82-
8381
## Supported Differencing Algorithms
8482

8583
In principle, any generic differencing algorithm (i.e, any algorithm that may operate on text or trees) can be made variability-aware with DiffDetective, as explained in our demo paper (see below). Some algorithms are integrated directly in the DiffDetective library, while others come as additional Maven projects.
@@ -91,9 +89,19 @@ In principle, any generic differencing algorithm (i.e, any algorithm that may op
9189
### Extra Modules
9290
- [TrueDiff](https://gitlab.rlp.net/plmz/truediff): Support for TrueDiff comes as [a separate Maven project](https://github.com/VariantSync/TrueDiffDetective).
9391

94-
9592
## Publications
9693

94+
When referring to DiffDetective as a tool, we recommend reading and citing our publication _"Variability-Aware Differencing with DiffDetective"_. For formal foundations on variability-aware differencing, we refer to the PhD Thesis _"Analyzing Edits to Static Variability"_. For research based on variability-aware differencing and DiffDetective, we recommend to have a look at the respective individual publications below, as well as the PhD thesis as a comprehensive overview.
95+
96+
### Analyzing Edits to Static Variability (PhD Thesis)
97+
98+
[![Thesis](https://img.shields.io/badge/Thesis-Read-purple)](https://doi.org/10.18725/OPARU-58798)
99+
[![Slides](https://img.shields.io/badge/Slides-Here-purple)](https://github.com/TUBS-ISF/Slides/raw/main/2025/2025-08-12-PhD-Defense-Bittner.pdf)
100+
101+
> P. M. Bittner. _Analyzing Edits to Static Variability_. PhD Thesis, University of Ulm, August 2025. Reviewed by Thomas Thüm, Matthias Tichy, and Martin Erwig.
102+
103+
The PhD thesis gives an exhaustive and detailed overview on DiffDetective and all corresponding research. Chapter 4 motivates and introduces the mathematical foundations for variability-aware differencing, and presents DiffDetective as an implementation and research framework. Chapter 5 presents research based on variability-aware differencing and DiffDetective in particular.
104+
97105
### Variability-Aware Differencing with DiffDetective (FSE 2024, ⭐ [Best Demo Paper](https://2024.esec-fse.org/info/awards) ⭐)
98106

99107
[![Preprint](https://img.shields.io/badge/Preprint-Read-purple)](https://github.com/SoftVarE-Group/Papers/raw/main/2024/2024-FSE-Bittner.pdf)
@@ -102,7 +110,6 @@ In principle, any generic differencing algorithm (i.e, any algorithm that may op
102110
[![Screencast](https://img.shields.io/badge/Screencast-Watch-purple)][screencast]
103111
[![Demo Repository](https://img.shields.io/badge/Demo-Try-blue)][demo]
104112

105-
106113
> P. M. Bittner, A. Schultheiß, B. Moosherr, T. Kehrer, T. Thüm. _Variability-Aware Differencing with DiffDetective_. Demonstrations at International Conference on the Foundations of Software Engineering 2024, ACM, New York, NY, July 2024
107114
108115
<img padding="10" align="right" src="https://www.acm.org/binaries/content/gallery/acm/publications/artifact-review-v1_1-badges/artifacts_evaluated_reusable_v1_1.png" alt="ACM Artifacts Evaluated Reusable" width="114" height="113"/>
@@ -132,7 +139,6 @@ The empirical evaluation of the classification, including a respective `main` me
132139

133140
The original replication package can be found on the [esecfse](https://github.com/VariantSync/DiffDetective/tree/esecfse22) branch or via the DOI [10.5281/zenodo.7110095](https://doi.org/10.5281/zenodo.7110095). The replication is also available for the most recent version of DiffDetective with various improvements, which will likely yield to slightly different results than the initial study. The updated replication package can be found in the [replication/esecfse22](replication/esecfse22) subdirectory with its own [README](replication/esecfse22/README.md).
134141

135-
136142
### Views on Edits to Variational Software (SPLC 2023)
137143

138144
[![Preprint](https://img.shields.io/badge/Preprint-Read-purple)](https://github.com/SoftVarE-Group/Papers/raw/main/2023/2023-SPLC-Bittner.pdf)
@@ -158,7 +164,6 @@ The empirical evaluation of the view algorithms, including a respective `main` m
158164

159165
The original replication package can be found on the `splc23-views` branch within the directory [replication/splc23-views](https://github.com/VariantSync/DiffDetective/tree/splc23-views/replication/splc23-views) or via the DOI [10.5281/zenodo.8027920](https://doi.org/10.5281/zenodo.8027920). The replication is also available for the most recent version of DiffDetective with an up-to-date version of DiffDetective, which will likely yield to slightly different results than the initial study. The updated replication package can be found in the [replication/splc23-views](replication/splc23-views) subdirectory with it's own [README](replication/splc23-views/README.md).
160166

161-
162167
### Explaining Edits to Variability Annotations in Evolving Software Product Lines (VaMoS 2024)
163168

164169
[![Preprint](https://img.shields.io/badge/Preprint-Read-purple)](https://github.com/SoftVarE-Group/Papers/raw/main/2024/2024-VaMoS-Guething.pdf)

0 commit comments

Comments
 (0)