2005
DOI: 10.1007/11513988_20
|View full text |Cite
|
Sign up to set email alerts
|

Formal Verification of Backward Compatibility of Microcode

Abstract: Microcode is used to facilitate new technologies in Intel CPU designs. A critical requirement is that new designs be backwardly compatible with legacy code when new functionalities are disabled. Several features distinguish microcode from other software systems, such as: interaction with the external environment, sensitivity to exceptions, and the complexity of instructions. This work describes the ideas behind MICROFORMAL, a technology for fully automated formal verification of functional backward compatibili… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
2

Citation Types

0
20
0
1

Year Published

2008
2008
2017
2017

Publication Types

Select...
4
3
1

Relationship

1
7

Authors

Journals

citations
Cited by 36 publications
(21 citation statements)
references
References 15 publications
0
20
0
1
Order By: Relevance
“…Several other works have targeted specific classes of languages: functional [7], microcode [8], CLP [9]. In order to be less language-specific some works advocate the use of intermediate languages, such as [10], which works on the Boogie intermediate language.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…Several other works have targeted specific classes of languages: functional [7], microcode [8], CLP [9]. In order to be less language-specific some works advocate the use of intermediate languages, such as [10], which works on the Boogie intermediate language.…”
Section: Related Workmentioning
confidence: 99%
“…In order to be less language-specific some works advocate the use of intermediate languages, such as [10], which works on the Boogie intermediate language. And finally, only some few approaches, among which [5,8], deal with real-life language and industrial-size programs in Inria those languages. This is in contrast to the equivalence checking of hardware circuits, which has entered the mainstream industrial practice (see, e.g., [11] for a survey on this topic).…”
Section: Related Workmentioning
confidence: 99%
“…Our basic theory remains that of [1], but our methodology has, of necessity, become significantly more sophisticated.…”
Section: Introductionmentioning
confidence: 99%
“…We have developed the MICROFORMAL tool-suite, originally used in the formal verification and analysis of microcode, and currently being extended for the verification of other embedded software. The MICROFORMAL tool-suite supports formal property verification, formal equivalence verification [1], and the extraction of feasible paths to serve as a coverage metric [2]. In this paper we focus not on the individual applications, but on their shared underlying symbolic simulation technology.…”
Section: Introductionmentioning
confidence: 99%
“…Tools that build upon symbolic execution to perform program analysis and verification include [22,23,24,25]. Regarding program equivalence, one can mention works on C compiler correctness [26,27], and approaches targetting specific classes of languages: functional [28], microcode [29], CLP [30]. Some approaches target particular kinds of programs: successive versions of a given piece of code [31], recursive procedures [32].…”
Section: Introductionmentioning
confidence: 99%