Generic components are a further abstraction over the concept of modules, introducing dependencies on other (not necessarily available) components implementing specified interfaces. They have become a key concept in large and complex software applications. Despite undeniable advantages, generic code is also anti-modular. Precise analysis (e.g., for detecting bugs or optimizing code) requires such code to be instantiated with concrete implementations, potentially leading to expensive combinatorial explosion. In this paper we claim that incremental, whole program analysis can be very beneficial in this context, and alleviate the anti-modularity nature of generic code. We propose a simple Horn-clause encoding of generic programs, using open pr...
Abstract. Static analyses of object-oriented programs usually rely on intermediate representations t...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
textabstractSoftware is becoming a pervasive presence in our lives, powering computing systems in th...
Global analyzers traditionally read and analyze the entire program at once, in a non-incremental way...
Global analyzers traditionally read and analyze the entire program at once, in a nonincremental way....
Global analysis of logic programs can be performed effectively by the use of one of several existing...
AbstractAbstract interpretation is a systematic methodology to design static program analysis which ...
We propose a modular, assertion-based system for verification and debugging of large logic programs,...
Abstract. We propose a modular, assertion-based system for verification and debugging of large logic...
We aim to specify program transformations in a declarative style, and then to generate executable pr...
Abstract. The relationship between abstract interpretation and partial deduction has received consid...
The flexibility of dynamic languages often comes at the cost of having to perform at run time a num...
Context-sensitive global analysis of large code bases can be expensive, which can make its use impra...
Abstract interpretation is a technique for ow analysis widely used in the area of logic programming...
We introduce a practical method for abductive analysis of modular logic programs. This is obtained ...
Abstract. Static analyses of object-oriented programs usually rely on intermediate representations t...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
textabstractSoftware is becoming a pervasive presence in our lives, powering computing systems in th...
Global analyzers traditionally read and analyze the entire program at once, in a non-incremental way...
Global analyzers traditionally read and analyze the entire program at once, in a nonincremental way....
Global analysis of logic programs can be performed effectively by the use of one of several existing...
AbstractAbstract interpretation is a systematic methodology to design static program analysis which ...
We propose a modular, assertion-based system for verification and debugging of large logic programs,...
Abstract. We propose a modular, assertion-based system for verification and debugging of large logic...
We aim to specify program transformations in a declarative style, and then to generate executable pr...
Abstract. The relationship between abstract interpretation and partial deduction has received consid...
The flexibility of dynamic languages often comes at the cost of having to perform at run time a num...
Context-sensitive global analysis of large code bases can be expensive, which can make its use impra...
Abstract interpretation is a technique for ow analysis widely used in the area of logic programming...
We introduce a practical method for abductive analysis of modular logic programs. This is obtained ...
Abstract. Static analyses of object-oriented programs usually rely on intermediate representations t...
Software is becoming a pervasive presence in our lives, powering computing systems in the home, in b...
textabstractSoftware is becoming a pervasive presence in our lives, powering computing systems in th...