David W. Stemple

dblp:s/DavidWStemple · DBLP profile ↗
← Back
27ranked-venue papers
10as first author
0since 2021 · last 1998
—ORCID · none

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

Databases, data management, data science and information retrieval · 15 · 7 first-authorSoftware engineering, systems software and programming languages · 7 · 2 first-authorSystems, architecture and hardware · 2Theory of computation · 2Artificial intelligence and machine learning · 1Human-computer interaction and ubiquitous computing · 1 · 1 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.

Databases, data mining, and information retrieval
13 papers
Database theory · 36% Transaction processing and concurrency control · 24% Data models and query languages · 20%
Software engineering, system software, and programming languages
8 papers
Programming languages and type systems · 50% Operating systems · 28% Program verification · 17%
Theoretical computer science
2 papers
Computational complexity · 70% Automated reasoning and model checking · 30%

Topics — the 23 heaviest of 31, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data models and query languages
query language
0.021991
The Expressiveness of a Family of Finite Set Languages · PODS 1991
Human Factors Comparison of a Procedural and a Nonprocedural Query Language · ACM Trans. Database Syst. 1981
Database theory
integrity constraints
0.021988
Resolving the Tension between Integrity and Security Using a Theorem Prover · SIGMOD Conference 1988
On the Modes and Meaning of Feedback to Transaction Designers · SIGMOD Conference 1987
Database theory
expressive power
0.011991
The Expressiveness of a Family of Finite Set Languages · PODS 1991
Computational complexity
descriptive complexity
0.011991
The Expressiveness of a Family of Finite Set Languages · PODS 1991
Programming languages and type systems
object-oriented programming
0.021989
Panel: Inheritance: Can We Have Our Cake and Eat it, Too? · OOPSLA 1989
Panel on Transactions in Object-Oriented Systems · OOPSLA 1989
Database theory › integrity constraints
integrity constraint checking
0.011989
Automatic Verification of Database Transaction Safety · ACM Trans. Database Syst. 1989
Programming languages and type systems
inheritance
0.011989
Panel: Inheritance: Can We Have Our Cake and Eat it, Too? · OOPSLA 1989
Database system architecture and tuning
database security
0.011988
Resolving the Tension between Integrity and Security Using a Theorem Prover · SIGMOD Conference 1988
Database system architecture and tuning › database security
inference control
0.011988
Resolving the Tension between Integrity and Security Using a Theorem Prover · SIGMOD Conference 1988
Transaction processing and concurrency control › data integrity
integrity constraint enforcement
0.011987
On the Modes and Meaning of Feedback to Transaction Designers · SIGMOD Conference 1987
Data models and query languages
abstract data types
0.011986
Abstract Data Types in Databases: Specification, Manipulation and Access · ICDE 1986
Operating systems › system security › operating system security › protection mechanism
capability-based protection
0.011986
Privilege Transfer and Revocation in a Port-Based System · IEEE Trans. Software Eng. 1986
Operating systems
interprocess communication
0.011986
Functional Addressing in Gutenberg: Interprocess Communication without Process Indentifiers · IEEE Trans. Software Eng. 1986
Program verification
theorem proving
0.011984
Specification and Verification of Abstract Database Types · PODS 1984
Transaction processing and concurrency control › correctness criteria
order independence
0.011991
The Expressiveness of a Family of Finite Set Languages · PODS 1991
Database system architecture and tuning › database system implementation
database system generation
0.021976
A Data Base Management Facility for Automatic Generation of Data Base Managers · ACM Trans. Database Syst. 1976
A Data Base Management Facility for Automatic Generation of Data Base Managers · VLDB 1975
Database system architecture and tuning
data independence
0.021976
A Data Base Management Facility for Automatic Generation of Data Base Managers · ACM Trans. Database Syst. 1976
A Data Base Management Facility for Automatic Generation of Data Base Managers · VLDB 1975
Program verification › static verification
compile-time verification
0.011989
Automatic Verification of Database Transaction Safety · ACM Trans. Database Syst. 1989
Requirements engineering and software design
software architecture
0.011987
Supporting Offics Document Architectures with Constrained Types · SIGMOD Conference 1987
Distributed systems › distributed system architecture
distributed operating systems
0.011986
Privilege Transfer and Revocation in a Port-Based System · IEEE Trans. Software Eng. 1986
Distributed systems › distributed coordination
process coordination
0.011986
Functional Addressing in Gutenberg: Interprocess Communication without Process Indentifiers · IEEE Trans. Software Eng. 1986
Transaction processing and concurrency control
transaction specification
0.011984
Specification and Verification of Abstract Database Types · PODS 1984
Computing education › programming education
programming language learning
0.011981
Human Factors Comparison of a Procedural and a Nonprocedural Query Language · ACM Trans. Database Syst. 1981

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

static analysis · 0.0port-based access · 0.0constraint reasoning · 0.0capability directory · 0.0theorem proving · 0.0port automaton · 0.0cooperation class · 0.0constrained type modeling · 0.0ADABTPL · 0.0boyer-moore theorem proving · 0.0abstract data types · 0.0tuples · 0.0lists · 0.0human factors comparison · 0.0finite sets · 0.0controlled experiment · 0.0
YearPublicationVenuePosition
1998 Linguistic Reflection in Java
abstract
Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to integrate these into its own execution. In particular, we describe how this kind of reflection may be provided in the compiler-based, strongly typed object-oriented programming language Java. The advantages of the programming technique include attaining high levels of genericity and accommodating system evolution. These advantages are illustrated by an example taken from persistent programming, which shows how linguistic reflection allows functionality (program code) to be generated on demand (Just-In-Time) from a generic specification and integrated into the evolving running program. The technique is evaluated against alternative implementation approaches with respect to efficiency, safety and ease of use. © 1998 John Wiley & Sons, Ltd.
Graham N. C. Kirby, Ronald Morrison, David W. Stemple
Softw. Pract. Exp.3
1996 The Expressiveness of a Family of Finite Set Languages
Neil Immerman, Sushant Patnaik, David W. Stemple
Theor. Comput. Sci.3
1992 Uniform Traversal Combinators: Definition, Use and Properties
Leonidas Fegaras, Tim Sheard, David W. Stemple
CADE3
1992 Inheritance of Theory in the Adabtpl Language
Tim Sheard, David W. Stemple
Comput. Lang.2
1991 The Expressiveness of a Family of Finite Set Languages
abstract
In this paper we characterise exactly the complexity of a set based database language called SRL, which presents a unified framework for queries and updates.By imposing simple synt act ic restrictions on it, we are able to express exactly the classes, P and L OGSPA CE.We also discuss the role of ordering in database query languages and show that the hom operator of Machiavelli language in [OBB89]does not capture all the order-independent properties.Complexity
Neil Immerman, Sushant Patnaik, David W. Stemple
PODS3
1990 Exceeding the Limits of Polymorphism in Database Programming Languages
David W. Stemple, Leonidas Fegaras, Tim Sheard, Adolfo Socorro
EDBT1
1990 Converting SQL queries into relational algebra
Mohammad Dadashzadeh, David W. Stemple
Inf. Manag.2
1989 Panel: Inheritance: Can We Have Our Cake and Eat it, Too?
J. Eliot B. Moss, Ralf Johnson, Alan Snyder, David W. Stemple, David M. Ungar
OOPSLA4
1989 Panel on Transactions in Object-Oriented Systems
Stanley B. Zdonik, Toby Bloom, David W. Stemple, Jeannette M. Wing
OOPSLA3
1989 Automatic Verification of Database Transaction Safety
abstract
Maintaining the integrity of databases is one of the promises of database management systems. This includes assuring that integrity constraints are invariants of database transactions. This is very difficult to accomplish efficiently in the presence of complex constraints and large amounts of data. One way to minimize the amount of processing required to maintain database integrity over transaction processing is to prove at compile-time that transactions cannot, if run atomically, disobey integrity constraints. We report on a system that performs such verification for a robust set of constraint and transaction classes. The system accepts database schemas written in a more or less traditional style and accepts programs in a high-level programming language. Automatic verification fast enough to be effective on current workstation hardware is performed.
Tim Sheard, David W. Stemple
ACM Trans. Database Syst.2
1988 Resolving the Tension between Integrity and Security Using a Theorem Prover
abstract
Some information in databases and knowledge bases often needs to be protected from disclosure to certain users. Traditional solutions involving multi-level mechanisms are threatened by the user's ability to infer higher level information from the semantics of the application. We concentrate on the revelation of secrets through a user running transactions in the presence of database integrity constraints. We develop a method of specifying secrets formally that not only exposes a useful structure and equivalence among secrets but also allows a theorem prover to detect certain security lapses during transaction compilation time.
Subhasish Mazumdar, David W. Stemple, Tim Sheard
SIGMOD Conference2
1987 Supporting Offics Document Architectures with Constrained Types
abstract
Data models have been proposed as a means of defining the objects and operations in an office information system. Office documents, because of their highly variable structure and multimedia content, are a difficult class of objects to model. The modeling task is further complicated by document architecture standards used for interchange between systems. We present an approach to data modeling based on constrained type definitions that allows architecture standards to be defined and ensures that individual document types conform to those standards. The ADABTPL model, which is used to define the schema of document types and standards, is described.
W. Bruce Croft, David W. Stemple
SIGMOD Conference2
1987 On the Modes and Meaning of Feedback to Transaction Designers
abstract
An analysis of database transactions in the presence of database integrity constraints can lead to several modes of feedback to transaction designers. The different kinds of feedback include tests and updates that could be added to the transaction to make it obey the integrity constraints, as well as predicates representing post-conditions guaranteed by a transaction's execution. We discuss the various modes, meanings, and uses of feedback. We also discuss methods of generating feedback from integrity constraints, transaction details and theorems constituting both generic knowledge of database systems and specific knowledge about a particular database. Our methods are based on a running system that generates tailored theories about database systems from their schemas and uses these theories to prove that transactions obey integrity constraints.
David W. Stemple, Subhasish Mazumdar, Tim Sheard
SIGMOD Conference1
1986 Recoverable Actions in Gutenberg
Stephen T. Vinter, Krithi Ramamritham, David W. Stemple
ICDCS3
1986 Abstract Data Types in Databases: Specification, Manipulation and Access
abstract
The basic data types from which records can be constructed in most database management systems are limited to a few simple types such as integers, reals, and character strings. There are many applications, exemplified by office automation, computer-aided design and geographic information systems, that could benefit from management of databases containing the complex objects typically used in programming these systems. We call databases that contain user defined abstract data types object-extended databases. In this paper we examine three aspects of providing support for object-extended databases: their specification, their manipulation by transactions, and access to them via queries. We show that a database specification scheme grounded formally in three abstract data types, finite sets, tuples and lists, accommodates the integration of databases and arbitrary abstract data types from the points of view of database designers, transaction programmers, and query writers and implemented.1
David W. Stemple, Tim Sheard, Ralph E. Bunker
ICDE1
1986 Incorporating theory into database system development
David W. Stemple, Tim Sheard, Ralph E. Bunker
Inf. Process. Manag.1
1986 Privilege Transfer and Revocation in a Port-Based System
abstract
Gutenberg is a port-based operating system being designed to study protection issues in distributed systems. All shared resources are viewed as protected objects and hence can be assessed only via specific operations defined on them. Processes communicate and access objects through the use of ports. Each port is associated with an abstract data type operation and can be created by a process only if the process has the capability to execute the operation on the type. Thus, a port represents the privilege of the port's client process to request a service. Capabilities to create ports for requesting operations are contained in a capability directory, which is navigated by processes to gain these capabilities. Privilege transfer is a means of providing servers access to the resources they need to perform their services. In Gutenberg, privilege transfer is accomplished by allowing access to subdirectories of the capability directory and by passing capabilities, including port access capabilities, to processes via ports. It should be possible to revoke transferred privileges when breaches of trust are detected or suspected, when a period of time has passed beyond which the distributor of a privilege does not want the privilege shared, or when an error has been detected.
Krithi Ramamritham, David W. Stemple, David A. Briggs, Stephen T. Vinter
IEEE Trans. Software Eng.2
1986 Functional Addressing in Gutenberg: Interprocess Communication without Process Indentifiers
abstract
An interprocess communication facility provided by the kernel of the Gutenberg experimental operating system is presented. In Gutenberg all interprocess communication is via channels (ports) that are typed by the service which can be requested on them. Ports are created by reference to their service without using the identifier of the process providing the service, a technique the authors refer to as functional addressing. By using functional addressing, interprocess transfer of port use privileges and a new concept of cooperation class, arbitrary process interconnection topologies can be achieved without any explicit use of process identifiers by processes. Examples of object sharing with abstract data type managers and data-driven protocols of database query execution are presented to illustrate the methods of constructing systems of cooperation processes using the Gutenberg system.
David W. Stemple, Stephen T. Vinter, Krithi Ramamritham
IEEE Trans. Software Eng.1
1985 Decentralized Access Control in a Distributed System
Krithi Ramamritham, David W. Stemple, Stephen T. Vinter
ICDCS2
1985 Database Theory for Supporting Specification-Based Database Systems Development
David W. Stemple, Tim Sheard
ICSE1
1985 Report on CS2 from ACM CS2 committee (panel session)
abstract
No abstract available.
David W. Stemple, Caroline E. Wardle, Elliot B. Koffman
SIGCSE1
1985 Coping with Complexity in Automated Reasoning about Database Systems
Tim Sheard, David W. Stemple
VLDB2
1984 Specification and Verification of Abstract Database Types
abstract
A database system, comprising a schema, integrity constraints, transactions, and queries, constitutes a single abstract data type. This type, which we call an abstract database type, has as its object the database itself. Thus, the value set of such a type is the set of all legal database states, legal in the sense of obeying all the structural specifications of the schema and the semantic prescriptions of the integrity constraints. The database transactions are the operations of the abstract database type and must be functions on the value set of the type. A transaction specification is safe if it defines a function which is closed on the database state set, i. e., any execution of the transaction on a legal database yields a legal database.We propose an approach to the definition of abstract database types which is both usable by typical database designers and which facilitates the mechanical verification of transaction safety. The Boyer and Moore theorem proving technique is used to prove transaction safety theorems using abstract data type axioms and recursive functions generated from the database schema and transaction programs.
David W. Stemple, Tim Sheard
PODS1
1982 Reply
Charles Welty, David W. Stemple
ACM Trans. Database Syst.2
1981 Human Factors Comparison of a Procedural and a Nonprocedural Query Language
abstract
Two experiments testing the ability of subjects to write queries in two different query languages were run. The two languages, SQL and TABLET, differ primarily in their procedurality; both languages use the relational data model, and their Halstead levels are similar. Constructs in the languages which do not affect their procedurality are identical. The two languages were learned by the experimental subjects almost exclusively from manuals presenting the same examples and problems ordered identically for both languages. The results of the experiments show that subjects using the more procedural language wrote difficult queries better than subjects using the less procedural language. The results of the experiments are also used to compare corresponding constructs in the two languages and to recommend improvements for these constructs.
Charles Welty, David W. Stemple
ACM Trans. Database Syst.2
1976 A Data Base Management Facility for Automatic Generation of Data Base Managers
abstract
A facility is described for the implementation of database management systems having high degrees of horizontal data independence, i.e. independence from chosen logical properties of a database as opposed to vertical independence from storage structures. The facility consists of a high level language for the specification of virtual database managers, a compiler from this language to a pseudomachine language, and an interpreter for the pseudomachine language. It is shown how this facility can be used to produce efficient database management systems with any degree of both horizontal and vertical data independence. Two key features of this tool are the compilation of tailored database managers from individual schemas and multiple levels of optional binding.
David W. Stemple
ACM Trans. Database Syst.1
1975 A Data Base Management Facility for Automatic Generation of Data Base Managers
abstract
This paper presents a facility for the implementation of data base management systems having high degrees of horizontal data independence, i.e. independence from chosen logical properties of a data base as opposed to vertical independence from storage structures. The facility consists of a high level language for the specification of virtual data base managers, a compiler from this language to a pseudo-machine language, and an interpreter for the pseudo-machine language.
David W. Stemple
VLDB1