Papers by Andrius Velykis
This PhD project aims to investigate how enough information can be collected from an interactive ... more This PhD project aims to investigate how enough information can be collected from an interactive formal proof to capture an expert's ideas as a high-level proof process. It would then serve for extracting proof strategies to facilitate proof automation. Ways of inferring this proof process automatically are explored; and a family of tools is developed to capture the different proof processes and their features. © 2012 Newcastle University. Printed and published by Newcastle University, Computing Science, Claremont Tower, Claremont Road, Newcastle upon Tyne, NE1 7RU, England. Bibliographical details
A separation kernel is an architecture for secure applications, which benefits from inherent secu... more A separation kernel is an architecture for secure applications, which benefits from inherent security of distributed systems. Due to its small size and usage in high-integrity environments, it makes a good target for formal modelling and verification. This project presents results from mechanisation and modelling of separation kernel components: a process table, a process queue and a scheduler. The results have been developed as a part of the pilot project within the international Grand Challenge in Verified Software. This thesis covers full development life-cycle from project initiation through design and evaluation to successful completion. Important findings about kernel properties, formal modelling and design decisions are discussed. The developed formal specification is fully verified and contributes to the pilot project aim of creating a formal kernel model and refining it down to implementation code. Other reusable artefacts, such as general lemmas and a new technique of ensu...
Dependable Software Engineering. Theories, Tools, and Applications
This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License New... more This work is licensed under a Creative Commons Attribution-NonCommercial 3.0 Unported License Newcastle University ePrints-eprint.ncl.ac.uk Jones CB, Velykis A, Yatapanage N. General Lessons from a Rely/Guarantee Development.
This PhD project aims to investigate how enough information can be collected from an interactive ... more This PhD project aims to investigate how enough information can be collected from an interactive formal proof to capture an expert's ideas as a high-level proof process. It would then serve for extracting proof strategies to facilitate proof automation. Ways of inferring this proof process automatically are explored; and a family of tools is developed to capture the different proof processes and their features.
Lecture Notes in Computer Science, 2014
Lecture Notes in Computer Science, 2013
ABSTRACT It is now widely understood how to write formal specifications so as to be able to justi... more ABSTRACT It is now widely understood how to write formal specifications so as to be able to justify designs (and thus implementations) against such specifications. In many formal approaches, a "posit and prove" approach allows a designer to record an engineering design decision from which a collection of "proof obligations" are generated; their discharge justifies the design step. Modern theorem proving tools greatly simplify the discharge of such proof obligations. In typical industrial applications, however, there remain sufficiently many proof obligations that require manual intervention that an engineer finds them a hurdle to the deployment of formal proofs. This problem is exacerbated by the need to repeat proofs when changes are made to specifications or designs. This paper outlines how a key additional resource can be brought to bear on the discharge of proof obligations: the central idea is to "learn" new ways of discharging families of proof obligations by tracking one interactive proof performed by an expert. Since what blocks any fixed set of heuristics from automatically discharging proof obligations is issues around data structures and/or functions, it is expected that what the system can learn from one interactive proof will facilitate the discharge of significant "families" of recalcitrant proof tasks.
Interactive theorem proving can be used to verify formal models and specifications as well as jus... more Interactive theorem proving can be used to verify formal models and specifications as well as justify their development process. A large portion of the proof can be automated using general heuristics available in state-of-the-art automatic theorem provers, but significant manual work still gets left for human experts. In this talk we ask how enough information can be collected from an interactive formal proof to capture an expert's ideas as a high-level proof process. Such information would then serve for extracting proof strategies to ...
Abstract This PhD project aims to investigate how enough information can be collected from an int... more Abstract This PhD project aims to investigate how enough information can be collected from an interactive formal proof to capture an expert's ideas as a high-level proof process. It would then serve for extracting proof strategies to facilitate proof automation. Ways of inferring this proof process automatically are explored; and a family of tools is developed to capture the different proof processes and their features.
Separation kernels are key components in embedded applications. Their small size and widespread u... more Separation kernels are key components in embedded applications. Their small size and widespread use in high-integrity environments make them good targets for formal modelling and verification. We summarise results from the mechanisation of a separation kernel scheduler using the Z/Eves theorem prover. We concentrate on key data structures to model scheduler operations. The results are part of an experiment in a Grand Challenge in software verification, as part of a pilot project in verified OS kernels. The project aims at creating a mechanised formal model of kernel components that gets refined to code. This provides a set of reusable components, proof strategies, and general lemmas. Important findings about properties and requirements are also discussed.
Abstract A separation kernel is an architecture for secure applications, which benefits from inhe... more Abstract A separation kernel is an architecture for secure applications, which benefits from inherent security of distributed systems. Due to its small size and usage in high-integrity environments, it makes a good target for formal modelling and verification. This project presents results from mechanisation and modelling of separation kernel components: a process table, a process queue and a scheduler. The results have been developed as a part of the pilot project within the international Grand Challenge in Verified Software.
Uploads
Papers by Andrius Velykis