The synthesis of loop predicates
Communications of the ACM
Dynamically Discovering Likely Program Invariants to Support Program Evolution
IEEE Transactions on Software Engineering - Special issue on 1999 international conference on software engineering
Smart Selective Competition Parallelism ATP
Proceedings of the Twelfth International Florida Artificial Intelligence Research Society Conference
FME '02 Proceedings of the International Symposium of Formal Methods Europe on Formal Methods - Getting IT Right
CADE-18 Proceedings of the 18th International Conference on Automated Deduction
Inference rules for program annotation
ICSE '78 Proceedings of the 3rd international conference on Software engineering
Certifying Domain-Specific Policies
Proceedings of the 16th IEEE international conference on Automated software engineering
AutoBayes: a system for generating data analysis programs from statistical models
Journal of Functional Programming
Automating the implementation of Kalman filter algorithms
ACM Transactions on Mathematical Software (TOMS)
Proceedings of the 5th international conference on Generative programming and component engineering
A static aspect language for checking design rules
Proceedings of the 6th international conference on Aspect-oriented software development
AI Communications - CASC
Automatic extraction of framework-specific models from framework-based application code
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Automatic verification of pointer programs using grammar-based shape analysis
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
Certifiable program generation
GPCE'05 Proceedings of the 4th international conference on Generative Programming and Component Engineering
Verifying semantic conformance of state machine-to-java code generators
MODELS'10 Proceedings of the 13th international conference on Model driven engineering languages and systems: Part I
AdvoCATE: an assurance case automation toolset
SAFECOMP'12 Proceedings of the 2012 international conference on Computer Safety, Reliability, and Security
A framework for testing first-order logic axioms in program verification
Software Quality Control
Simulink timed models for program verification
Theories of Programming and Formal Methods
Hi-index | 0.00 |
Program verification using Hoare-style techniques requires many logical annotations. We have previously developed a generic annotation inference algorithm that weaves in all annotations required to certify safety properties for automatically generated code. It uses patterns to capture generator- and property-specific code idioms and property-specific meta-program fragments to construct the annotations. The algorithm is customized by specifying the code patterns and integrating them with the meta-program fragments for annotation construction. However, this is difficult since it involves tedious and error-prone low-level term manipulations. Here, we describe an approach that automates this customization task using generative techniques. It uses a small annotation schema compiler that takes a collection of high-level declarative annotation schemas tailored towards a specific code generator and safety property, and generates all customized analysis functions and glue code required for interfacing with the generic algorithm core, thus effectively creating a customized annotation inference algorithm. The compiler raises the level of abstraction and simplifies schema development and maintenance. It also takes care of some more routine aspects of formulating patterns and schemas, in particular handling of irrelevant program fragments and irrelevant variance in the program structure, which reduces the size, complexity, and number of different patterns and annotation schemas required. The improvements described here make it easier and faster to customize the system to a new safety property or a new generator, and we demonstrate this by customizing it to certify frame safety of space flight navigation code that was automatically generated from Simulink models by MathWorks' Real-Time Workshop.