Please use this identifier to cite or link to this item: https://www.um.edu.mt/library/oar/handle/123456789/92882
Title: Counter example visualization for runtime verification
Authors: Cachia, Matthew (2009)
Keywords: Visualization
Aspect-oriented programming
Programming languages (Electronic computers)
Issue Date: 2009
Citation: Cachia, M. (2009). Counter example visualization for runtime verification (Bachelor’s dissertation).
Abstract: Most functionality in an application is tested by exhausting most of the possibilities one could do in it until either it is statistically robust or a bug emerges. While testing accommodates most of the applications developed, it is not enough for more complex and critical systems since it is an ad-hoe approach and thus testing manages to expose only a subset of bugs inside a system. Model checking can be used to overcome this drawback by' formally checking whether a system conforms to a given set of requirements, such as ensuring that the system does not enter a known bad state. Unfortunately, model checking is not ideal since it must exhaust all of the execution paths of a system to ensure that all of them do not violate the given specifications. Runtime verification is another alternative to model checking, which although very similar, the former only monitors the current execution path of a running system and detects whenever a specification has been violated. Specifications are defined in some mathematical language and thus if a specification is written in some other language it must be reduced to the native language of the runtime verification tool to work. "While this is plausible (since the specifications can be supported by the runtime verification tool by creating automatic converters), it lacks correspondence between the initial language and the new converted language. This issue is encountered whenever the runtime verification tool represents where the violation has occurred in the specification. Since it has been converted to the native language, and the specification writer might not comprehend it, the indication to where the violation has occurred is rendered useless. In this report we will look at the Larva Interpretation Framework which provides two approaches to help interpret the representation back to the original language for the user to understand. Furthermore, this report will also propose an extra solution to enrich the representation of the specification, by allowing the user to visualize the specification on screen for better comprehension. Usually, users are expected to report whenever a bug occurs in the system, by supplying a user story which is usually a narrative description of what the user did during system usage, such as the click of buttons, keyboard presses and other similar factors. This however is very subjective due to the natural way of telling them and thus it is not very ideal. Instead, recording and replay systems are used to consistently record system activity during runtime, which can be replayed at a later stage. These propose a formal way of describing a system activity during runtime, with the ability to replay the record and thus make the bug occur once again and thus is an excellent tool for the developer to quickly identify the root of the bug. Unfortunately, all of these systems are found at low-level and thus introduces restriction of portability to an application. Several recording systems exist for Java applications, however there are implemented in the JVM or Java API and therefore suffer from low-level restrictions. This dissertation will propose HiRec, a new recording system which is planted at a higher level without modifying any of the JVM/Java API, retaining all of the portability while still being able to record and re-orchestrate the execution path of that record.
Description: B.Sc. IT (Hons)(Melit.)
URI: https://www.um.edu.mt/library/oar/handle/123456789/92882
Appears in Collections:Dissertations - FacICT - 1999-2009
Dissertations - FacICTCS - 2009

Files in This Item:
File Description SizeFormat 
BSC(HONS)IT_Cachia_Matthew_2009.PDF
  Restricted Access
4.58 MBAdobe PDFView/Open Request a copy


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