Translating Java for Multiple Model Checkers: The Bandera Back-End - Archive ouverte HAL Accéder directement au contenu
Article Dans Une Revue Formal Methods in System Design Année : 2005

Translating Java for Multiple Model Checkers: The Bandera Back-End

Résumé

One approach to model checking program source code is to view a model checker as a target machine. In this setting, program source code is translated to a model checker’s input language using a process that shares much in common with program compilation. For example, well-defined intermediate program representations are used to stage the translation through a series of analyses and optimizing transformations and target-specific details are isolated in code generation modules. In this paper, we present the Bandera Intermediate Representation (BIR)—a guarded-assignment transformation system language that has been designed to support the translation of Java programs to a variety of model checkers. BIR includes constructs, such as inheritance, dynamic creation of data, and locking primitives, that are designed to model the semantics of Java primitives. BIR also includes several non-deterministic choice constructs that support abstraction in modeling and specification of properties of dynamic heap structures. We have developed a BIR-based tool infrastructure that has been applied to develop customized analysis frameworks for several different input languages using different model checking tools. We present BIR’s type system and operational semantics in sufficient detail to support similar applications by other researchers. This semantics details several state space reductions and state space search variations. We describe the translation of Java to BIR and how BIR is translated to the input languages of several model checkers.
Fichier principal
Vignette du fichier
bir-journal.pdf (455.67 Ko) Télécharger le fichier
Origine : Accord explicite pour ce dépôt

Dates et versions

hal-01418880 , version 1 (30-11-2019)

Licence

Domaine public

Identifiants

Citer

Radu Iosif, Matthew B Dwyer, John Hatcliff. Translating Java for Multiple Model Checkers: The Bandera Back-End. Formal Methods in System Design, 2005, 26 (2), pp.137-180. ⟨10.1007/s10703-005-1491-3⟩. ⟨hal-01418880⟩
30 Consultations
75 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More