Verified compilation of Concurrent Managed Languages
Saved in:
| Title: | Verified compilation of Concurrent Managed Languages |
|---|---|
| Authors: | Jagannathan,Suresh, Vitek,Jan |
| Contributors: | Purdue University West Lafayette United States |
| Publication Year: | 2017 |
| Collection: | Defense Technical Information Center: DTIC Technical Reports database |
| Subject Terms: | Computer Programming and Software, COMPUTER PROGRAM VERIFICATION, methodology, PROGRAMMING LANGUAGES, reasoning, Program verification, compiler design, concurrency, memory models, theorem proving, garbage collection, java memory model |
| Description: | The goal of the Havoc project was to explore new proof techniques and methodologies that would enable scalable and modular verification of modern concurrent programming languages like Java or C# . The efforts undertaken during the lifetime of this effort focused on (a) new proof techniques, specifically the use of refinement methods and tactics to simplify reasoning about interferences in proving invariants about concurrent code; (b) incorporating precise notions of memory models, both at the processor and language level, to enable compilation to exploit and be faithful to language definitions and processor features; (c) new designs for compiler intermediate representations that facilitate mechanized proofs and verification; and (d) a realistic case study that combines these ideas to prove the correctness of a state-of-the-art concurrent garbage collector. |
| Document Type: | text |
| File Description: | text/html |
| Language: | English |
| Relation: | http://www.dtic.mil/docs/citations/AD1043395 |
| Availability: | http://www.dtic.mil/docs/citations/AD1043395 http://oai.dtic.mil/oai/oai?&verb=getRecord&metadataPrefix=html&identifier=AD1043395 |
| Rights: | Approved For Public Release |
| Accession Number: | edsbas.401E9BC9 |
| Database: | BASE |
| Abstract: | The goal of the Havoc project was to explore new proof techniques and methodologies that would enable scalable and modular verification of modern concurrent programming languages like Java or C# . The efforts undertaken during the lifetime of this effort focused on (a) new proof techniques, specifically the use of refinement methods and tactics to simplify reasoning about interferences in proving invariants about concurrent code; (b) incorporating precise notions of memory models, both at the processor and language level, to enable compilation to exploit and be faithful to language definitions and processor features; (c) new designs for compiler intermediate representations that facilitate mechanized proofs and verification; and (d) a realistic case study that combines these ideas to prove the correctness of a state-of-the-art concurrent garbage collector. |
|---|
Nájsť tento článok vo Web of Science