Javascript must be enabled for the correct page display

Building a dependency graph from Java source code files

Beuks, Patrick (2019) Building a dependency graph from Java source code files. Bachelor's Thesis, Computing Science.


Download (309kB) | Preview
[img] Text
Restricted to Registered users only

Download (118kB)


Source code reuse is not as simple as it sounds. Just copy-pasting code that works in one class to another is the recipe for creating software components that are not maintainable. One of the key aspects of creating reusable software components is properly managing their dependencies on other classes and packages. There are programs that allow for finding these dependencies, but non of them work on the source files of the software components. This thesis tries to remedy this. In here background information on Java is given, together what source code and compiled code means. There is also an explanation on what graphs and dependencies are and what the program Arcan is. The design of the program is handled where each part is explained on how it works. This includes how the dependency graph is formed and how this is parsed from the source files. It is also explained how this program implements and uses Git and how the program can be run from the command line. The results of the program are mentioned and explained. The results are compared with output that is known and what the performance of the program is like. A conclusion is provided with a look on how well it performed and how the complexity is managed. This thesis ends with mentions of what work can be done in the future to improve on this thesis. How it can be extended by being able to include methods in the graph. How the parser can be changed to be able to increase the performance of the program and how improvements to the CLI can increa...

Item Type: Thesis (Bachelor's Thesis)
Supervisor nameSupervisor E mail
Degree programme: Computing Science
Thesis type: Bachelor's Thesis
Language: English
Date Deposited: 12 Jul 2019
Last Modified: 12 Jul 2019 12:20

Actions (login required)

View Item View Item