In this paper, we compare the underlying models of computation of the system description languages SystemC and Esterel. Although these languages have a rather different origin, we...
We present a tool, called CAsCaDE, to check assertions in C programs as part of a multi-stage verification strategy. CAsCaDE takes as input a C program and a control file (the outp...
175 views210 votes16 years 1 months ago ASPLOS 2009»
Software defects, commonly known as bugs, present a serious challenge for system reliability and dependability. Once a program failure is observed, the debugging activities to loc...
: C++ retains the ANSI C preprocessor, although its limitations have been widely recognised. We describe FOG, a meta-compiler for a super-set of C++, that provides replacement prep...
251 views136 votes13 years 8 months ago POPL 2012»
We present a formal operational semantics and its Coq mechanization for the C++ object model, featuring object construction and destruction, shared and repeated multiple inheritan...
136 views102 votes15 years 5 months ago PLDI 1999»
Previous selective dynamic compilation systems have demonstrated that dynamic compilation can achieve performance improvements at low cost on small kernels, but they have had diff...
Most robot programming takes place in the “time domain.” That is, the goal is to specify the behavior of a system that is acquiring a continual temporal stream of inputs, and ...
Object-oriented applications may contain data members that can be removed from the application without a ecting program behavior. Such \dead" data members may occur due to un...
A wide range of domain-specific languages (DSLs) has been implemented successfully by embedding them in general purpose languages. This paper reviews embedding, and summarizes how...
Software updates typically require stopping and restarting an application, but many systems cannot afford to halt service, or would prefer not to. Dynamic software updating (DSU) ...