The term grammar-based software describes software whose input can be specified by a context-free grammar. This grammar may occur explicitly in the software, in the form of an in...
Types are a good starting point for various software reengineering tasks. Unfortunately, programs requiring reengineering most desperately are written in languages without an adeq...
Program analysis and verification tools crucially depend on the ability to symbolically describe and reason about sets of program behaviors. Separation logic provides a promising...
As computer systems continue to become more powerful and comdo programs. High-level abstractions introduced to deal with complexity in large programs, while simplifying human reas...
Kevin J. Hoffman, Patrick Eugster, Suresh Jagannat...
Current formal software engineering methodologies provide a vast array of languages for specifying correctness properties, as well as a wide assortment automated tools that aid in...