2 research outputs found
Inspecting Java Program States with Semantic Web Technologies
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
Recommended from our members
An ontology-based analysis method for assessing and improving the quality of hazard analysis results
Safety-critical systems such as medical devices and avionics systems are developed using systematic processes and rigorous analysis methods. This is necessary to gain strong confidence that the system is not affected by latent design problems that may lead to system failures or unintended behaviours that, ultimately, could result in damage or harm to people or the environment. Whilst different guidelines and recommended best development practices are provided in different regulatory frameworks and standards, all processes share a common initial stage, known as hazard analysis. The aim of the hazard analysis is to identify all known and foreseeable scenarios and problematic situations. It is important that the hazard analysis is as accurate and as comprehensive as possible since the entire development process builds on the hazard analysis results. Any missed scenario or overlooked problematic situation could breach the mitigation strategies designed to guarantee the safety of the system.
Several hazard analysis techniques have been introduced over the last 50 years to improve the quality of the analysis. However, a known weakness of the current generation of techniques is that they often rely on manual analysis of information recorded in textual format. For realistic,complex systems, the amount of information is usually abundant and overwhelming. Because ofthis, even the most expert analyst can accidentally overlook important aspects of the system that should have been considered to ensure the safety of the system. The research work presented in this thesis aims to provide a systematic and comprehensive way to help the expert analyst with his task.
This thesis explores the development of a novel method and supporting analysis tool for the refinement of the hazard analysis results. The method is structured into a series of stages, each of which provides feedback to the analysts to help them gain confidence in the quality of the analysis. The method also helps to identify and resolve weaknesses in the analysis, if they are present. The research builds an ontology to represent knowledge collected during the hazard analysis. Inference rules are used to reason about possible scenarios, hazards, hazard causes and their relations. Formal (i.e., mathematically-based) tools are used to mechanise the exploration of scenarios, discover relations between hazards and causes that may have been overlooked during the analysis. The effectiveness of the proposed method is evaluated using various realistic case studies from different application domai