Demo Data from EDBT 2026 / reviewers in the wild / expert
David Coppit
dblp:96/959
· DBLP profile ↗
14ranked-venue papers
10as first author
0since 2021 · last 2007
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 9 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1
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
8 papers |
Software testing · 38% Requirements engineering and software design · 29% Software maintenance and evolution · 17% | |
| Interdisciplinary, comprehensive, and emerging computing
1 paper |
Computational science and engineering · 100% |
Topics — the 12 heaviest of 16, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Software testing › combinatorial testing
bounded exhaustive testing |
0.1 | 2 | 2005 | Software Assurance by Bounded Exhaustive Testing · IEEE Trans. Software Eng. 2005 Software assurance by bounded exhaustive testing · ISSTA 2004 |
Requirements engineering and software design
formal specification |
0.1 | 2 | 2005 | Software Assurance by Bounded Exhaustive Testing · IEEE Trans. Software Eng. 2005 Software assurance by bounded exhaustive testing · ISSTA 2004 |
Software testing
test input generation |
0.1 | 2 | 2005 | Software Assurance by Bounded Exhaustive Testing · IEEE Trans. Software Eng. 2005 Software assurance by bounded exhaustive testing · ISSTA 2004 |
Software maintenance and evolution › software variability
feature integration |
0.1 | 1 | 2007 | Spotlight: A Prototype Tool for Software Plans · ICSE 2007 |
Software maintenance and evolution
software evolution |
0.1 | 1 | 2007 | Spotlight: A Prototype Tool for Software Plans · ICSE 2007 |
Requirements engineering and software design › software architecture › component-based software engineering
component-based development |
0.1 | 3 | 2003 | Galileo: a tool built from mass-market applications · ICSE 2000 Multiple mass-market applications as components · ICSE 2000 Sound Methods and Effective Tools for Engineering Modeling and Analysis · ICSE 2003 |
Programming languages and type systems › grammar formalisms
grammar-based specification |
0.1 | 1 | 2005 | yagg: an easy-to-use generator for structured test inputs · ASE 2005 |
Programming languages and type systems
language design |
0.1 | 1 | 2005 | yagg: an easy-to-use generator for structured test inputs · ASE 2005 |
Software testing
specification-based testing |
0.1 | 1 | 2005 | Software Assurance by Bounded Exhaustive Testing · IEEE Trans. Software Eng. 2005 |
Software testing
test generation |
0.1 | 1 | 2005 | yagg: an easy-to-use generator for structured test inputs · ASE 2005 |
Requirements engineering and software design
software architecture |
0.0 | 1 | 1997 | Package-Oriented Programming of Engineering Tools · ICSE 1997 |
Software testing
automated testing |
0.0 | 1 | 2005 | yagg: an easy-to-use generator for structured test inputs · ASE 2005 |
Methods — techniques the papers use, named apart from their topics
testera · 0.1alloy · 0.1model checking · 0.1YACC · 0.1LEX · 0.1survey · 0.0formal specification · 0.0package-oriented programming · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2007 | Spotlight: A Prototype Tool for Software PlansabstractSoftware evolution is made difficult by the need to integrate new features with all previously implemented features in the system. We present Spotlight, a prototype editor for software plans that seeks to address this problem by providing the programmer a principled way to separately develop and incrementally integrate independent features. David Coppit, Robert R. Painter, Meghan Revelle |
ICSE | 1 |
| 2005 | yagg: an easy-to-use generator for structured test inputsabstractAutomated testing typically uses specifications to drive the generation of test inputs and/or the checking of program outputs. Many software systems have structurally complex inputs that cannot be adequately described using simple formalisms such as context-free grammars. In order to generate such inputs, many automated testing environments require the user to express the structure of the input using an unfamiliar formal notation. This raises the cost of employing automated testing, thereby offsetting the benefits gained. We present yagg (yet another generator-generator), a tool that allows the programmer to specify the input using a syntax very similar to that of LEX and YACC, widely used scanner and parser generators. yagg allows the user to bound the input space using several different techniques, and generates an input generator that systematically enumerates inputs. We evaluate the ease of use and performance of the tool relative to a model checker-based generator used in previous research. Our experiences indicate that yagg generators can be somewhat slower, but that the ease-of-use afforded by the familiar syntax may be attractive to users. David Coppit, Jiexin Lian |
ASE | 1 |
| 2005 | On the Use of Specification-Based Assertions as Test OraclesabstractThe "oracle problem" is a well-known challenge for software testing. Without some means of automatically computing the correct answer for test cases, testers must instead compute the results by hand, or use a previous version of the software. In this paper, we investigate the feasibility of revealing software faults by augmenting the code with complete, specification-based assertions. Our evaluation method is to (1) develop a formal specification, (2) translate this specification into assertions, (3) inject or identify existing faults, and (4) for each version of the assertion-enhanced system containing a fault, execute it using a set of test inputs and check for assertion violations. Our goal is to determine whether specification-based assertions are a viable method of revealing faults, and to begin to assess the extent to which their cost-effectiveness can be improved. Our evaluation is based on two case studies involving real-world software systems. Our results indicate that specification-based assertions can effectively reveal faults, as long as they adversely affect the program state. We describe techniques that we used for translating high-level specifications into code-level assertions. We also discuss the costs associated with the approach, and potential techniques for reducing these costs. David Coppit, Jennifer M. Haddox-Schatz |
SEW | 1 |
| 2005 | Large team projects in software engineering courses
David Coppit, Jennifer M. Haddox-Schatz |
SIGCSE | 1 |
| 2005 | Software Assurance by Bounded Exhaustive TestingabstractBounded exhaustive testing (BET) is a verification technique in which software is automatically tested for all valid inputs up to specified size bounds. A particularly interesting case of BET arises in the context of systems that take structurally complex inputs. Early research suggests that the BET approach can reveal faults in small systems with inputs of low structural complexity, but its potential utility for larger systems with more complex input structures remains unclear. We set out to test its utility on one such system. We used Alloy and TestEra to generate inputs to test the Galileo dynamic fault tree analysis tool, for which we already had both a formal specification of the input space and a test oracle. An initial attempt to generate inputs using a straightforward translation of our specification to Alloy did not work well. The generator failed to generate inputs to meaningful bounds. We developed an approach in which we factored the specification, used TestEra to generate abstract inputs based on one factor, and passed the results through a postprocessor that reincorporated information from the second factor. Using this technique, we were able to generate test inputs to meaningful bounds, and the inputs revealed nontrivial faults in the Galileo implementation, our specification, and our oracle. Our results suggest that BET, combined with specification abstraction and factoring techniques, could become a valuable addition to our verification toolkit and that further investigation is warranted. David Coppit, Jinlin Yang, Sarfraz Khurshid, Wei Le, Kevin J. Sullivan |
IEEE Trans. Software Eng. | 1 |
| 2004 | Software assurance by bounded exhaustive testingabstractThe contribution of this paper is an experiment that shows the potential value of a combination of selective reverse engineering to formal specifications and bounded exhaustive testing to improve the assurance levels of complex software. A key problem is to scale up test input generation so that meaningful results can be obtained. We present an approach, using Alloy and TestEra for test input generation, which we evaluate by experimental application to the Galileo dynamic fault tree analysis tool. Kevin J. Sullivan, Jinlin Yang, David Coppit, Sarfraz Khurshid, Daniel Jackson 0001 |
ISSTA | 3 |
| 2003 | Sound Methods and Effective Tools for Engineering Modeling and AnalysisabstractModeling and analysis is indispensable in engineering. To be safe and effective, a modeling method requires a language with a validated semantics; feature-rich, easy-to-use, dependable tools; and low engineering costs. Today we lack adequate means to develop such methods. We present a partial solution combining two techniques: formal methods for language design, and package-oriented programming for function and usability at low cost. We have evaluated the approach in an end-to-end experiment. We deployed an existing reliability method to NASA in a package-oriented tool and surveyed engineers to assess its usability. We formally specified, improved, and validated the language. To assess cost, we built a package-based tool for the new language. Our data show that the approach can enable cost-effective deployment of sound methods by effective tools. David Coppit, Kevin J. Sullivan |
ICSE | 1 |
| 2003 | Shared Semantic Domains for Computational Reliability EngineeringabstractModeling languages and the software tools which support them are essential to engineering. However, as these languages become more sophisticated, it becomes difficult to assure both the validity of their semantic specifications and the dependability of their program implementations. To ameliorate this problem we propose to develop shared semantic domains and corresponding implementations for families of related modeling languages. The idea is to amortize investments at the intermediate level across multiple language definitions and implementations. To assess the practicality of this approach for modeling languages, we applied it to two languages for reliability modeling and analysis. In earlier work, we developed the intermediate semantic domain of failure automata (FA), which we used to formalize the semantics of dynamic fault trees (DFTs). in this paper, we show that a variant of the original FA can serve as a common semantic domain for both DFTs and reliability block diagrams (RBDs). Our experiences suggest that the use of a common semantic domain and a shared analyzer for expressions at this level can ease the task of formalizing and implementing modeling languages, reducing development costs and improving their dependability. David Coppit, Robert R. Painter, Kevin J. Sullivan |
ISSRE | 1 |
| 2000 | Multiple mass-market applications as componentsabstractTruly successful models for component-based software development continue to prove elusive. One of the few is the use of operating system, database and similar programs in many systems. We address three related problems in this paper. First, we lack needed models. Second, we do not know the conditions under which such models can succeed. In particular, it is unclear whether the notable success with operating systems can be replicated. Third, we do not know whether certain specific models can succeed. We are addressing these problems by evaluating a particular model that shares important characteristics with the successful operating system example: using compatible PC packages as components. Our approach to evaluating such a model is to engage in a case study that aims to build an industrially successful system representative of an important class of systems. We report on our use of the model to develop a computational tool for reliability engineering. We draw two conclusions. First, this kind of model has the potential to succeed. Second, even today, the model can produce significant returns, but it clearly carries considerable risks. David Coppit, Kevin J. Sullivan |
ICSE | 1 |
| 2000 | Galileo: a tool built from mass-market applicationsabstractWe present Galileo, an innovative engineering modeling and analysis tool built using an approach we call package-oriented programming (POP). Galileo represents an ongoing evaluation of the POP approach, where multiple large, architecturally coherent components are tightly integrated in an overall software system. Galileo utilizes Microsoft Word, Internet Explorer, and Visio to provide a low cost, richly functional fault tree modeling superstructure. Based on the success of previous prototypes of the tool, we are now building a version for industrial use under an agreement with NASA Langley Research Center. David Coppit, Kevin J. Sullivan |
ICSE | 1 |
| 2000 | Formal Semantics for Computational Engineering: A Case Study on Dynamic Fault TreesabstractComputational modeling tools are critical to engineering. In the absence of a sufficiently complete, mathematically precise, abstract specification of the semantics of the modeling framework supported by such a tool, rigorous validation of the framework and of models built using it is impossible; there is no sound basis for program implementation, verification or documentation; the scientific foundation of the framework remains weak; and significant conceptual errors in framework definition and implementation are likely. Yet such specifications are rarely defined. We present an approach based on the use of formal specification and denotational semantics techniques from software engineering and programming language design. To illustrate the approach, we present elements of a formal semantics for a dynamic fault tree framework that promises to aid reliability analysis. No such specification of the meaning of dynamic fault trees has been defined previously. The approach revealed important shortcomings in the previous, informal definitions of the framework, and thus led to significant improvements, suggesting that formally specifying framework semantics is critical to effective framework design. David Coppit, Kevin J. Sullivan, Joanne Bechta Dugan |
ISSRE | 1 |
| 2000 | Developing a low-cost high-quality software tool for dynamic fault-tree analysisabstractSophisticated modeling and analysis methods are being developed in academic and industrial research labs for reliability engineering and other domains. The evaluation and evolution of such methods based on use in practice is critical to research progress, but few such methods see widespread use. A critical impediment to disseminating new methods is the inability to produce, at a reasonable cost, supporting software tools that have the: usability and dependability characteristics that industrial users require; and evolvability to accommodate software change as the underlying analysis methods are refined and enhanced. The difficulty of software development thus emerges as a key impediment to advances in engineering modeling and analysis. This paper presents an approach to tool development that attacks these problems. Progress requires synergistic, interdisciplinary collaborations between application-domain and software-engineering researchers. The authors have pursued such an approach in developing Galileo: a fault tree modeling and analysis tool. These innovations are described in two dimensions: (1) the Galileo core reliability modeling and analysis function; and (2) the authors' work on software engineering for high-quality, low-cost modeling and analysis tools. Joanne Bechta Dugan, Kevin J. Sullivan, David Coppit |
IEEE Trans. Reliab. | 3 |
| 1999 | Developing a high-quality software tool for fault tree analysisabstractSophisticated dependability analysis techniques are being developed in academia and research labs, but few have gained wide acceptance in industry. To be valuable, such techniques must be supported by usable, dependable software tools. We present our approach to addressing these issues in developing a dynamic fault tree analysis tool called Galileo. Galileo is designed to support efficient system-level analysis by automatically decomposing fault trees into modules that are solved separately using appropriate techniques. Usability is addressed by a software architecture based on a component-based design technique that we call package-oriented programming. We integrate multiple, volume-priced mass-market software packages to provide the bulk of the tool superstructure. To address tool dependability, we are developing natural language and partial formal specifications of fault tree elements, and we exploit the inherent redundancy associated with multiple analysis techniques as an aid in testing. Joanne Bechta Dugan, Kevin J. Sullivan, David Coppit |
ISSRE | 3 |
| 1997 | Package-Oriented Programming of Engineering ToolsabstractNo abstract available. Kevin J. Sullivan, Jake Cockrell, Shengtong Zhang, David Coppit |
ICSE | 4 |