Automating software evolution requires both identifying precisely the affected program points and selecting the appropriate modification at each point. This task is particularly ...
We present a framework for decision making under uncertainty where the priorities of the alternatives can depend on the situation at hand. We design a logic-programming language, D...
d by recent research in abstract model checking, we present a new approach to inferring dependent types. Unlike many of the existing approaches, our approach does not rely on prog...
Software engineers frequently struggle with understanding the relationships between the source code of a system and its requirements or high-level features. These relationships ar...
Today, we are seeing an increasing number of software applications that users want to use anywhere, anytime. Such mobile applications often deliver their user interfaces (UIs) to ...