This dissertation shows that complex, real programming languages can be completely formalized in the K Framework, yielding interpreters and analysis tools for testing and bug detection. This is demonstrated by providing, in K, the first complete formal semantics of the C programming language. With varying degrees of effort, tools such as interpreters, debuggers, and model-checkers, together with tools that check for memory safety, races, deadlocks, and undefined behavior are then generated from the semantics. Being executable, the semantics has been thoroughly tested against the GCC torture test suite and successfully passes 99.2 % of 776 test programs. The semantics is also evaluated against popular analysis tools, using a new test suite i...
This paper investigates undefined behavior in C and offers a few simple techniques for operationally...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
Phd Thesis Abstract Before software can be formally reasoned about, it must first be represented i...
This dissertation shows that complex, real programming languages can be completely formalized in the...
This paper describes an executable formal semantics of C expressed using a formalism based on term r...
This paper describes an executable formal semantics of C. Being executable, the semantics has been ...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
Field of study: Computer science.|Dr. William L. Harrison, Dissertation Supervisor.|Includes vita."D...
International audienceThis paper reports on the design of adequate on-machine formal semantics for a...
AbstractThis paper gives an overview of the tool-supported K framework for semantics-based programmi...
Using the K framework [6,15], it is possible to define the semantics of programming languages and la...
Systems code is almost universally written in the C programming language or a variant. C has a very ...
Formal specifications can be used for various software engineering activities ranging from finding e...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
textabstractSoftware is becoming a pervasive presence in our lives, powering computing systems in th...
This paper investigates undefined behavior in C and offers a few simple techniques for operationally...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
Phd Thesis Abstract Before software can be formally reasoned about, it must first be represented i...
This dissertation shows that complex, real programming languages can be completely formalized in the...
This paper describes an executable formal semantics of C expressed using a formalism based on term r...
This paper describes an executable formal semantics of C. Being executable, the semantics has been ...
AbstractThis paper shows how one can easily transform K definitions of programming languages into ru...
Field of study: Computer science.|Dr. William L. Harrison, Dissertation Supervisor.|Includes vita."D...
International audienceThis paper reports on the design of adequate on-machine formal semantics for a...
AbstractThis paper gives an overview of the tool-supported K framework for semantics-based programmi...
Using the K framework [6,15], it is possible to define the semantics of programming languages and la...
Systems code is almost universally written in the C programming language or a variant. C has a very ...
Formal specifications can be used for various software engineering activities ranging from finding e...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
textabstractSoftware is becoming a pervasive presence in our lives, powering computing systems in th...
This paper investigates undefined behavior in C and offers a few simple techniques for operationally...
[EN] Despite its many unquestionable benefits, formal specifications are not widely used in industri...
Phd Thesis Abstract Before software can be formally reasoned about, it must first be represented i...