Please use this identifier to cite or link to this item:
https://www.um.edu.mt/library/oar/handle/123456789/93444
Full metadata record
DC Field | Value | Language |
---|---|---|
dc.date.accessioned | 2022-04-12T07:15:31Z | - |
dc.date.available | 2022-04-12T07:15:31Z | - |
dc.date.issued | 2009 | - |
dc.identifier.citation | Gauci, A. (2009). Statistics and runtime verification (Bachelor's dissertation). | en_GB |
dc.identifier.uri | https://www.um.edu.mt/library/oar/handle/123456789/93444 | - |
dc.description | B.Sc. IT (Hons)(Melit.) | en_GB |
dc.description.abstract | Software is influencing our lives in more frequent and crucial ways. This implies an ever increasing need for reliable software, whereby such reliability can be guaranteed through a method which guarantees software correctness i.e. that the system implementation adheres to its corresponding specification. This field is commonly known as software verification, and admits multiple techniques such as testing and model checking. However, given the intractability of verifying each execution trace, and the lack of coverage implied by testing we require a new approach to the field. This is provided by runtime verification, whose concern is the verification of the currently executing system trace, and can be considered as an extension to testing with augmented guarantees through the use of more powerful specification languages. We theorise that augmenting runtime verification with statistics is advantageous. Firstly, it is often better to watch for indicators of failure than to wait for failure. Also, statistics allow for the straightforward specification of non-functional requirements, such as specifications related to performance and reliability (as opposed to most runtime verification logics which solely focus on functional requirement specification). Moreover, from a utilitarian point of view the collection of statistics over runtime executions allows for applications to fields such as performance profiling, intrusion detection, user modelling and quality of service. Finally, augmenting a logic used for runtime verification with statistical capabilities may increase the logic expressivity, or at least increases the conciseness and intuitive expression of certain system specifications. The augmentation of runtime verification with the notion of statistics implies the need for an underlying runtime verification framework. We identify this framework to be LARVA, an event-based runtime verification tool for monitoring temporal and contextual properties of Java programs. Based on Dynamic Automata with Timers and Events (DATEs) as the underlying mathematical framework, LARVA allows for the expression of (i) Temporal aspects dealing with consequentiality and real time (ii) contextual aspects with the possibility of monitoring objects either globally, grouped according to their context or individually (iii) Exceptional program executions. This thesis is primarily concerned with the extension of the LARVA tool and logic with statistical capabilities. This is achieved through the creation of a statistical framework operating on top of the current logic, with the result being a runtime verification tool capable of expressing statistics, henceforth called LarvaStat. The creation of LarvaStat involves a number of steps, the first being the conceptualisation of the core notions driving the statistical framework. Following this, we also present a formal analysis of the resulting framework through the specification of a formal semantics expressing the statistical logic. With the theory complete, we present a domain specific embedded language extending LARVA, thus offering a medium for the expression of statistics. The final step involves the implementation of a compiler, which converts statistics expressed using the defined language into an executable artefact. Finally, we also present a comprehensive case study for the justification of LarvaStat based on Intrusion Detection. | en_GB |
dc.language.iso | en | en_GB |
dc.rights | info:eu-repo/semantics/restrictedAccess | en_GB |
dc.subject | Computer software -- Verification | en_GB |
dc.subject | Computer programs -- Verification | en_GB |
dc.subject | Computer programs -- Testing | en_GB |
dc.subject | Programming languages (Electronic computers) | en_GB |
dc.title | Statistics and runtime verification | en_GB |
dc.type | bachelorThesis | en_GB |
dc.rights.holder | The copyright of this work belongs to the author(s)/publisher. The rights of this work are as defined by the appropriate Copyright Legislation or as modified by any successive legislation. Users may access this work and can make use of the information contained in accordance with the Copyright Legislation provided that the author must be properly acknowledged. Further distribution or reproduction in any format is prohibited without the prior permission of the copyright holder. | en_GB |
dc.publisher.institution | University of Malta | en_GB |
dc.publisher.department | Faculty of Information and Communication Technology | en_GB |
dc.description.reviewed | N/A | en_GB |
dc.contributor.creator | Gauci, Andrew (2009) | - |
Appears in Collections: | Dissertations - FacICT - 1999-2009 |
Files in This Item:
File | Description | Size | Format | |
---|---|---|---|---|
B.SC.(HONS)IT_Gauci_Andrew_2009.PDF Restricted Access | 10.83 MB | Adobe PDF | View/Open Request a copy |
Items in OAR@UM are protected by copyright, with all rights reserved, unless otherwise indicated.