DocumentCode
2487616
Title
Language engineering as an enabler for incrementally defined formal analyses
Author
Ratiu, Daniel ; Schaetz, Bernhard ; Voelter, Markus ; Kolb, Bernd
Author_Institution
ForTISS GmbH, Munich, Germany
fYear
2012
fDate
2-2 June 2012
Firstpage
9
Lastpage
15
Abstract
There is a big semantic gap between today´s general purpose programming languages on the one hand and the input languages of formal verification tools on the other hand. This makes integrating formal analyses into the daily development practice artificially complex. In this paper we advocate that the use of language engineering techniques can substantially improve this situation along three dimensions. First, more abstract and thus more analyzable domain specific languages can be defined, avoiding the need for abstraction recovery from programs written in general purpose languages. Second, restrictions on the use of existing languages can be imposed and thereby more analyzable code can be obtained and analyses can be incrementally defined. Third, by expressing verification conditions and the verification results at the domain level, they are easier to define and the results of analyses are easier to interpret by end users. We exemplify our approach with three domain specific language fragments integrated into the C programming language, together with a set of analyses: completeness and consistency of decision tables, model-checking-based analyses for a dialect of state machines and consistency of feature models. The examples are based on the mbeddr stack, an extensible C language and IDE for embedded software development.
Keywords
C language; decision tables; finite state machines; formal verification; C programming language; abstraction recovery; daily development practice; decision tables completeness; decision tables consistency; domain level; domain specific languages; embedded software development; feature models consistency; formal analysis integration; formal verification tools; incrementally defined formal analysis; language engineering techniques; mbeddr stack; model checking-based analysis; programming languages; semantic gap; state machines; verification conditions; Abstracts; Analytical models; Computer languages; Concrete; DSL; Semantics; Syntactics;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering: Rigorous and Agile Approaches (FormSERA), 2012 Formal Methods in
Conference_Location
Zurich
Print_ISBN
978-1-4673-1907-2
Type
conf
DOI
10.1109/FormSERA.2012.6229790
Filename
6229790
Link To Document