Skip navigation
Skip navigation

Runtime verification on data-carrying traces

Kuester, Jan-Christoph

Description

Malfunctioning software systems can cause severe loss of money, sensitive data, or even human life. The ambition is therefore to verify these systems not only statically, but also monitor their behaviour at runtime. For the latter case, the temporal logic LTL---a de facto standard specification formalism in runtime verification---is widely used and well-understood. However, propositional variables are usually not a natural nor sufficient model to represent the...[Show more]

dc.contributor.authorKuester, Jan-Christoph
dc.date.accessioned2016-11-07T22:58:07Z
dc.date.available2016-11-07T22:58:07Z
dc.identifier.otherb40394529
dc.identifier.urihttp://hdl.handle.net/1885/110029
dc.description.abstractMalfunctioning software systems can cause severe loss of money, sensitive data, or even human life. The ambition is therefore to verify these systems not only statically, but also monitor their behaviour at runtime. For the latter case, the temporal logic LTL---a de facto standard specification formalism in runtime verification---is widely used and well-understood. However, propositional variables are usually not a natural nor sufficient model to represent the behaviour of complex, interactive systems that can process arbitrary input values. Consequently, there is a demand for more expressive formalisms that are defined what we call traces with data, i.e., traces that contain propositions enriched with values from a (possibly) infinite domain. This thesis studies the runtime monitoring with data for a natural extension of LTL that includes first-order quantification, called LTLFO. The logic's quantifiers range over values that appear in a trace. Under assumptions laid out of what should arguably be considered a ``proper'' runtime monitor, this thesis first identifies and analyses the underlying decision problems of monitoring properties in LTL and LTLFO. Moreover, it proposes a monitoring procedure for the latter. A result is that LTLFO is undecidable, and the prefix problem too, which an online monitor has to preferably solve to coincide with monotonicity. Hence, the obtained monitor cannot be complete for LTLFO; however, this thesis proves the soundness of its construction and gives experimental results from an implementation, in order to justify its usefulness and efficiency in practice. The monitor is based on a new type of automaton, called spawning automaton; it helps to efficiently decide what parts of a possibly infinite state space need to be memorised at runtime. Furthermore, the problem occurs that not every property can be monitored trace-length independently, which is possible in LTL. For that reason, a hierarchy of effectively monitorable properties is proposed. It distinguishes properties for which a monitor requires only constant memory from ones for which a monitor inevitably has to grow ad infinitum, independently of how the future of a trace evolves. Last but not least, a proof of concept validates the monitoring means developed in this thesis on a widely established system with intensive data use: Malicious behaviour is checked on Android devices based on the most comprehensive malware set presently available. The overall detection and false positive rates are 93.9% and 28%, respectively. As a means of conducting the experiments and as a contribution in itself, an application-agnostic logging-layer for the Android system has been developed and its technical insights are explained. It aims at leveraging runtime verification techniques on Android, like other domain-specific instrumentation approaches did, such as AspectJ for Java.
dc.language.isoen
dc.subjectRuntime verification
dc.subjectMonitoring
dc.subjectSpawning automata
dc.subjectTemporal logic
dc.subjectFirst-order logic
dc.subjectTrace-length independence
dc.subjectAndroid security
dc.titleRuntime verification on data-carrying traces
dc.typeThesis (PhD)
local.contributor.supervisorBauer, Andreas
local.contributor.supervisorcontactbaueran@gmail.com
dcterms.valid2016
local.description.notesauthor deposited 8/11/2016
local.type.degreeDoctor of Philosophy (PhD)
dc.date.issued2016
local.contributor.affiliationCollege of Engineering and Computer Science, The Australian National University
local.identifier.doi10.25911/5d763822a5f79
local.mintdoimint
CollectionsOpen Access Theses

Download

File Description SizeFormat Image
Kuester Thesis 2016.pdf1.49 MBAdobe PDFThumbnail


Items in Open Research are protected by copyright, with all rights reserved, unless otherwise indicated.

Updated:  17 November 2022/ Responsible Officer:  University Librarian/ Page Contact:  Library Systems & Web Coordinator