Bootstrapping is well known in the context of compilers, where a bootstrapped compiler can compile its own source code. Bootstrapping is a beneficial engineering practice beraise...
The aggressive optimization of heavily used kernels is an important problem in high-performance computing. However, both general purpose compilers and highly specialized tools suc...
Rahul Sharma 0001, Eric Schkufza, Berkeley R. Chur...
Given a program whose functionality depends on access to certain external resources, we investigate the question of how to gracefully degrade functionality when a subset of those ...
Lucas Brutschy, Pietro Ferrara, Omer Tripp, Marco ...
Recording and replaying the execution of smartphone apps is useful in a variety of contexts, from reproducing bugs to profiling and testing. Achieving effective record-andreplay ...
We report on an industrial case study on developing the embedded software for a smart meter using the C programming language and domain-specific extensions of C such as component...
Markus Voelter, Arie van Deursen, Bernd Kolb, Step...
Today, software engineering practices focus on finding the single “right” data representation for a program. The “right” data representation, however, might not exist: ch...
Mattias De Wael, Stefan Marr, Joeri De Koster, Jen...
Bug-finding tools based on dynamic analysis (DA), such as Valgrind or the compiler sanitizers provided by Clang and GCC, have become ubiquitous during software development. These...
While cryptography is now readily available to everyone and can, provably, protect private information from attackers, we still frequently hear about major data leakages, many of ...
Steven Arzt, Sarah Nadi, Karim Ali, Eric Bodden, S...
We present a new code assistance tool for integrated development environments. Our system accepts as input free-form queries containing a mixture of English and Java, and produces...