Demo Data from SIGIR 2026 / reviewers in the wild / expert
Michael Codish
dblp:c/MCodish
· DBLP profile ↗
69ranked-venue papers
43as first author
5since 2021 · last 2025
0000-0003-0394-5854ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 40 · 27 first-author · 1 since 2021Theory of computation · 31 · 23 first-authorArtificial intelligence and machine learning · 20 · 9 first-author · 5 since 2021Graphics, computer vision, multimedia, augmented reality and games · 6 · 2 first-author · 2 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Theoretical computer science
10 papers |
Automated reasoning and model checking · 36% Logic in computer science · 28% Distributed computing theory · 15% | |
| Software engineering, system software, and programming languages
9 papers |
Program analysis · 44% Programming languages and type systems · 39% Program verification · 16% | |
| Artificial intelligence
1 paper |
Planning, search and constraint satisfaction · 100% |
Topics — the 30 heaviest of 37, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Automated reasoning and model checking
satisfiability |
1.0 | 3 | 2024 | SAT-Based Techniques for Lexicographically Smallest Finite Models · AAAI 2024 Compiling Model-Based Diagnosis to Boolean Satisfaction · AAAI 2012 The DNA Word Design Problem: A New Constraint Model and New Results · IJCAI 2017 |
Distributed computing theory
symmetry breaking |
0.9 | 2 | 2025 | Complete Symmetry Breaking for Finite Models · AAAI 2025 Breaking Symmetries in Graph Representation · IJCAI 2013 |
Automated reasoning and model checking › automated reasoning › model finding
finite model finding |
0.9 | 1 | 2025 | Complete Symmetry Breaking for Finite Models · AAAI 2025 |
Logic in computer science
first-order logic |
0.9 | 1 | 2025 | Complete Symmetry Breaking for Finite Models · AAAI 2025 |
Logic in computer science
finite model theory |
0.8 | 1 | 2024 | SAT-Based Techniques for Lexicographically Smallest Finite Models · AAAI 2024 |
Knowledge, reasoning and agents › Planning, search and constraint satisfaction › constraint satisfaction
symmetry breaking |
0.4 | 1 | 2020 | Incremental Symmetry Breaking Constraints for Graph Search Problems · AAAI 2020 |
Graph algorithms and graph theory › graph algorithms
graph search |
0.4 | 1 | 2020 | Incremental Symmetry Breaking Constraints for Graph Search Problems · AAAI 2020 |
Graph algorithms and graph theory
graph representation |
0.2 | 1 | 2013 | Breaking Symmetries in Graph Representation · IJCAI 2013 |
Automated reasoning and model checking › diagnosis
model-based diagnosis |
0.1 | 1 | 2012 | Compiling Model-Based Diagnosis to Boolean Satisfaction · AAAI 2012 |
Automated reasoning and model checking › satisfiability
SAT encoding |
0.1 | 1 | 2012 | Compiling Model-Based Diagnosis to Boolean Satisfaction · AAAI 2012 |
Program analysis › static analysis
abstract interpretation |
0.1 | 5 | 2007 | Termination analysis of logic programs through combination of type-based norms · ACM Trans. Program. Lang. Syst. 2007 Sharing and groundness dependencies in logic programs · ACM Trans. Program. Lang. Syst. 1999 Improving Abstract Interpretations by Combining Domains · ACM Trans. Program. Lang. Syst. 1995 |
Mathematical optimization › constraint programming
constraint modeling |
0.1 | 1 | 2017 | The DNA Word Design Problem: A New Constraint Model and New Results · IJCAI 2017 |
Computational complexity
constraint satisfaction |
0.1 | 1 | 2017 | The DNA Word Design Problem: A New Constraint Model and New Results · IJCAI 2017 |
Program verification
termination analysis |
0.1 | 1 | 2007 | Termination analysis of logic programs through combination of type-based norms · ACM Trans. Program. Lang. Syst. 2007 |
Programming languages and type systems
logic programming |
0.0 | 4 | 1995 | Improving Abstract Interpretations by Combining Domains · ACM Trans. Program. Lang. Syst. 1995 Oracle Semantics for Prolog · Inf. Comput. 1995 Modeling Prolog Control · POPL 1992 |
Program analysis › heap analysis
sharing analysis |
0.0 | 2 | 1999 | Sharing and groundness dependencies in logic programs · ACM Trans. Program. Lang. Syst. 1999 Improving Abstract Interpretations by Combining Domains · ACM Trans. Program. Lang. Syst. 1995 |
Programming languages and type systems › logic programming
prolog |
0.0 | 2 | 1995 | Oracle Semantics for Prolog · Inf. Comput. 1995 Modeling Prolog Control · POPL 1992 |
Program analysis
static analysis |
0.0 | 2 | 1995 | Efficient Analysis of Concurrent Constraint Logic Programs · ICALP 1993 Improving Abstract Interpretations by Combining Domains · ACM Trans. Program. Lang. Syst. 1995 |
Logic in computer science
semantics |
0.0 | 1 | 1995 | Oracle Semantics for Prolog · Inf. Comput. 1995 |
Programming languages and type systems › logic programming
concurrent logic programming |
0.0 | 1 | 1994 | Suspension Analyses for Concurrent Logic Programs · ACM Trans. Program. Lang. Syst. 1994 |
Programming languages and type systems › language semantics › formal semantics › operational semantics
state transition semantics |
0.0 | 1 | 1994 | Suspension Analyses for Concurrent Logic Programs · ACM Trans. Program. Lang. Syst. 1994 |
Program analysis › static analysis › interprocedural analysis
compositional analysis |
0.0 | 1 | 1993 | Compositional Analysis of Modular Logic Programs · POPL 1993 |
Program analysis › static analysis
logic program analysis |
0.0 | 1 | 1993 | Compositional Analysis of Modular Logic Programs · POPL 1993 |
Logic in computer science › program semantics
operational semantics |
0.0 | 1 | 1992 | Modeling Prolog Control · POPL 1992 |
Logic in computer science
program semantics |
0.0 | 1 | 1992 | Modeling Prolog Control · POPL 1992 |
Coding theory
boolean functions |
0.0 | 1 | 1999 | Sharing and groundness dependencies in logic programs · ACM Trans. Program. Lang. Syst. 1999 |
Computational complexity › boolean function analysis
monotone boolean function |
0.0 | 1 | 1999 | Sharing and groundness dependencies in logic programs · ACM Trans. Program. Lang. Syst. 1999 |
Programming languages and type systems › logic programming › concurrent logic programming
concurrent prolog |
0.0 | 1 | 1988 | Fully Abstract Denotational Semantics for Flat Concurrent Prolog · LICS 1988 |
Programming languages and type systems › language semantics › formal semantics
denotational semantics |
0.0 | 1 | 1988 | Fully Abstract Denotational Semantics for Flat Concurrent Prolog · LICS 1988 |
Programming languages and type systems › program equivalence
full abstraction |
0.0 | 1 | 1988 | Fully Abstract Denotational Semantics for Flat Concurrent Prolog · LICS 1988 |
Methods — techniques the papers use, named apart from their topics
symmetry breaking · 1.0model counting · 0.9SAT solving · 0.9parallel search · 0.9incremental symmetry breaking constraints · 0.9propagation technique · 0.8SAT solver · 0.8clustering · 0.3boolean satisfiability solving · 0.3preprocessing · 0.1abstract interpretation · 0.1type-based norms · 0.1reduced product · 0.0domain factorization · 0.0binary decision diagrams · 0.0operational semantics · 0.0denotational semantics · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | Complete Symmetry Breaking for Finite ModelsabstractThis paper introduces a SAT-based technique that calculates a compact and complete symmetry-break for finite model finding, with the focus on structures with a single binary operation (magmas). Classes of algebraic structures are typically described as first-order logic formulas and the concrete algebras are models of these formulas. Such models include an enormous number of isomorphic, i.e. symmetric, algebras. A complete symmetry-break is a formula that has as models, exactly one canonical representative from each equivalence class of algebras. Thus, we enable answering questions about properties of the models so that computation and search are restricted to the set of canonical representations. For instance, we can answer the question: How many non-isomorphic semigroups are there of size n? Such questions can be answered by counting the satisfying assignments of a SAT formula, which already filters out non-isomorphic models. The introduced technique enables us calculating numbers of algebraic structures not present in the literature and going beyond the possibilities of pure enumeration approaches. Marek Danco, Mikolás Janota, Michael Codish, João Jorge Araújo |
AAAI | 3 |
| 2025 | Breaking Symmetries with InvolutionsabstractSymmetry breaking for graphs and other combinatorial objects is notoriously hard. On the one hand, complete symmetry breaks are exponential in size. On the other hand, current, state-of-the-art, partial symmetry breaks are often considered too weak to be of practical use. Recently, the concept of graph patterns has been introduced and provides a concise representation for (large) sets of non-canonical graphs, i.e.\ graphs that are not lex-leaders and can be excluded from search. In particular, four (specific) graph patterns apply to identify about 3/4 of the set of all non-canonical graphs. Taking this approach further we discover that graph patterns that derive from permutations that are involutions play an important role in the construction of symmetry breaks for graphs. We take advantage of this to guide the construction of partial and complete symmetry breaking constraints based on graph patterns. The resulting constraints are small in size and strong in the number of symmetries they break. Michael Codish, Mikolás Janota |
CP | 1 |
| 2025 | Breaking Symmetries from a Set-Covering Perspective
Michael Codish, Mikolás Janota |
CPAIOR (1) | 1 |
| 2024 | SAT-Based Techniques for Lexicographically Smallest Finite ModelsabstractThis paper proposes SAT-based techniques to calculate a specific normal form of a given finite mathematical structure (model). The normal form is obtained by permuting the domain elements so that the representation of the structure is lexicographically smallest possible. Such a normal form is of interest to mathematicians as it enables easy cataloging of algebraic structures. In particular, two structures are isomorphic precisely when their normal forms are the same. This form is also natural to inspect as mathematicians have been using it routinely for many decades. We develop a novel approach where a SAT solver is used in a black-box fashion to compute the smallest representative. The approach constructs the representative gradually and searches the space of possible isomorphisms, requiring a small number of variables. However, the approach may lead to a large number of SAT calls and therefore we devise propagation techniques to reduce this number. The paper focuses on finite structures with a single binary operation (encompassing groups, semigroups, etc.). However, the approach is generalizable to arbitrary finite structures. We provide an implementation of the proposed algorithm and evaluate it on a variety of algebraic structures. Mikolás Janota, Choiwah Chow, João Araújo 0002, Michael Codish, Petr Vojtechovský |
AAAI | 4 |
| 2023 | Breaking Symmetries with High Dimensional Graph Invariants and Their Combination
Avraham Itzhakov, Michael Codish |
CPAIOR | 2 |
| 2020 | Incremental Symmetry Breaking Constraints for Graph Search ProblemsabstractThis paper introduces incremental symmetry breaking constraints for graph search problems which are complete and compact. We show that these constraints can be computed incrementally: A symmetry breaking constraint for order n graphs can be extended to one for order n + 1 graphs. Moreover, these constraints induce a special property on their canonical solutions: An order n canonical graph contains a canonical subgraph on the first k vertices for every 1 ≤ k ≤ n. This facilitates a “generate and extend” paradigm for parallel graph search problem solving: To solve a graph search problem φ on order n graphs, first generate the canonical graphs of some order k < n. Then, compute canonical solutions for φ by extending, in parallel, each canonical order k graph together with suitable symmetry breaking constraints. The contribution is that the proposed symmetry breaking constraints enable us to extend the order k canonical graphs to order n canonical solutions. We demonstrate our approach through its application on two hard graph search problems. Avraham Itzhakov, Michael Codish |
AAAI | 2 |
| 2019 | Sorting networks: To the end and back again
Michael Codish, Luís Cruz-Filipe, Thorsten Ehlers, Mike Müller, Peter Schneider-Kamp |
J. Comput. Syst. Sci. | 1 |
| 2017 | The DNA Word Design Problem: A New Constraint Model and New ResultsabstractA fundamental problem in coding theory concerns the computation of the maximum cardinality of a set S of length n code words over an alphabet of size q, such that every pair of code words has Hamming distance at least d, and the set of additional constraints U on S is satisfied. This problem has application in several areas, one of which is the design of DNA codes where q=4 and the alphabet is {A,C,G,T}. We describe a new constraint model for this problem and demonstrate that it improves on previous solutions (computes better lower bounds) for various instances of the problem. Our approach is based on a clustering of DNA words into small sets of words. Solutions are then obtained as the union of such clusters. Our approach is SAT based: we specify constraints on clusters of DNA words and solve these using a Boolean satisfiability solver. Michael Codish, Michael Frank 0002, Vitaly Lagoon |
IJCAI | 1 |
| 2017 | Optimizing sorting algorithms by using sorting networksabstractAbstract In this paper, we show how the theory of sorting networks can be applied to synthesize optimized general-purpose sorting libraries. Standard sorting libraries are often based on combinations of the classic Quicksort algorithm, with insertion sort applied as base case for small, fixed, numbers of inputs. Unrolling the code for the base case by ignoring loop conditions eliminates branching, resulting in code equivalent to a sorting network. By replacing it with faster sorting networks, we can improve the performance of these algorithms. We show that by considering the number of comparisons and swaps alone we are not able to predict any real advantage of this approach. However, significant speed-ups are obtained when taking advantage of instruction level parallelism and non-branching conditional assignment instructions, both of which are common in modern CPU architectures. Furthermore, a close control of how often registers have to be spilled to memory gives us a complete explanation of the performance of different sorting networks, allowing us to choose an optimal one for each particular architecture. Our experimental results show that using code synthesized from these efficient sorting networks as the base case for Quicksort libraries results in significant real-world speed-ups. Michael Codish, Luís Cruz-Filipe, Markus E. Nebel, Peter Schneider-Kamp |
Formal Aspects Comput. | 1 |
| 2017 | Optimal-depth sorting networks
Daniel Bundala, Michael Codish, Luís Cruz-Filipe, Peter Schneider-Kamp, Jakub Závodný |
J. Comput. Syst. Sci. | 2 |
| 2016 | Breaking Symmetries in Graphs: The Nauty Way
Michael Codish, Graeme Gange, Avraham Itzhakov, Peter J. Stuckey |
CP | 1 |
| 2016 | Sorting nine inputs requires twenty-five comparisons
Michael Codish, Luís Cruz-Filipe, Michael Frank 0002, Peter Schneider-Kamp |
J. Comput. Syst. Sci. | 1 |
| 2016 | Preface for special section from FLOPS 2014abstractThe 12th International Symposium on Functional and Logic Programming was held in Kanazawa, Japan, June 4–6, 2014. The aim of the Functional and Logic Programming series of conferences is to bring together researchers interested in declarative programming including functional programming and logic programming. The series aims to promote cross-fertilization and integration between the two paradigms and it is traditionally organized and held in Japan. Michael Codish, Eijiro Sumii |
J. Funct. Program. | 1 |
| 2016 | Logic Programming with Graph Automorphism: Integrating nauty with Prolog (Tool Description)abstractAbstract This paper presents thepl-nautylibrary, a Prolog interface to thenautygraph-automorphism tool. Adding the capabilities ofnautyto Prolog combines the strength of the “generate and prune” approach that is commonly used in logic programming and constraint solving, with the ability to reduce symmetries while reasoning over graph objects. Moreover, it enables the integration ofnautyin existing tool-chains, such as SAT-solvers or finite domain constraints compilers which exist for Prolog. The implementation consists of two components:pl-nauty, an interface connectingnauty's C library with Prolog, andpl-gtools, a Prolog framework integrating the software component ofnauty, calledgtools, with Prolog. The complete tool is available as a SWI-Prolog module. We provide a series of usage examples including two that apply to generate Ramsey graphs. Michael Frank 0002, Michael Codish |
Theory Pract. Log. Program. | 2 |
| 2015 | Sorting Networks: The End Game
Michael Codish, Luís Cruz-Filipe, Peter Schneider-Kamp |
LATA | 1 |
| 2015 | Applying Sorting Networks to Synthesize Optimized Sorting Libraries
Michael Codish, Luís Cruz-Filipe, Markus E. Nebel, Peter Schneider-Kamp |
LOPSTR | 1 |
| 2014 | Twenty-Five Comparators Is Optimal When Sorting Nine Inputs (and Twenty-Nine for Ten)abstractThis paper describes a computer-assisted non-existence proof of 9-input sorting networks consisting of 24 comparators, hence showing that the 25-comparator sorting network found by Floyd in 1964 is optimal. As a corollary, we obtain that the 29-comparator network found by Waksman in 1969 is optimal when sorting 10 inputs. This closes the two smallest open instances of the optimal-size sorting network problem, which have been open since the results of Floyd and Knuth from 1966 proving optimality for sorting networks of up to 8 inputs. The proof involves a combination of two methodologies: one based on exploiting the abundance of symmetries in sorting networks, and the other based on an encoding of the problem to that of satisfiability of propositional logic. We illustrate that, while each of these can single-handedly solve smaller instances of the problem, it is their combination that leads to the more efficient solution that scales to handle 9 inputs. Michael Codish, Luís Cruz-Filipe, Michael Frank 0002, Peter Schneider-Kamp |
ICTAI | 1 |
| 2014 | Simplifying Pseudo-Boolean Constraints in Residual Number Systems
Yoav Fekete, Michael Codish |
SAT | 2 |
| 2014 | A Novel SAT-Based Approach to Model Based DiagnosisabstractThis paper introduces a novel encoding of Model Based Diagnosis (MBD) to Boolean Satisfaction (SAT) focusing on minimal cardinality diagnosis. The encoding is based on a combination of sophisticated MBD preprocessing algorithms and the application of a SAT compiler which optimizes the encoding to provide more succinct CNF representations than obtained with previous works. Experimental evidence indicates that our approach is superior to all published algorithms for minimal cardinality MBD. In particular, we can determine, for the first time, minimal cardinality diagnoses for the entire standard ISCAS-85 and 74XXX benchmarks. Our results open the way to improve the state-of-the-art on a range of similar MBD problems. Amit Metodi, Roni Stern, Meir Kalech, Michael Codish |
J. Artif. Intell. Res. | 4 |
| 2013 | Breaking Symmetries in Graph Representation
Michael Codish, Alice Miller 0001, Patrick Prosser, Peter J. Stuckey |
IJCAI | 1 |
| 2013 | Boolean Equi-propagation for Concise and Efficient SAT Encodings of Combinatorial ProblemsabstractWe present an approach to propagation-based SAT encoding of combinatorial problems, Boolean equi-propagation, where constraints are modeled as Boolean functions which propagate information about equalities between Boolean literals. This information is then applied to simplify the CNF encoding of the constraints. A key factor is that considering only a small fragment of a constraint model at one time enables us to apply stronger, and even complete, reasoning to detect equivalent literals in that fragment. Once detected, equivalences apply to simplify the entire constraint model and facilitate further reasoning on other fragments. Equi-propagation in combination with partial evaluation and constraint simplification provide the foundation for a powerful approach to SAT-based finite domain constraint solving. We introduce a tool called BEE (Ben-Gurion Equi-propagation Encoder) based on these ideas and demonstrate for a variety of benchmarks that our approach leads to a considerable reduction in the size of CNF encodings and subsequent speed-ups in SAT solving times. Amit Metodi, Michael Codish, Peter J. Stuckey |
J. Artif. Intell. Res. | 2 |
| 2012 | Compiling Model-Based Diagnosis to Boolean SatisfactionabstractThis paper introduces an encoding of Model Based Diagnosis (MBD) to Boolean Satisfaction (SAT) focusing on minimal cardinality diagnosis. The encoding is based on a combination of sophisticated MBD preprocessing algorithms and SAT compilation techniques which together provide concise CNF formula. Experimental evidence indicates that our approach is superior to all published algorithms for minimal cardinality MBD. In particular, we can determine, for the first time, minimal cardinality diagnoses for the entire standard ISCAS-85 benchmark. Our results open the way to improve the state-of-the-art on a range of similar MBD problems. Amit Metodi, Roni Stern, Meir Kalech, Michael Codish |
AAAI | 4 |
| 2012 | SAT Solving for Termination Proofs with Recursive Path Orders and Dependency Pairs
Michael Codish, Jürgen Giesl, Peter Schneider-Kamp, René Thiemann |
J. Autom. Reason. | 1 |
| 2012 | Compiling finite domain constraints to SAT with BEEabstractAbstract We presentBEE, a compiler which enables to encode finite domain constraint problems to CNF. UsingBEEboth eases the encoding process for the user and also performs transformations to simplify constraints and optimize their encoding to CNF. These optimizations are based primarily on equi-propagation and on partial evaluation, and also on the idea that a given constraint may have various possible CNF encodings. Often, the better encoding choice is made after constraint simplification.BEEis written in Prolog and integrates directly with a SAT solver through a suitable Prolog interface. We demonstrate that constraint simplification is often highly beneficial when solving hard finite domain constraint problems. ABEEimplementation is available with this paper. Amit Metodi, Michael Codish |
Theory Pract. Log. Program. | 2 |
| 2011 | Boolean Equi-propagation for Optimized SAT Encoding
Amit Metodi, Michael Codish, Vitaly Lagoon, Peter J. Stuckey |
CP | 2 |
| 2011 | Optimal Base Encodings for Pseudo-Boolean Constraints
Michael Codish, Yoav Fekete, Carsten Fuhs, Peter Schneider-Kamp |
TACAS | 1 |
| 2011 | SAT-based termination analysis using monotonicity constraints over the integersabstractAbstract We describe an algorithm for proving termination of programs abstracted to systems of monotonicity constraints in the integer domain. Monotonicity constraints are a nontrivial extension of the well-known size-change termination method. While deciding termination for systems of monotonicity constraints is PSPACE complete, we focus on a well-defined and significant subset, which we call MCNP (for “monotonicity constraints in NP”), designed to be amenable to a SAT-based solution. Our technique is based on the search for a special type of ranking function defined in terms of bounded differences between multisets of integer values. We describe the application of our approach as the back end for the termination analysis of Java Bytecode. At the front end, systems of monotonicity constraints are obtained by abstracting information, using two different termination analyzers:AProVEandCOSTA. Preliminary results reveal that our approach provides a good trade-off between precision and cost of analysis. Michael Codish, Igor Gonopolskiy, Amir M. Ben-Amram, Carsten Fuhs, Jürgen Giesl |
Theory Pract. Log. Program. | 1 |
| 2009 | A declarative encoding of telecommunications feature subscription in SATabstractThis paper describes the encoding of a telecommunications feature subscription configuration problem to propositional logic and its solution using a state-of-the-art Boolean satisfaction solver. The transformation of a problem instance to a corresponding propositional formula in conjunctive normal form is obtained in a declarative style. An experimental evaluation indicates that our encoding is considerably faster than previous approaches based on the use of Boolean satisfaction solvers. The key to obtaining such a fast solver is the careful design of the Boolean representation and of the basic operations in the encoding. The choice of a declarative programming style makes the use of complex circuit designs relatively easy to incorporate into the encoder and to fine tune the application. Michael Codish, Samir Genaim, Peter J. Stuckey |
PPDP | 1 |
| 2008 | Telecommunications Feature Subscription as a Partial Order Constraint Problem
Michael Codish, Vitaly Lagoon, Peter J. Stuckey |
ICLP | 1 |
| 2008 | A SAT-Based Approach to Size Change Termination with Global Ranking Functions
Amir M. Ben-Amram, Michael Codish |
TACAS | 2 |
| 2008 | Logic programming with satisfiabilityabstractAbstract This paper presents a Prolog interface to the MiniSat satisfiability solver. Logic programming with satisfiability combines the strengths of the two paradigms: logic programming for encoding search problems into satisfiability on the one hand and efficient SAT solving on the other. This synergy between these two exposes a programming paradigm that we propose here as a logic programming pearl. To illustrate logic programming with SAT solving, we give an example Prolog program that solves instances of Partial MAXSAT. Michael Codish, Vitaly Lagoon, Peter J. Stuckey |
Theory Pract. Log. Program. | 1 |
| 2007 | Propagation = Lazy Clause Generation
Olga Ohrimenko, Peter J. Stuckey, Michael Codish |
CP | 3 |
| 2007 | Proving Termination with (Boolean) Satisfaction
Michael Codish |
LOPSTR | 1 |
| 2007 | Termination analysis of logic programs through combination of type-based normsabstractThis article makes two contributions to the work on semantics-based termination analysis for logic programs. The first involves a novel notion of type - based norm where for a given type, a corresponding norm is defined to count in a term the number of subterms of that type. This provides a collection of candidate norms, one for each type defined in the program. The second enables an analyzer to base termination proofs on the combination of several different norms. This is useful when different norms are better suited to justify the termination of different parts of the program. Application of the two contributions together consists in considering the combination of the type-based candidate norms for a given program. This results in a powerful and practical technique. Both contributions have been introduced into a working termination analyzer. Experimentation indicates that they yield state-of-the-art results in a fully automatic analysis tool, improving with respect to methods that do not use both types and combined norms. Maurice Bruynooghe, Michael Codish, John P. Gallagher, Samir Genaim, Wim Vanhoof |
ACM Trans. Program. Lang. Syst. | 2 |
| 2006 | Size-Change Termination Analysis in k-Bits
Michael Codish, Vitaly Lagoon, Peter Schachte, Peter J. Stuckey |
ESOP | 1 |
| 2006 | SAT Solving for Argument Filterings
Michael Codish, Peter Schneider-Kamp, Vitaly Lagoon, René Thiemann, Jürgen Giesl |
LPAR | 1 |
| 2006 | Solving Partial Order Constraints for LPO Termination
Michael Codish, Vitaly Lagoon, Peter J. Stuckey |
RTA | 1 |
| 2005 | Testing for Termination with Monotonicity Constraints
Michael Codish, Vitaly Lagoon, Peter J. Stuckey |
ICLP | 1 |
| 2005 | Inferring Termination Conditions for Logic Programs using Backwards AnalysisabstractThis paper focuses on the inference of modes for which a logic program is guaranteed to terminate. This generalises traditional termination analysis where an analyser tries to verify termination for a specified mode. Our contribution is a methodology in which components of traditional termination analysis are combined with backwards analysis to obtain an analyser for termination inference. We identify a condition on the components of the analyser which guarantees that termination inference will infer all modes which can be checked to terminate. The application of this methodology to enhance a traditional termination analyser to perform also termination inference is demonstrated. Samir Genaim, Michael Codish |
Theory Pract. Log. Program. | 2 |
| 2002 | Reuse of Results in Termination Analysis of Typed Logic Programs
Maurice Bruynooghe, Michael Codish, Samir Genaim, Wim Vanhoof |
SAS | 2 |
| 2001 | The Def-inite Approach to Dependency Analysis
Samir Genaim, Michael Codish |
ESOP | 2 |
| 2001 | Higher-Precision Groundness Analysis
Michael Codish, Samir Genaim, Harald Søndergaard, Peter J. Stuckey |
ICLP | 1 |
| 2001 | Inferring Termination Conditions for Logic Programs Using Backwards Analysis
Samir Genaim, Michael Codish |
LPAR | 2 |
| 2001 | Worst-case groundness analysis using definite boolean functionsabstractThis note illustrates theoretical worst-case scenarios for groundness analyses obtained through abstract interpretation over the abstract domains of definite (Def) and positive (Pos) Boolean functions. For Def, an example is given for which any Def-based abstract interpretation for groundness analysis follows a chain which is exponential in the number of argument positions as well as in the number of clauses but sub-exponential in the size of the program. For Pos, we strengthen a previous result by illustrating an example for which any Pos-based abstract interpretation for groundness analysis follows a chain which is exponential in the size of the program. It remains an open problem to determine if the worst case for Def is really as bad as that for Pos. Samir Genaim, Jacob M. Howe, Michael Codish |
Theory Pract. Log. Program. | 3 |
| 2000 | Type dependencies for logic programs using ACI-unification
Michael Codish, Vitaly Lagoon |
Theor. Comput. Sci. | 1 |
| 1999 | Sharing and groundness dependencies in logic programsabstractWe investigate Jacobs and Langen's Sharing domain, introduced for the analysis of variable sharing in logic programs, and show that it is isomorphic to Marriott and Søndergaard's Pos domain, introduced for the analysis of groundness dependencies. Our key idea is to view the sets of variables in a Sharing domain element as the models of a corresponding Boolean function. This leads to a recasting of sharing analysis in terms of the property of “not being affected by the binding of a single variable.” Such an “unaffectedness dependency” analysis has close connections with groundness dependency analysis using positive Boolean functions. This new view improves our understanding of sharing analysis, and leads to an elegant expression of its combination with groundness dependency analysis based on the reduced product of Sharing and Pos. It also opens up new avenues for the efficient implementation of sharing analysis, for example using reduced order binary decision diagrams, as well as efficient implementation of the reduced product, using domain factorizations. Michael Codish, Harald Søndergaard, Peter J. Stuckey |
ACM Trans. Program. Lang. Syst. | 1 |
| 1998 | Semantics-Based Program Analysis for Logic-Based Languages Using XSB
Michael Codish, Bart Demoen, Konstantinos Sagonas |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 1997 | Sharing Analysis Using Set Logic Programs
Francisco Bueno, Michael Codish, Vitaly Lagoon |
ICLP | 2 |
| 1997 | Efficient Goal Directed Bottom-up Evaluation of Logic Programs
Michael Codish |
ICLP | 1 |
| 1997 | XSB as the Natural Habitat for General Purpose Program Analysis
Michael Codish, Bart Demoen, Konstantinos Sagonas |
ICLP | 1 |
| 1997 | An Algebraic Approach to Sharing Analysis of Logic Programs
Michael Codish, Vitaly Lagoon, Francisco Bueno |
SAS | 1 |
| 1996 | Proving Implications by Algebraic Approximation
Michael Codish, Grigory Mashevitzky |
Theor. Comput. Sci. | 1 |
| 1995 | Oracle Semantics for Prolog
Roberto Barbuti, Michael Codish, Roberto Giacobazzi, Michael J. Maher |
Inf. Comput. | 2 |
| 1995 | Improving Abstract Interpretations by Combining DomainsabstractThis article considers static analysis based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains provide more information potentially than obtained by the independent analyses. However, the construction of a combined analysis often requires redefining the basic operations for the combined domain. A practical approach to maintain precision in combined analyses of logic programs which reuses the individual analyses and does not redefine the basic operations is illustrated. The advantages of the approach are that (1) proofs of correctness for the new domains are not required and (2) implementations can be reused. The approach is demonstrated by showing that a combined sharing analysis—constructed from “old” proposals—compares well with other “new” proposals suggested in recent literature both from the point of view of efficiency and accuracy. Michael Codish, Anne Mulkers, Maurice Bruynooghe, Maria Garcia de la Banda, Manuel V. Hermenegildo |
ACM Trans. Program. Lang. Syst. | 1 |
| 1994 | Goal Dependent versus Goal Independent Analysis of Logic Programs
Michael Codish, Maria Garcia de la Banda, Maurice Bruynooghe, Manuel V. Hermenegildo |
LPAR | 1 |
| 1994 | Deriving Polymorphic Type Dependencies for Logic Programs Using Multiple Incarnations of Prop
Michael Codish, Bart Demoen |
SAS | 1 |
| 1994 | Bottom-up Abstract Interpretation of Logic Programs
Michael Codish, Dennis Dams, Eyal Yardeni |
Theor. Comput. Sci. | 1 |
| 1994 | Suspension Analyses for Concurrent Logic ProgramsabstractConcurrent logic languages specify reactive systems which consist of collections of communicating processes. The presence of unintended suspended computations is a common programming error which is difficult to detect using standard debugging and testing techniques. We develop a number of analyses, based on abstract interpretation, which succeed if a program is definitely suspension free. If an analysis fails, the program may, or may not, be suspension free. Examples demonstrate that the analyses are practically useful. They are conceptually simple and easy to justify because they are based directly on the transition system semantics of concurrent logic programs. A naive analysis must consider all scheduling policies . However, it is proven that for our analyses it suffices to consider only one scheduling policy, allowing for efficient implementation. Michael Codish, Moreno Falaschi, Kim Marriott |
ACM Trans. Program. Lang. Syst. | 1 |
| 1993 | Efficient Analysis of Concurrent Constraint Logic Programs
Michael Codish, Moreno Falaschi, Kim Marriott, William H. Winsborough |
ICALP | 1 |
| 1993 | Freeness Analysis for Logic Programs - And Correctness?
Michael Codish, Dennis Dams, Gilberto Filé, Maurice Bruynooghe |
ICLP | 1 |
| 1993 | Freeness Analysis in the Presence of Numerical Constraints
Veroniek Dumortier, Gerda Janssens, Maurice Bruynooghe, Michael Codish |
ICLP | 4 |
| 1993 | Improving Abstract Interpretations by Combining DomainsabstractIn this paper we consider static analyses based on abstract interpretation of logic programs over combined domains. It is known that analyses over combined domains potentially provide more information than obtainable by performing the independent abstract interpretations. However, the construction of a combined analysis often requires redefining the basic operations for the combined domain. We demonstrate for logic programs that in practice it is possible to obtain precision in a combined analysis without redefining the basic operations. We also propose a way of performing the combination which can be more precise than the straightforward application of the classical “reduced product” approach, while keeping the original components of the basic operations. The advantage of the approach is that proofs of correctness for the new domains are not required and implementations can be reused. We illustrate our results by showing that a combined sharing analysis—constructed from “old” proposals—compares well with other “new” proposals suggested in recent literature both from the point of view of efficiency and accuracy. Michael Codish, Anne Mulkers, Maurice Bruynooghe, Maria Garcia de la Banda, Manuel V. Hermenegildo |
PEPM | 1 |
| 1993 | Compositional Analysis of Modular Logic ProgramsabstractThis paper describes a semantic basis for a compositional approach to the analysis of logic programs. A logic program is viewed as consisting of a set of modules, each module defining a subset of the program's predicates. Analyses are constructed by considering abstract interpretations of a compositional semantics. The abstract meaning of a module corresponds to its analysis and composition of abstract meanings corresponds to composition of analyses. Such an approach is essential for large program development so that altering one module does not require re-analysis of the entire program. We claim that for a substantial class of programs, compositional analyses which are based on a notion of abstract unfolding provide the same precision as non-compositional analysis. A compositional analysis for ground dependencies is included to illustrate the approach. To the best of our knowledge this is the first account of a compositional framework for the analysis of logic programs. Michael Codish, Saumya K. Debray, Roberto Giacobazzi |
POPL | 1 |
| 1993 | Modelling Prolog ControlabstractThe goal of this paper is to construct a semantic basis for the abstract interpretation of Prolog programs. Prolog is a well-known logic programming language which applies a depth-first search strategy in order to provide a practical approximation of Horn clause logic. While pure logic programming has clean fixpoint, model-theoretic and operational semantics the situation for Prolog is different. Difficulties in capturing the declarative meaning of Prolog programs have led to various semantic definitions which attempt to encode the search strategy in different mathematical frameworks. However, semantic based analyses of Prolog are typically achieved by abstracting the more simple but less precise declarative semantics of pure logic programs. We propose instead to model Prolog control in a simple constraint logic language which is presented together with its declarative and operational semantics. This enables us to maintain the usual approach to declarative semantics of logic programs while capturing control aspects such as search strategy and selection rule. Roberto Barbuti, Michael Codish, Roberto Giacobazzi, Giorgio Levi |
J. Log. Comput. | 2 |
| 1992 | Modeling Prolog Control
Roberto Barbuti, Michael Codish, Roberto Giacobazzi, Giorgio Levi |
POPL | 2 |
| 1991 | Derivation and Safety of an Abstract Unification Algorithm for Groundness and Aliasing Analysis
Michael Codish, Dennis Dams, Eyal Yardeni |
ICLP | 1 |
| 1991 | Suspension Analysis for Concurrent Logic Programs
Michael Codish, Moreno Falaschi, Kim Marriott |
ICLP | 1 |
| 1988 | Fully Abstract Denotational Semantics for Flat Concurrent PrologabstractA denotational, hence, compositional semantics for a subset of Concurrent Prolog is developed and related to an operational semantics. The denotational semantics makes divergence and the resultant substitutions of finite computations together with the termination mode-success, failure, or deadlock-observable. Relative to this notion of observation it is proved that the denotational semantics is fully abstract in the sense that it records the minimal amount of extra information beyond the observables to make it compositional. Full abstraction is an important property because it quantifies the information that one needs in order to reason about individual program-parts independently. This is believed to be the first such result in the area of concurrent logic programming.> Rob Gerth, Michael Codish, Yossi Lichtenstein, Ehud Shapiro |
LICS | 2 |
| 1986 | Compiling OR-parallelism into AND-parallelism
Michael Codish, Ehud Shapiro |
ICLP | 1 |