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
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: |
View Item |