Demo Data from SIGIR 2026 / reviewers in the wild / expert
David Scott Warren
dblp:w/DavidScottWarren
· DBLP profile ↗
48ranked-venue papers
5as first author
1since 2021 · last 2024
0000-0001-7567-8156ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 23 · 3 first-author · 1 since 2021Theory of computation · 15 · 1 first-authorDatabases, data management, data science and information retrieval · 12Artificial intelligence and machine learning · 11 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 2Computer networks · 1Applied, 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.
| Artificial intelligence
5 papers |
Knowledge representation and reasoning · 99% Information extraction and text analysis · 1% | |
| Computer networks
1 paper |
Internet of things and sensor networks · 33% Software-defined and programmable networks · 33% Network management and operations · 33% | |
| Theoretical computer science
9 papers |
Logic in computer science · 83% Automated reasoning and model checking · 10% Automata and formal languages · 7% | |
| Databases, data mining, and information retrieval
10 papers |
Database theory · 49% Data models and query languages · 26% Knowledge graphs · 14% | |
| Software engineering, system software, and programming languages
5 papers |
Program analysis · 58% Programming languages and type systems · 24% Compilers and program optimization · 17% | |
| Computer graphics and multimedia
1 paper |
Multimedia analysis and retrieval · 100% |
Topics — the 30 heaviest of 44, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Network management and operations › network robustness
fault tolerance |
0.1 | 1 | 2008 | A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008 |
Software-defined and programmable networks › programmable data plane › in-network computation
in-network inference |
0.1 | 1 | 2008 | A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008 |
Internet of things and sensor networks
wireless sensor network |
0.1 | 1 | 2008 | A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008 |
Database theory
deductive database |
0.0 | 3 | 1996 | Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996 XSB as a Deductive Database · SIGMOD Conference 1994 XSB as an Efficient Deductive Database Engine · SIGMOD Conference 1994 |
Logic in computer science › logic programming
well-founded semantics |
0.0 | 3 | 1996 | Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996 Tabled Evaluation With Delaying for General Logic Programs · J. ACM 1996 Query Evaluation under the Well Founded Semantics · PODS 1993 |
Logic in computer science
logic programming |
0.0 | 2 | 1997 | Efficient Model Checking Using Tabled Resolution · CAV 1997 Tabled Evaluation With Delaying for General Logic Programs · J. ACM 1996 |
Program analysis
static analysis |
0.0 | 3 | 1996 | Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study · PLDI 1996 Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990 Functional Computations in Logic Programs · ACM Trans. Program. Lang. Syst. 1989 |
Knowledge, reasoning and agents › Knowledge representation and reasoning › logic programming
probabilistic logic programming |
0.0 | 1 | 2008 | A methodology for in-network evaluation of integrated logical-statistical models · SenSys 2008 |
Programming languages and type systems
logic programming |
0.0 | 2 | 1995 | Unification Factoring for Efficient Execution of Logic Programs · POPL 1995 Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990 |
Automated reasoning and model checking
model checking |
0.0 | 1 | 1997 | Efficient Model Checking Using Tabled Resolution · CAV 1997 |
Knowledge graphs › knowledge graph querying
complex query answering |
0.0 | 1 | 1996 | Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996 |
Program analysis › static analysis › abstract interpretation
groundness analysis |
0.0 | 1 | 1996 | Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study · PLDI 1996 |
Program analysis › static analysis › abstract interpretation
strictness analysis |
0.0 | 1 | 1996 | Practical Program Analysis Using General Purpose Logic Programming Systems - A Case Study · PLDI 1996 |
Logic in computer science › logic programming
logic programming semantics |
0.0 | 1 | 1996 | Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996 |
Logic in computer science › logic programming
negation as failure |
0.0 | 1 | 1996 | Tabled Evaluation With Delaying for General Logic Programs · J. ACM 1996 |
Logic in computer science › logic programming
stable model semantics |
0.0 | 1 | 1996 | Computation of Stable Models and Its Integration with Logical Query Processing · IEEE Trans. Knowl. Data Eng. 1996 |
Logic in computer science
unification |
0.0 | 1 | 1995 | Unification Factoring for Efficient Execution of Logic Programs · POPL 1995 |
Data models and query languages
datalog |
0.0 | 1 | 1994 | XSB as an Efficient Deductive Database Engine · SIGMOD Conference 1994 |
Database theory
logic programming semantics |
0.0 | 1 | 1993 | Query Evaluation under the Well Founded Semantics · PODS 1993 |
Query processing and optimization
query execution |
0.0 | 1 | 1993 | Query Evaluation under the Well Founded Semantics · PODS 1993 |
Logic in computer science
semantics |
0.0 | 2 | 1989 | On the Declarative Semantics of Inheritance Networks · IJCAI 1989 Using X-Calculus to Represent Meanings in Logic Grammars · ACL 1983 |
Compilers and program optimization
program transformation |
0.0 | 1 | 1990 | Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990 |
Programming languages and type systems › logic programming
prolog |
0.0 | 1 | 1990 | Towards Banishing the Cut from Prolog · IEEE Trans. Software Eng. 1990 |
Automata and formal languages
finite automata |
0.0 | 1 | 1990 | Automata-Driven Indexing of Prolog Clauses · POPL 1990 |
Knowledge, reasoning and agents › Knowledge representation and reasoning › description logic › taxonomic reasoning
inheritance |
0.0 | 1 | 1989 | On the Declarative Semantics of Inheritance Networks · IJCAI 1989 |
Knowledge, reasoning and agents › Knowledge representation and reasoning › representation language › knowledge representation formalisms › knowledge representation language
inheritance networks |
0.0 | 1 | 1989 | On the Declarative Semantics of Inheritance Networks · IJCAI 1989 |
Data models and query languages › object model
complex object model |
0.0 | 1 | 1989 | C-Logic of Complex Objects · PODS 1989 |
Database theory
database logic |
0.0 | 1 | 1989 | C-Logic of Complex Objects · PODS 1989 |
Program analysis › concurrent program analysis
determinacy analysis |
0.0 | 1 | 1989 | Functional Computations in Logic Programs · ACM Trans. Program. Lang. Syst. 1989 |
Compilers and program optimization
logic program optimization |
0.0 | 1 | 1989 | Functional Computations in Logic Programs · ACM Trans. Program. Lang. Syst. 1989 |
Methods — techniques the papers use, named apart from their topics
multimodal learning · 0.5constrained optimization · 0.5simulation · 0.2hidden markov model · 0.2PRISM · 0.2forward chaining · 0.0backward chaining · 0.0backtracking · 0.0non-determinism optimization · 0.0indexing · 0.0logic programming · 0.0tabled resolution · 0.0tabling · 0.0tabled logic programming · 0.0partial deduction · 0.0minimal model evaluation · 0.0SLG resolution · 0.0negation as finite failure · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2024 | The Semantics of Metaprogramming in PrologabstractAbstract This paper describes a semantics for pure Prolog programs with negation that provides meaning to metaprograms. Metaprograms are programs that construct and use data structures as programs. In Prolog a primary mataprogramming construct is the use of a variable as a literal in the body of a clause. The traditional Prolog 3-line metainterpreter is another example of a metaprogram. The account given here also supplies a meaning for clauses that have a variable as head, even though most Prolog systems do not support such clauses. This semantics naturally includes such programs, giving them their intuitive meaning. Ideas from Denecker and his colleagues form the basis of this approach. The key idea is to notice that if we give meanings to all propositional programs and treat Prolog rules with variables as the set of their ground instances, then we can give meanings to all programs. We must treat Prolog rules (which may be metarules) as templates for generating ground propositional rules, and not as first-order formulas, which they may not be. We use parameterized inductive definitions to give propositional models to Prolog programs, in which the propositions are expressions. Then the set of expressions of a propositional model determine a first-order Herbrand Model, providing a first-order logical semantics for all (pure) Prolog programs, including metaprograms. We give examples to show the applicability of this theory. We also demonstrate how this theory makes proofs of some important properties of metaprograms very straightforward. David Scott Warren |
Theory Pract. Log. Program. | 1 |
| 2018 | Top-down and Bottom-up Evaluation Procedurally IntegratedabstractAbstract This paper describes how the Logic Programming System XSB combines top-down and bottom-up computation through the mechanisms of variant tabling and subsumptive tabling with abstraction, respectively. It is well known that top-down evaluation of logical rules in Prolog has a procedural interpretation as recursive procedure invocation (Kowalski 1986). Tabling adds the intuition of short-circuiting redundant computations (Warren 1992). This paper shows how to introduce into tabled logic program evaluation a bottom-up component, whose procedural intuition is the initialization of a data structure, in which a relation is initially computed and filled, on first demand, and then used throughout the remainder of a larger computation for efficient lookup. This allows many Prolog programs to be expressed fully declaratively, programs which formerly required procedural features, such as assert, to be made efficient. David Scott Warren |
Theory Pract. Log. Program. | 1 |
| 2016 | Learning Prototypical Event Structure from Photo AlbumsabstractActivities and events in our lives are structural, be it a vacation, a camping trip, or a wedding.While individual details vary, there are characteristic patterns that are specific to each of these scenarios.For example, a wedding typically consists of a sequence of events such as walking down the aisle, exchanging vows, and dancing.In this paper, we present a data-driven approach to learning event knowledge from a large collection of photo albums.We formulate the task as constrained optimization to induce the prototypical temporal structure of an event, integrating both visual and textual cues.Comprehensive evaluation demonstrates that it is possible to learn multimodal knowledge of event structure from noisy web content. Antoine Bosselut, Jianfu Chen, David Scott Warren, Hannaneh Hajishirzi, Yejin Choi 0001 |
ACL (1) | 3 |
| 2015 | Déjà Image-Captions: A Corpus of Expressive Descriptions in RepetitionabstractJianfu Chen, Polina Kuznetsova, David Warren, Yejin Choi. Proceedings of the 2015 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies. 2015. Jianfu Chen, Polina Kuznetsova, David Scott Warren, Yejin Choi 0001 |
HLT-NAACL | 3 |
| 2013 | Cost-sensitive learning for large-scale hierarchical classificationabstractWe study hierarchical classification of products in electronic commerce, classifying a text description of a product into one of the leaf classes of a tree-structure taxonomy. In particular, we investigate two essential problems, performance evaluation and learning, in a synergistic way. Unless we know what is the appropriate performance evaluation metric for a task, we are not going to learn a classifier of maximum utility for the task. Given the characteristics of the task of hierarchical product classification, we shed insight into how and why common evaluation metrics such as error rate can be misleading, which is applicable for treating other real world applications. The analysis leads to a new performance evaluation metric that tailors this task to reflect a vendor's business goal of maximizing revenue. The proposed metric has an intuitive meaning as the average revenue loss, which depends on both the value of individual products and the hierarchical distance between the true class and the predicted class. Correspondingly, our learning algorithm uses multi-class SVM with margin re-scaling to optimize the proposed metric, instead of error rate or other common metrics. Margin re-scaling is sensitive to the scaling of loss functions. We propose a loss normalization approach to appropriately calibrating the scaling of loss functions, which is applicable to general classification and structured prediction tasks whenever using structured SVM with margin re-scaling. Experiments on a large dataset show that our approach outperforms standard multi-class SVM in terms of the proposed metric, effectively reducing the average revenue loss. Jianfu Chen, David Scott Warren |
CIKM | 2 |
| 2012 | XSB: Extending Prolog with Tabled Logic ProgrammingabstractAbstract The paradigm of Tabled Logic Programming (TLP) is now supported by a number of Prolog systems, including XSB, YAP Prolog, B-Prolog, Mercury, ALS, and Ciao. The reasons for this are partly theoretical: tabling ensures termination and optimal known complexity for queries to a large class of programs. However, the overriding reasons are practical. TLP allows sophisticated programs to be written concisely and efficiently, especially when mechanisms such as tabled negation and call and answer subsumption are supported. As a result, TLP has now been used in a variety of applications from program analysis to querying over the semantic web. This paper provides a survey of TLP and its applications as implemented in the XSB Prolog, along with discussion of how XSB supports tabling with dynamically changing code, and in a multi-threaded environment. Theresa Swift, David Scott Warren |
Theory Pract. Log. Program. | 2 |
| 2010 | Tabling with Answer Subsumption: Implementation, Applications and Performance
Theresa Swift, David Scott Warren |
JELIA | 2 |
| 2010 | Swapping evaluation: A memory-scalable solution for answer-on-demand tablingabstractAbstract One of the differences among the various approaches to suspension-based tabled evaluation is the scheduling strategy. The two most popular strategies arelocalandbatchedevaluation. The former collects all the solutions to a tabled predicate before making any one of them available outside the tabled computation. The latter returns answers one by one before computing them all, which in principle is better if only one answer (or a subset of the answers) is desired. Batched evaluation is closer to SLD evaluation in that it computes solutions lazily as they are demanded, but it may need arbitrarily more memory than local evaluation, which is able to reclaim memory sooner. Some programs which in practice can be executed under the local strategy quickly run out of memory under batched evaluation. This has led to the general adoption of local evaluation at the expense of the more depth-first batched strategy. In this paper we study the reasons for the high memory consumption of batched evaluation and propose a new scheduling strategy which we have termedswapping evaluation. Swapping evaluation also returns answers one by one before completing a tabled call, but its memory usage can be orders of magnitude less than batched evaluation. An experimental implementation in the XSB system shows that swapping evaluation is a feasible memory-scalable strategy that need not compromise execution speed. Pablo Chico de Guzmán, Manuel Carro, David Scott Warren |
Theory Pract. Log. Program. | 3 |
| 2008 | A methodology for in-network evaluation of integrated logical-statistical modelsabstractSynthesizing high-level semantic knowledge from low-level sensor data is an important problem in many sensor network applications. Programming a network to perform such synthesis in situ is especially difficult due to the stringent resource constraints, unreliable wireless communication, and complex distributed algorithms and network protocols required to manipulate the data. Recently, a declarative programming language called Snlog [5] has been developed to address this problem. However, statistical reasoning for modeling noise in the context of sensor networks has not been addressed in Snlog. In this paper, we develop a methodology based on the PRISM [36] framework, which integrates logical and statistical reasoning, for specifying sensor network programs that deal with noisy data and tolerate faults in the network. The relationship between high-level (synthesized) and low-level (observed) data is captured by logical rules, while statistical models are used to specify computations in the presence of noise and faults. We illustrate our methodology with three examples: (i) estimating temperature at various points in a region, (ii) evaluating the trajectory of an object observed by a sensor network, based on the Hidden Markov Model, and (iii) evaluating most reliable communication paths between sensor nodes. We analyze the results of simulations as well as an experimental deployment to evaluate the practical feasibility of our approach. Anu Singh, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, David Scott Warren, Jennifer Wong-Ma |
SenSys | 4 |
| 2008 | TCHR: a framework for tabled CLPabstractAbstract Tabled Constraint Logic Programming is a powerful execution mechanism for dealing with Constraint Logic Programming without worrying about fixpoint computation. Various applications, e.g. in the fields of program analysis and model checking, have been proposed. Unfortunately, a high-level system for developing new applications is lacking, and programmers are forced to resort to complicated ad hoc solutions. This papers presents TCHR, a high-level framework for tabled Constraint Logic Programming. It integrates in a light-weight manner Constraint Handling Rules (CHR), a high-level language for constraint solvers, with tabled Logic Programming. The framework is easily instantiated with new application-specific constraint domains. Various high-level operations can be instantiated to control performance. In particular, we propose a novel, generalized technique for compacting answer sets. Tom Schrijvers, Bart Demoen, David Scott Warren |
Theory Pract. Log. Program. | 3 |
| 2006 | Deductive Spreadsheets Using Tabled Logic Programming
C. R. Ramakrishnan 0001, I. V. Ramakrishnan, David Scott Warren |
ICLP | 3 |
| 2004 | Constraint Handling Rules and Tabled Execution
Tom Schrijvers, David Scott Warren |
ICLP | 2 |
| 2003 | Approximate Pruning in Tabled Logic Programming
Luís Fernando Castro, David Scott Warren |
ESOP | 2 |
| 2002 | Suspending and Resuming Computations in Engines for SLG Evaluation
Luís Fernando Castro, Theresa Swift, David Scott Warren |
PADL | 3 |
| 2001 | The limits of fixed-order computation
Konstantinos Sagonas, Theresa Swift, David Scott Warren |
Theor. Comput. Sci. | 3 |
| 1999 | Multiple Terms in a Tabled Logic Programming System
Baoqiu Cui, David Scott Warren |
ICLP | 2 |
| 1999 | A Case Study in Using Preference Logic Grammars for Knowledge Representations
Baoqiu Cui, Theresa Swift, David Scott Warren |
LPNMR | 3 |
| 1999 | Fighting Livelock in the i-Protocol: A Comparative Study of Verification Tools
Xiaoqun Du, Y. S. Ramakrishna, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Scott A. Smolka, Oleg Sokolsky, Eugene W. Stark, David Scott Warren |
TACAS | 9 |
| 1997 | Efficient Model Checking Using Tabled Resolution
Y. S. Ramakrishna, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Scott A. Smolka, Theresa Swift, David Scott Warren |
CAV | 6 |
| 1997 | Taking I/O Seriously: Resolution Reconsidered for Disk
Juliana Freire, Theresa Swift, David Scott Warren |
ICLP | 3 |
| 1997 | XSB: A System for Effciently Computing WFS
Prasad Rao, Konstantinos Sagonas, Theresa Swift, David Scott Warren, Juliana Freire |
LPNMR | 4 |
| 1996 | An Abstract Machine for Fixed-Order Dynamically Stratified Programs
Konstantinos Sagonas, Theresa Swift, David Scott Warren |
CADE | 3 |
| 1996 | Practical Program Analysis Using General Purpose Logic Programming Systems - A Case StudyabstractMany analysis problems can be cast in the form of evaluating minimal models of a logic program. Although such formulations are appealing due to their simplicity and declarativeness, they have not been widely used in practice because, either existing logic programming systems do not guarantee completeness, or those that do have been viewed as too inefficient for integration into a compiler. The objective of this paper is to re-examine this issue in the context of recent advances in implementation technologies of logic programming systems.We find that such declarative formulations can indeed be used in practical systems, when combined with the appropriate tool for evaluation. We use existing formulations of analysis problems --- groundness analysis of logic programs, and strictness analysis of functional programs --- in this case study, and the XSB system, a table-based logic programming system, as the evaluation tool of choice. We give experimental evidence that the resultant groundness and strictness analysis systems are practical in terms of both time and space. In terms of implementation effort, the analyzers took less than 2 man-weeks (in total), to develop, optimize and evaluate. The analyzer itself consists of about 100 lines of tabled Prolog code and the entire system, including the components to read and preprocess input programs and to collect the analysis results, consists of about 500 lines of code. Steven Dawson, C. R. Ramakrishnan 0001, David Scott Warren |
PLDI | 3 |
| 1996 | Tabled Evaluation With Delaying for General Logic ProgramsabstractSLD resolution with negation as finite failure (SLDNF) reflects the procedural interpretation of predicate calculus as a programming language and forms the computational basis for Prolog systems. Despite its advantages for stack-based memory management, SLDNF is often not appropriate for query evaluation for three reasons: (a) it may not terminate due to infinite positive recursion; (b) it may be terminate due to infinite recursion through negation; and (c) it may repeatedly evaluate the same literal in a rule body, leading to unacceptable performance. We address all three problems for goal-oriented query evaluation of general logic programs by presenting tabled evaluation with delaying, called SLG resolution. It has three distinctive features: (i) SLG resolution is a partial deduction procedure, consisting of seven fundamental transformations. A query is transformed step by step into a set of answers. The use of transformations separates logical issues of query evaluation from procedural ones. SLG allows an arbitrary computation rule for selecting a literal from a rule body and an arbitrary control strategy for selecting transformations to apply. (ii) SLG resolution is sound and search space complete with respect to the well-founded partial model for all non-floundering queries, and preserves all three-valued stable models. To evaluate a query under differenc three-valued stable models, SLG resolution can be enhanced by further processing of the answers of subgoals relevant to a query. (iii) SLG resolution avoids both positive and negative loops and always terminates for programs with the bounded-term-size property. It has a polynomial time data complexity for well-founded negation of function-free programs. Through a delaying mechanism for handling ground negative literals involved in loops, SLG resolution avoids the repetition of any of its derivation steps. Restricted forms of SLG resolution are identified for definite, locally stratified, and modularly stratified programs, shedding light on the role each transformation plays. Weidong Chen 0005, David Scott Warren |
J. ACM | 2 |
| 1996 | Computation of Stable Models and Its Integration with Logical Query ProcessingabstractThe well-founded semantics and the stable model semantics capture intuitions of the skeptical and credulous semantics in nonmonotonic reasoning, respectively. They represent the two dominant proposals for the declarative semantics of deductive databases and logic programs. However, neither semantics seems to be suitable for all applications. We have developed an efficient implementation of goal-oriented effective query evaluation under the well-founded semantics. It produces a residual program for subgoals that are relevant to a query, which contains facts for true instances and clauses with body literals for undefined instances. We present a simple method of stable model computation that can be applied to the residual program of a query to derive answers with respect to stable models. The method incorporates both forward and backward chaining to propagate the assumed truth values of ground atoms, and derives multiple stable models through backtracking. Users are able to request that only stable models satisfying certain conditions be computed. A prototype has been developed that provides integrated query evaluation under the well-founded semantics, the stable models, and ordinary Prolog execution. We describe the user interface of the prototype and present some experimental results. Weidong Chen 0005, David Scott Warren |
IEEE Trans. Knowl. Data Eng. | 2 |
| 1995 | Efficient Tabling Mechanisms for Logic Programs
I. V. Ramakrishnan, Prasad Rao, Konstantinos Sagonas, Theresa Swift, David Scott Warren |
ICLP | 5 |
| 1995 | Efficient Execution of HiLog in WAM-based Prolog Implementations
Konstantinos Sagonas, David Scott Warren |
ICLP | 2 |
| 1995 | Unification Factoring for Efficient Execution of Logic ProgramsabstractThe efficiency of resolution-based logic programming languages, such as Prolog, depends critically on selecting and executing sets of applicable clause heads to resolve against subgoals. Traditional approaches to this problem have focused on using indexing to determine the smallest possible applicable set. Despite their usefulness, these approaches ignore the non-determinism inherent in many programming languages to the extent that they do not attempt to optimize execution after the applicable set theory has been determined. Steven Dawson, C. R. Ramakrishnan 0001, I. V. Ramakrishnan, Konstantinos Sagonas, Steven Skiena, Theresa Swift, David Scott Warren |
POPL | 7 |
| 1994 | XSB as an Efficient Deductive Database EngineabstractThis paper describes the XSB system, and its use as an in-memory deductive database engine. XSB began from a Prolog foundation, and traditional Prolog systems are known to have serious deficiencies when used as database systems. Accordingly, XSB has a fundamental bottom-up extension, introduced through tabling (or memoing)[4], which makes it appropriate as an underlying query engine for deductive database systems. Because it eliminates redundant computation, the tabling extension makes XSB able to compute all modularly stratified datalog programs finitely and with polynomial data complexity. For non-stratified programs, a meta-interpreter with the same properties is provided. In addition XSB significantly extends and improves the indexing capabilities over those of standard Prolog. Finally, its syntactic basis in HiLog [2], lends it flexibility for data modelling. Konstantinos Sagonas, Theresa Swift, David Scott Warren |
SIGMOD Conference | 3 |
| 1994 | XSB as a Deductive DatabaseabstractNo abstract available. Konstantinos Sagonas, Theresa Swift, David Scott Warren |
SIGMOD Conference | 3 |
| 1993 | Query Evaluation under the Well Founded SemanticsabstractSLD resolution with negation as finite failure (or SLDNF) reflects the procedural interpretation of Horn-clause predicate logic as a programming language and forms the computational basis for prolog systems. Despite its advantages in memory management, SLDNF is often not appropriate for query evaluation for three reasons; a) it may not terminate due to infinite positive recursion; b) it may not terminate due to infinite recursion through negation; and c) it may repeatedly evaluate the same clause body literal, leading to unacceptable performance. Weidong Chen 0005, David Scott Warren |
PODS | 2 |
| 1991 | An Intensional Logic of (Multi-Arity) Set Abstractions
Weidong Chen 0005, David Scott Warren |
ICLP | 2 |
| 1990 | Automata-Driven Indexing of Prolog ClausesabstractIndexing Prolog clauses is an important optimization step that reduces the number of clauses on which unification will be performed and can avoid the pushing of a choice point. It is quite desirable to increase the number of functors used in indexing as this can considerably reduce the size of the filtered set. However this can cause an enormous increase in running time if indexing is done naively. This paper describes a new technique for indexing that utilizes all the functors in a clause-head. More importantly, in spite of using all the functors, this technique is still able to quickly select relevant clause-heads at run time. This is made possible primarily by a finite-state automaton that guides the indexing process. The automaton is constructed at compile time by preprocessing all the clause-heads. R. Ramesh 0001, I. V. Ramakrishnan, David Scott Warren |
POPL | 3 |
| 1990 | Towards Banishing the Cut from PrologabstractLogic programs can often be inefficient. The usual solution to this problem has been to return some control to the user in the form of impure language features like cut. The authors argue that it is not necessary to resort to such impure features for efficiency. This point is illustrated by considering how most of the common uses of cut can be eliminated from Prolog source programs, relying on static analysis to generate them at compile time. Three common situations where the cut is used are considered. Static analysis techniques are given to detect such situations, and applicable program transformations are described. Two language constructs, firstof and oneof, for situations involving don't-care nondeterminism, are suggested. These constructs have better declarative readings than the cut and extend better to parallel evaluation strategies. Together, these proposals result in a system where users need rely much less on cuts for efficiency, thereby promoting a purer programming style without sacrificing efficiency.> Saumya K. Debray, David Scott Warren |
IEEE Trans. Software Eng. | 2 |
| 1989 | On the Declarative Semantics of Inheritance Networks
Krishnaprasad Thirunarayan, Michael Kifer, David Scott Warren |
IJCAI | 3 |
| 1989 | C-Logic of Complex ObjectsabstractOur objective is to have a logical framework for natural representation and manipulation of complex objects. We start with an analysis of semantic modeling of complex objects, and attempt to understand what are the fundamental aspects which need to be captured. A logic, called C-logic, is then presented which provides direct support for what we believe to be basic features of complex objects, including object identity, multi-valued labels and a dynamic notion of types. C-logic has a simple first-order semantics, but it also allows natural specification of complex objects and gives us a framework for exploring efficient logic deduction over complex objects. Weidong Chen 0005, David Scott Warren |
PODS | 2 |
| 1989 | Functional Computations in Logic ProgramsabstractAlthough the ability to simulate nondeterminism and to compute multiple solutions for a single query is a powerful and attractive feature of logic programming languages, it is expensive in both time and space. Since programs in such languages are very often functional, that is, they do not produce more than one distinct solution for a single input, this overhead is especially undesirable. This paper describes how programs may be analyzed statically to determine which literals and predicates are functional, and how the program may then be optimized using this information. Our notion of “functionality” subsumes the notion of “determinacy” that has been considered by various researchers. Our algorithm is less reliant on language features such as the cut, and thus extends more easily to parallel execution strategies, than others that have been proposed. Saumya K. Debray, David Scott Warren |
ACM Trans. Program. Lang. Syst. | 2 |
| 1987 | PIQUE: a relational query language without relations
David Maier 0001, David Rozenshtein, Sharon C. Salveter, Jacob Stein, David Scott Warren |
Inf. Syst. | 5 |
| 1986 | Detection and Optimization of Functional Computations in Prolog
David Scott Warren, Saumya K. Debray |
ICLP | 1 |
| 1984 | A Class of Architectures for a Prolog Machine
Laxmikant V. Kalé, David Scott Warren |
ICLP | 2 |
| 1983 | Using X-Calculus to Represent Meanings in Logic GrammarsabstractThis paper describes how meanings are represented in a semantic grammar for a fragment of English in the logic programming language Prolog. The conventions of Definite Clause Grammars are used. Previous work on DCGs with a semantic component has used essentially first-order formulas for representing meanings. The system described here uses formulas of the typed λ-calculus. The first section discusses general issues concerning the use of first-order logic or the λ-calculus to represent meanings. The second section describes how λ-calculus meaning representations can be constructed and manipulated directly in Prolog. This 'programmed' representation motivates a suggestion, discussed in the third section, for an extension to Prolog so that the language itself would include a mechanism for handling the λ-formulas directly. David Scott Warren |
ACL | 1 |
| 1983 | Windows on the WorldabstractWe discuss the philosophy, history and theory of window functions. Window functions (sometimes called connections) are a means to treat a relational database as a semantic whole, rather than as an arbitrary collection of relations. Simply stated, a window function maps a database state and a relation scheme to a relation over the scheme. Window functions are the basis for all existing universal scheme interfaces. We present an assumption inherent in universal scheme interfaces, the unique role assumption.Window functions have evolved along two paths, giving rise to computational definitions and weak instance definitions. We examine several examples of each type of window function, with special attention to the association-object window function of PIQUE. We then look at properties we feel a reasonable window function should satisfy, notably the containment condition and faithfulness. We also define implicit objects, which are relation schemes that a window function treats in a special manner, and which are useful for describing the behavior of window functions. David Maier 0001, David Rozenshtein, David Scott Warren |
SIGMOD Conference | 3 |
| 1983 | Formal Semantics for Time in DatabasesabstractThe concept of a historical database is introduced as a tool for modeling the dynamic nature of some part of the real world. Just as first-order logic has been shown to be a useful formalism for expressing and understanding the underlying semantics of the relational database model, intensional logic is presented as an analogous formalism for expressing and understanding the temporal semantics involved in a historical database. The various components of the relational model, as extended to include historical relations, are discussed in terms of the model theory for the logic IL s , a variation of the logic IL formulated by Richard Montague. The modal concepts of intensional and extensional data constraints and queries are introduced and contrasted. Finally, the potential application of these ideas to the problem of natural language database querying is discussed. James Clifford, David Scott Warren |
ACM Trans. Database Syst. | 2 |
| 1982 | Conceptual Dependency and Montague Grammar: A Step Toward Conciliation
Mark A. Jones, David Scott Warren |
AAAI | 2 |
| 1982 | Toward Logical Data Independence: A Relational Query Language Without RelationsabstractOne of the main goals of database systems, relational systems in particular, is to provide a degree of physical data independence for users and programs. Users should not need to know the exact physical storage structures to use the database, and should be protected from changes in those structures. We attempt to go a step further, to logical data independence. We want an interface to a relational database where a user need not be concerned with how the data has been partitioned into various relations. The natural relation schemes to be used, from a semantic point of view, may be decomposed in the database for normalization or redundancy reasons. Our approach essentially loads all the semantics onto the attributes. In our query language tuple variables are not bound to specific relations. Rather, the system uses the set of attributes, say X, that appear in a query with a tuple variable, say t, to combine the database relations to form a single relation with scheme X over which t ranges. We describe our method for constructing such a relation given the associated set of attributes X. When tuple variables are bound implicitly, the logical connectives 'and', 'or', and 'not' take on 'semantic overtones' since they can affect the binding. We discuss the motivation behind the chosen semantics for these connectives. Our goal is a powerful, yet concise, query language with natural semantics. David Maier 0001, David Rozenshtein, Sharon C. Salveter, Jacob Stein, David Scott Warren |
SIGMOD Conference | 5 |
| 1982 | Specifying Connections for a Universal Relation Scheme DatabaseabstractWe propose a universal relation scheme database model based on the assumption that there is a unique connection among any set of attributes in a relational database. We use the notion of object ([Sc],[MU]) to give a database designer the ability to control how connections in the database are to be made. We show how semantic considerations that follow naturally from the unique connection assumption constrain how objects and the underlying base relations must be syntactically related. We illustrate and motivate our definitions and constraints with several simple examples. David Maier 0001, David Scott Warren |
SIGMOD Conference | 2 |
| 1982 | Using Semantics in Non-Context-Free Parsing of Montague Grammar
David Scott Warren, Joyce Friedman |
Am. J. Comput. Linguistics | 1 |
| 1981 | Incorporating Computed Relations in Relational Databases
David Maier 0001, David Scott Warren |
SIGMOD Conference | 2 |