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 FieldValueLanguage
dc.date.accessioned2022-04-12T07:15:31Z-
dc.date.available2022-04-12T07:15:31Z-
dc.date.issued2009-
dc.identifier.citationGauci, A. (2009). Statistics and runtime verification (Bachelor's dissertation).en_GB
dc.identifier.urihttps://www.um.edu.mt/library/oar/handle/123456789/93444-
dc.descriptionB.Sc. IT (Hons)(Melit.)en_GB
dc.description.abstractSoftware 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.isoenen_GB
dc.rightsinfo:eu-repo/semantics/restrictedAccessen_GB
dc.subjectComputer software -- Verificationen_GB
dc.subjectComputer programs -- Verificationen_GB
dc.subjectComputer programs -- Testingen_GB
dc.subjectProgramming languages (Electronic computers)en_GB
dc.titleStatistics and runtime verificationen_GB
dc.typebachelorThesisen_GB
dc.rights.holderThe 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.institutionUniversity of Maltaen_GB
dc.publisher.departmentFaculty of Information and Communication Technologyen_GB
dc.description.reviewedN/Aen_GB
dc.contributor.creatorGauci, Andrew (2009)-
Appears in Collections:Dissertations - FacICT - 1999-2009

Files in This Item:
File Description SizeFormat 
B.SC.(HONS)IT_Gauci_Andrew_2009.PDF
  Restricted Access
10.83 MBAdobe PDFView/Open Request a copy


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