Layered architecture in operating system code is often compromised by execution path-specific customizations such as prefetching, page replacement and scheduling strategies. Paths...
Yvonne Coady, Gregor Kiczales, Michael J. Feeley, ...
Abstract. Design patterns have been a useful tool for a better understanding of the collaboration between several classes and objects in a program. One drawback of this approach is...
Ideally designed software allow users to explore and pursue interleaving plans, making it challenging to automatically recognize user interactions. The recognition algorithms prese...
Modern proof assistants such as Coq and Isabelle provide high degrees of expressiveness and assurance because they support formal reasoning in higher-order logic and supply explic...
Multi-stage programming languages provide a convenient notation for explicitly staging programs. Staging a definitional interpreter for a domain specific language is one way of de...