TU Darmstadt / ULB / TUprints

Inspecting Java Program States with Semantic Web Technologies

Haubner, Anton W. (2022):
Inspecting Java Program States with Semantic Web Technologies. (Publisher's Version)
Darmstadt, Technische Universität Darmstadt, DOI: 10.26083/tuprints-00022143,
[Master Thesis]

[img] Text
Copyright Information: CC BY 4.0 International - Creative Commons, Attribution.

Download (2MB)
Item Type: Master Thesis
Status: Publisher's Version
Title: Inspecting Java Program States with Semantic Web Technologies
Language: English

Semantic debugging, as introduced by Kamburjan et al., refers to the practice of applying technologies of the semantic web to query the run-time state of a program and combine it with external domain knowledge. This master thesis aims to take the first step toward making the benefits of semantic debugging available for real-world application development. For this purpose, we implement a semantic debugging tool for the Java programming language, called the Semantic Java Debugger or sjdb.

The sjdb tool provides an interactive, command line-based user interface through which users can (1) run Java programs and suspend their execution at user-defined breakpoints, (2) automatically extract RDF knowledge bases with description logic semantics that describe the current state of the program, (3) optionally supplement the knowledge base with external domain knowledge formalized in OWL, (4) run (semantic) queries on this extended knowledge base, and resolve the query results back to Java objects.

As part of this debugging tool, the development of an extraction mechanism for knowledge bases from the states of suspended Java programs is one of the main contributions of this thesis. For this purpose, we also devise an OWL formalization of Java runtime states to structure this extraction process and give meaning to the resulting knowledge base. Moreover, case studies are conducted to demonstrate the capabilities of sjdb, but also to identify its limitations, as well as its response times and memory requirements.

Place of Publication: Darmstadt
Collation: 174 Seiten
Classification DDC: 000 Allgemeines, Informatik, Informationswissenschaft > 004 Informatik
Divisions: 20 Department of Computer Science > Software Engineering
Date Deposited: 14 Sep 2022 12:26
Last Modified: 14 Sep 2022 12:26
DOI: 10.26083/tuprints-00022143
URN: urn:nbn:de:tuda-tuprints-221433
Additional Information:

The software developed as part of this thesis is available on GitHub. The Semantic Java Debugger: https://github.com/ahbnr/SemanticJavaDebugger The jdi2owl library: https://github.com/ahbnr/jdi2owl

Referees: Hähnle, Prof. Dr. Reiner ; Kamburjan, Dr. Eduard ; Bubel, Dr. Richard
Date of oral examination: 19 May 2022
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/22143
Actions (login required)
View Item View Item