There are now a number of bidirectional programming languages, where every program can be read both as a forward transformation mapping one data structure to another and as a reve...
J. Nathan Foster, Alexandre Pilkiewicz, Benjamin C...
Software product lines (SPLs) are used to create tailor-made software products by managing and composing reusable assets. Generating a software product from the assets of an SPL i...
One of the surprising developments in the area of program verification is how ideas introduced by logicians in the early part of the 20th Century ended up yielding by the 21 Centu...
Abstract. Symbolic execution is a flexible and powerful, but computationally expensive technique to detect dynamic behaviors of a program. In this paper, we present a context-sensi...
For decades we have been using Chomsky's generative system of grammars, particularly context-free grammars (CFGs) and regular expressions (REs), to express the syntax of prog...