Recent developments in the systematic construction of abstract interpreters hinted at the possibility of a broad unification of concepts in static analysis. We deliver that unification by showing context-sensitivity, polyvariance, flow-sensitivity, reachabilitypruning, heap-cloning and cardinality-bounding to be independent of any particular semantics. Monads become the unifying agent between these concepts and between semantics. For instance, by plugging the same "context-insensitivity monad" into a monadicallyparameterized semantics for Java or for the lambda calculus, it yields the expected context-insensitive analysis. To achieve this unification, we develop a systematic method for transforming a concrete semantics into a monadically-pa...
Natural semantics specifications have become mainstream in the formal specification of programming l...
Monads have become a powerful tool for structuring effectful computations in functional program-ming...
AbstractWe present an abstract interpretation framework for a subset of Java (without concurrency). ...
The application field of static analysis techniques for objectoriented programming is getting broade...
The application field for static analysis of Java programs is getting broader, ranging from compiler...
AbstractThe “right” way of writing and structuring compilers is well-known. The situation is a bit l...
International audienceThe "right" way of writing and structuring compilers is well-known. The situat...
Static program analysis is a powerful technique for bug-finding, verification, and program understan...
technical reportWe contribute to the state of the art in static analysis of declarative languages wi...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
AbstractIn this extended abstract we provide a very brief overview of the notion of a monad along wi...
The design and implementation of static analyzers has be-come increasingly systematic. Yet for a giv...
International audienceThe aim of static analysis is to infer invariants about programs that are tigh...
We extend our correspondence between evaluators and abstract machines from the pure setting of the l...
Programming with monads can be advantageous even in imperative languages with builtin support for si...
Natural semantics specifications have become mainstream in the formal specification of programming l...
Monads have become a powerful tool for structuring effectful computations in functional program-ming...
AbstractWe present an abstract interpretation framework for a subset of Java (without concurrency). ...
The application field of static analysis techniques for objectoriented programming is getting broade...
The application field for static analysis of Java programs is getting broader, ranging from compiler...
AbstractThe “right” way of writing and structuring compilers is well-known. The situation is a bit l...
International audienceThe "right" way of writing and structuring compilers is well-known. The situat...
Static program analysis is a powerful technique for bug-finding, verification, and program understan...
technical reportWe contribute to the state of the art in static analysis of declarative languages wi...
In the world of programming, there are many kinds of languages from which to choose. These varied la...
AbstractIn this extended abstract we provide a very brief overview of the notion of a monad along wi...
The design and implementation of static analyzers has be-come increasingly systematic. Yet for a giv...
International audienceThe aim of static analysis is to infer invariants about programs that are tigh...
We extend our correspondence between evaluators and abstract machines from the pure setting of the l...
Programming with monads can be advantageous even in imperative languages with builtin support for si...
Natural semantics specifications have become mainstream in the formal specification of programming l...
Monads have become a powerful tool for structuring effectful computations in functional program-ming...
AbstractWe present an abstract interpretation framework for a subset of Java (without concurrency). ...