TU Darmstadt / ULB / TUprints

Inspecting Java Program States with Semantic Web Technologies

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

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

Download (2MB)
Item Type: Master Thesis
Type of entry: Primary publication
Title: Inspecting Java Program States with Semantic Web Technologies
Language: English
Referees: Hähnle, Prof. Dr. Reiner ; Kamburjan, Dr. Eduard ; Bubel, Dr. Richard
Date: 2022
Place of Publication: Darmstadt
Collation: 174 Seiten
Date of oral examination: 19 May 2022
DOI: 10.26083/tuprints-00022143
Abstract:

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.

Status: Publisher's Version
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

Classification DDC: 000 Generalities, computers, information > 004 Computer science
Divisions: 20 Department of Computer Science > Software Engineering
Date Deposited: 14 Sep 2022 12:26
Last Modified: 09 Jun 2023 13:36
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/22143
PPN: 500153221
Export:
Actions (login required)
View Item View Item