Software frameworks impose constraints on how plugins may interact with them. Many of hese constraints involve multiple objects, are temporal, and depend on runtime values. Additi...
Dynamic reconfiguration techniques are widely used for efficient system optimization. Dynamic cache reconfiguration is a promising approach for reducing energy consumption as well...
Enforcing compliance to API usage protocols is notoriously hard due to possible aliasing of objects through multiple references. In previous work we proposed a sound, modular appr...
Difficulties understanding update paths while understanding code cause developers to waste time and insert bugs. A detailed investigation of these difficulties suggests that a wid...
Program source is an intermediate representation of software; it lies between a developer’s intention and the hardware’s execution. Despite advances in languages and developme...
Geoffrey Lefebvre, Brendan Cully, Michael J. Feele...