Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/30665
Title: Practical runtime monitoring with impact guarantees of java programs with real-time constraints
Authors: Colombo, Christian
Keywords: Aspect-oriented programming
Computer software -- Development
Real-time data processing
Java (Computer program language)
Issue Date: 2008
Citation: Colombo, C. (2008). Practical runtime monitoring with impact guarantees of java programs with real-time constraints (Masters thesis). University of Malta.
Abstract: With the ever growing need of robust and reliable software, formal methods are increasingly being employed. A recurrent problem is the intractability of exhaustively verifying software. Due to its scalability to real-life systems, testing has been used extensively to verify software. However, testing usually lacks coverage. Runtime verification is a compromise whereby the current execution trace is verified during runtime. Thus, it scales well without loss of coverage. In this thesis we examine closely the work in runtime verification and identify potential improvements with regards to the specification of properties and guarantees which are given. For the first issue of specification we make use of a real-life case study to better understand the day-to-day properties which system architects would need to formalise. DATE is the logic which results from these experiments and experiences. It is shown to be highly expressive and versatile for real-life scenarios. This is further confirmed by the second case study carried out and presented in this work. Our logic requires a complete architecture to be usable with Java programs. This architecture, called Larva, is developed using Java and AspectJ with the aim of being able to automatically create and instrument monitoring code from a Larva script. A central aspect of this thesis is the work on real-time properties. Such properties are very sensitive to overheads, because overheads slow down the system and use up resources. For this purpose, we present a theory based on the prominent real-time logic, duration calculus, to be able to give guarantees on the effects of slowing down/speeding up the target system due to the monitoring overhead. Another form of guarantee which we can give on real-time properties is the upperbound of memory overhead used during runtime verification. This is achieved by starting from the subset of duration calculus, QDDC, and translating it into Lustre. To relate Larva to other tools in the field we use a benchmark to compare expressivity and resource consumption of Larva to other prominent tools. Furthermore, a subset of duration calculus (counterexample traces), QDDC, and Lustre have been shown to be translatable into Larva. This has two main purposes: first that this allows users familiar with other logics to utilise Larva, and second that the guarantees enjoyed by these logics, will also benefit Larva.
URI: https://www.um.edu.mt/library/oar//handle/123456789/30665
Appears in Collections:Dissertations - FacICTCS - 2008

Files in This Item:
File Description SizeFormat 
Practical_runtime_monitoring_with_impact_guarantees_of_java_programs_with_real_time_constraints.pdf
  Restricted Access
1.15 MBAdobe PDFView/Open Request a copy


Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.