Thesis (Selection of subject)Thesis (Selection of subject)(version: 368)
Thesis details
   Login via CAS
Extending Data Lineage Analysis Platform with Support for Dependency Injection Frameworks
Thesis title in Czech: Rozšíření platformy pro analýzu datových toků o podporu knihoven na vkládání závislostí
Thesis title in English: Extending Data Lineage Analysis Platform with Support for Dependency Injection Frameworks
Key words: vkládání závislostí|graf volání|Spring Framework|statická analýza|datové toky
English key words: data lineage|dependency injection|call graph|Spring Framework|static analysis
Academic year of topic announcement: 2020/2021
Thesis type: diploma thesis
Thesis language: angličtina
Department: Department of Distributed and Dependable Systems (32-KDSS)
Supervisor: doc. RNDr. Pavel Parízek, Ph.D.
Author: hidden - assigned and confirmed by the Study Dept.
Date of registration: 29.10.2020
Date of assignment: 29.10.2020
Confirmed by Study dept. on: 04.12.2020
Date and time of defence: 29.06.2021 09:00
Date of electronic submission:15.05.2021
Date of submission of printed version:21.05.2021
Date of proceeded defence: 29.06.2021
Opponents: doc. RNDr. Petr Hnětynka, Ph.D.
 
 
 
Guidelines
The volume of data stored in business information systems of many companies is large and keeps growing. For that reason, manual inspection of all the data - performed, for example, as part of the audits required to comply with government regulations - is very tedious and ineffective. A large part of the necessary manual effort can be avoided with the help of automated data lineage analysis. MANTA Flow is a data lineage platform that features the Java Scanner to perform analysis of data flows in Java programs. However, the current version of the Java scanner has only a very limited support for dependency injection frameworks, such as the popular Spring Framework.

The main goal of this project is to extend the functionality of Java Scanner in Manta Flow with support for the Spring Framework, mainly focusing on its features related to dependency injections.

The project includes the following tasks:
* Analysis of relevant features of the Spring Framework and discussion of possible approaches to their support within the context of data lineage.
* Extension of the Java Scanner with a new API that supports dependency injection frameworks.
* Implementing the support for dependency injection features of the Spring Framework in the form of a new plugin for Java scanner.
* Implementation of the call graph construction algorithm and class hierarchy representation on top of the ASM library.
* Extension of the current approach to call graph construction, used in the Java scanner, to consider also methods of objects introduced via dependency injection.
References
1. MANTA Flow Platform. https://getmanta.com/
2. Spring Framework. https://spring.io/projects/spring-framework
3. ASM library. https://asm.ow2.io/
4. Richard Eliáš. Analyzing Data Lineage in Database Frameworks. Master thesis, Charles University, Prague, 2019.
 
Charles University | Information system of Charles University | http://www.cuni.cz/UKEN-329.html