Skip to content

Commit a652810

Browse files
authored
Merge pull request #73 from chains-project/api-diff
Update master thesis topics: add empirical study on API difference to…
2 parents 8fa29b0 + 77cbc18 commit a652810

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

master-thesis.md

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,24 @@ title: Open Master Thesis Topics in Project Chains
66

77
Project Chains hosts master's students for their theses, here are available topics. See [main page](/) for completed theses.
88

9+
### Empirical Study of API Difference Tools for Java Dependencies
10+
Contact: Frank Reyes Garcia
11+
12+
Java applications rely extensively on external libraries, which are frequently updated and modified. As these libraries evolve, changes to their public APIs can introduce breaking changes, binary incompatibilities, or subtle behavioral issues that may impact client projects.
13+
Detecting and understanding these API changes is critical for maintaining software reliability and facilitating safe dependency updates.
14+
Several tools such as [roseau](https://github.com/alien-tools/roseau/tree/main?tab=readme-ov-file), [japicmp](https://siom79.github.io/japicmp/), [Revapi](https://revapi.org/), and [Clirr](https://clirr.sourceforge.net/) have been developed to analyze and report API differences between library versions.
15+
This thesis will conduct a comprehensive comparative study of leading API diff tools, applying them to a diverse set of real-world open-source Java projects.
16+
The evaluation will focus on each tool’s ability to detect and classify different types of API changes (e.g., breaking, non-breaking, additions, deprecations).
17+
The outcome will be a benchmark and critical analysis of existing API diff tools and a dataset of API changes in real-world Java libraries.
18+
19+
Related Work:
20+
21+
[1] [API evolution and compatibility: A data corpus and tool evaluation](https://www.jot.fm/issues/issue_2017_04/article2.pdf)
22+
23+
[2] [Understanding the Impact of APIs Behavioral Breaking Changes on Client Applications](https://dl.acm.org/doi/10.1145/3643782)
24+
925
### How prevalent is Maven Class Hijacking?
10-
Contact: Aman Sharma, Frank Reyes Garçia
26+
Contact: Aman Sharma, Frank Reyes Garcia
1127

1228
Maven Class Hijacking [1] is a supply chain attack where a legitimiate Java class deep in the dependency tree can act malicious by shadowing a legitimate Java class that one declares directly.
1329
We want to explore how prevalent the condition "infection dependency precedes the gadget dependency" is.

0 commit comments

Comments
 (0)