A formal approach to contract verification for high-integrity applications

dc.contributor.authorZhang, Zhi
dc.date.accessioned2016-08-10T21:21:57Z
dc.date.available2016-08-10T21:21:57Z
dc.date.graduationmonthAugusten_US
dc.date.issued2016-08-01en_US
dc.date.published2016en_US
dc.description.abstractHigh-integrity applications are safety- and security-critical applications developed for a variety of critical tasks. The correctness of these applications must be thoroughly tested or formally verified to ensure their reliability and robustness. The major properties to be verified for the correctness of applications include: (1) functional properties, capturing the expected behaviors of a software, (2) dataflow property, tracking data dependency and preventing secret data from leaking to the public, and (3) robustness property, the ability of a program to deal with errors during execution. This dissertation presents and explores formal verification and proof technique, a promising technique using rigorous mathematical methods, to verify critical applications from the above three aspects. Our research is carried out in the context of SPARK, a programming language designed for development of safety- and security-critical applications. First, we have formalized in the Coq proof assistant the dynamic semantics for a significant subset of the SPARK 2014 language, which includes run-time checks as an integral part of the language, as any formal methods for program specification and verification depend on the unambiguous semantics of the language. Second, we have formally defined and proved the correctness of run-time checks generation and optimization based on SPARK reference semantics, and have built the certifying tools within the mechanized proof infrastructure to certify the run-time checks inserted by the GNAT compiler frontend to guarantee the absence of run-time errors. Third, we have proposed a language-based information security policy framework and the associated enforcement algorithm, which is proved to be sound with respect to the formalized program semantics. We have shown how the policy framework can be integrated into SPARK 2014 for more advanced information security analysis.en_US
dc.description.advisorJohn M. Hatcliffen_US
dc.description.degreeDoctor of Philosophyen_US
dc.description.departmentDepartment of Computing and Information Sciencesen_US
dc.description.levelDoctoralen_US
dc.description.sponsorshipUS Air Force Office of Scientific Research under contract FA9550-09-1-0138en_US
dc.identifier.urihttp://hdl.handle.net/2097/32880
dc.language.isoen_USen_US
dc.publisherKansas State Universityen
dc.subjectFormal Methodsen_US
dc.subjectLanguage Semanticsen_US
dc.subjectProgram Verificationen_US
dc.titleA formal approach to contract verification for high-integrity applicationsen_US
dc.typeDissertationen_US

Files

Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
ZhiZhang2016.pdf
Size:
1.08 MB
Format:
Adobe Portable Document Format
Description:
My Dissertation
License bundle
Now showing 1 - 1 of 1
No Thumbnail Available
Name:
license.txt
Size:
1.62 KB
Format:
Item-specific license agreed upon to submission
Description: