You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: master-thesis.md
+17-1Lines changed: 17 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,8 +6,24 @@ title: Open Master Thesis Topics in Project Chains
6
6
7
7
Project Chains hosts master's students for their theses, here are available topics. See [main page](/) for completed theses.
8
8
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
+
9
25
### How prevalent is Maven Class Hijacking?
10
-
Contact: Aman Sharma, Frank Reyes Garçia
26
+
Contact: Aman Sharma, Frank Reyes Garcia
11
27
12
28
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.
13
29
We want to explore how prevalent the condition "infection dependency precedes the gadget dependency" is.
0 commit comments