Craig Damon

dblp:25/3584 · DBLP profile ↗
← Back
7ranked-venue papers
2as first author
0since 2021 · last 1998
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Software engineering, systems software and programming languages · 7 · 2 first-author

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.

Software engineering, system software, and programming languages
5 papers
Requirements engineering and software design · 51% Program verification · 49%
Theoretical computer science
4 papers
Automated reasoning and model checking · 58% Algorithms and data structures · 16% Coding theory · 16%

Topics — the 13 heaviest of 17, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program verification
specification verification
0.031996
Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector · IEEE Trans. Software Eng. 1996
Checking Relational Specifications With Binary Decision Diagrams · SIGSOFT FSE 1996
Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector · ISSTA 1996
Program verification › model checking
counterexample generation
0.021996
Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector · IEEE Trans. Software Eng. 1996
Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector · ISSTA 1996
Automated reasoning and model checking › automated reasoning
model finding
0.011998
Isomorph-Free Model Enumeration: A New Method for Checking Relational Specifications · ACM Trans. Program. Lang. Syst. 1998
Automated reasoning and model checking › model checking › state space reduction
symmetry reduction
0.011998
Isomorph-Free Model Enumeration: A New Method for Checking Relational Specifications · ACM Trans. Program. Lang. Syst. 1998
Requirements engineering and software design › software design evaluation
design analysis
0.011997
Nitpick: A Tool for Interactive Design Analysis · ICSE 1997
Requirements engineering and software design › formal specification
relational specification
0.011996
Faster Checking of Software Specifications by Eliminating Isomorphs · POPL 1996
Requirements engineering and software design › specification
software specification
0.011996
Faster Checking of Software Specifications by Eliminating Isomorphs · POPL 1996
Coding theory › error-correcting codes › decoding › minimum distance decoding
bounded-distance decoding
0.011996
Checking Relational Specifications With Binary Decision Diagrams · SIGSOFT FSE 1996
Automated reasoning and model checking
satisfiability
0.011996
Checking Relational Specifications With Binary Decision Diagrams · SIGSOFT FSE 1996
Data models and query languages
object-oriented database
0.011988
A Performance Comparison of Object and Relational Databases Using the Sun Benchmark · OOPSLA 1988
Performance modeling and evaluation
benchmarking
0.011988
A Performance Comparison of Object and Relational Databases Using the Sun Benchmark · OOPSLA 1988
Logic in computer science › formal specification
specification language
0.011996
Checking Relational Specifications With Binary Decision Diagrams · SIGSOFT FSE 1996
Database system architecture and tuning
relational database system
0.011988
A Performance Comparison of Object and Relational Databases Using the Sun Benchmark · OOPSLA 1988

Methods — techniques the papers use, named apart from their topics

relational language · 0.0ordered binary decision diagrams · 0.0finite bound enumeration · 0.0enumeration · 0.0boolean formula encoding · 0.0permutation invariance · 0.0isomorphism checking · 0.0tool support · 0.0z specification · 0.0reduction mechanisms · 0.0reduction mechanism · 0.0finite model enumeration · 0.0benchmarking · 0.0
YearPublicationVenuePosition
1998 Isomorph-Free Model Enumeration: A New Method for Checking Relational Specifications
abstract
Software specifications often involve data structures with huge numbers of value, and consequently they cannot be checked using standard state exploration or model-checking techniques. Data structures can be expressed with binary relations, and operations over such structures can be expressed as formulae involving relational variables. Checking properties such as preservation of an invariant thus reduces to determining the validity of a formula or, equivalently, finding a model (of the formula's negation). A new method for finding relational models is presented. It exploits the permutation invariance of models—if two interpretations are isomorphic, then neither is a model, or both are—by partitioning the space into equivalence classes of symmetrical interpretations. Representatives of these classes are constructed incrementally by using the symmetry of the partial interpretation to limit the enumeration of new relation values. The notion of symmetry depends on the type structure of the formula; by picking the weakest typing, larger equivalence classes (and thus fewer representatives) are obtained. A more refined notion of symmetry that exploits the meaning of the relational operators is also described. The method typically leads to exponential reductions; in combination with other, simpler, reductions it makes automatic analysis of relational specifications possible for the first time.
Daniel Jackson 0001, Somesh Jha, Craig Damon
ACM Trans. Program. Lang. Syst.3
1997 Nitpick: A Tool for Interactive Design Analysis
abstract
No abstract available.
Craig Damon
ICSE1
1996 Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector
abstract
We illustrate the application of Nitpick, a specification checker, to the design of a style mechanism for a word processor. The design is cast, along with some expected properties, in a subset of Z. Nitpick checks a property by enumerating all possible cases within some finite bounds, displaying as a counterexample the first case for which the property fails to hold. Unlike animation or execution tools, Nitpick does not require state transitions to be expressed constructively, and unlike theorem provers, operates completely automatically without user intervention. Using a variety of reduction mechanisms, it can cover an enormous number of cases in a reasonable time, so that subtle flaws can be rapidly detected.
Daniel Jackson 0001, Craig Damon
ISSTA2
1996 Faster Checking of Software Specifications by Eliminating Isomorphs
abstract
Both software specifications and their intended properties can be expressed in a simple relational language. The claim that a specification satisfies a property becomes a relational formula that can be checked automatically by enumerating the formula's interpretations. Because the number of interpretations is usually huge, this approach has not been thought to be practical. But by eliminating isomorphic interpretations, the enumeration can be reduced substantially, with a factor of roughly k! contributed by each type of k elements.
Daniel Jackson 0001, Somesh Jha, Craig Damon
POPL3
1996 Checking Relational Specifications With Binary Decision Diagrams
abstract
Checking a specification in a language based on sets and relations (such as Z) can be reduced to the problem of finding satisfying assignments, or models, of a relational formula. A new method for finding models using ordered binary decision diagrams (BDDs) is presented that appears to scale better than existing methods.Relational terms are replaced by matrices of boolean formulae. These formulae are then composed to give a boolean translation of the entire relational formula. Throughout, boolean formulae are represented with BDDs; from the resulting BDD, models are easily extracted.The performance of the BDD method is compared to our previous method based instead on explicit enumeration. The new method performs as well or better on most of our examples, but can also handle specifications that, until now, we have been unable to analyze.
Craig Damon, Daniel Jackson 0001, Somesh Jha
SIGSOFT FSE1
1996 Elements of Style: Analyzing a Software Design Feature with a Counterexample Detector
abstract
Demonstrates how Nitpick, a specification checker, can be applied to the design of a style mechanism for a word processor. The design is cast, along with some expected properties, in a subset of Z. Nitpick checks a property by enumerating all possible cases within some finite bounds, displaying as a counterexample the first case for which the property fails to hold. Unlike animation or execution tools, Nitpick does not require state transitions to be expressed constructively, and unlike theorem provers, Nitpick operates completely automatically without user intervention. Using a variety of reduction mechanisms, it can cover an enormous number of cases in a reasonable time, so that subtle flaws can be rapidly detected.
Daniel Jackson 0001, Craig Damon
IEEE Trans. Software Eng.2
1988 A Performance Comparison of Object and Relational Databases Using the Sun Benchmark
abstract
A general concern about object-oriented systems has been whether or not they are able to meet the performance demands required to be useful for the development of significant production software systems. Attempts to evaluate this assertion have been hampered by a lack of meaningful performance benchmarks that compare database operations across different kinds of databases.
Joshua Duhl, Craig Damon
OOPSLA2