We describe data structures and algorithms for performing a path-sensitive program analysis to discover equivalences of expressions involving linear arithmetic or uninterpreted fun...
The development of design patterns in object-oriented programming aims at capturing good software design in a re-usable generic form. However, design patterns are not expressible ...
Ondrej Rypacek, Roland Carl Backhouse, Henrik Nils...
People intuitively understand that function and purpose are critical parts of what human-configured entities are about, but these notions have proved difficult to capture formally....
FLUX belongs to the high-level programming languages for cognitive agents that have been developed in recent years. Based on the established, general action representation formali...
Machine-checked proofs of properties of programming languages have become a critical need, both for increased confidence in large and complex designs and as a foundation for techn...