Demo Data from EDBT 2026 / reviewers in the wild / expert
Raymie Stata
dblp:60/5248
· DBLP profile ↗
12ranked-venue papers
6as first author
0since 2021 · last 2011
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 4 · 3 first-authorDatabases, data management, data science and information retrieval · 4 · 1 first-authorComputer networks · 3 · 1 first-authorArtificial intelligence and machine learning · 1Systems, architecture and hardware · 1 · 1 first-authorGraphics, computer vision, multimedia, augmented reality and games · 1Theory of computation · 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
4 papers |
Programming languages and type systems · 50% Program verification · 37% Compilers and program optimization · 10% | |
| Theoretical computer science
2 papers |
Mathematical optimization · 92% Automated reasoning and model checking · 8% | |
| Computer networks
1 paper |
Network optimization and economics · 100% | |
| Databases, data mining, and information retrieval
2 papers |
Database system architecture and tuning · 59% Information retrieval · 41% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Performance modeling and evaluation · 100% |
Topics — the 14 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Network optimization and economics › network economics
revenue sharing |
0.1 | 1 | 2011 | Efficient online ad serving in a display advertising exchange · WSDM 2011 |
Programming languages and type systems
bytecode verification |
0.0 | 2 | 1999 | A Type System for Java Bytecode Subroutines · ACM Trans. Program. Lang. Syst. 1999 A Type System for Java Bytecode Subroutines · POPL 1998 |
Programming languages and type systems
type systems |
0.0 | 2 | 1999 | A Type System for Java Bytecode Subroutines · ACM Trans. Program. Lang. Syst. 1999 A Type System for Java Bytecode Subroutines · POPL 1998 |
Program verification › deductive verification
extended static checking |
0.0 | 1 | 2002 | Extended Static Checking for Java · PLDI 2002 |
Program verification › deductive verification
verification condition generation |
0.0 | 1 | 2002 | Extended Static Checking for Java · PLDI 2002 |
Compilers and program optimization › intermediate representation › bytecode
java bytecode |
0.0 | 1 | 1999 | A Type System for Java Bytecode Subroutines · ACM Trans. Program. Lang. Syst. 1999 |
Information retrieval
search engines |
0.0 | 1 | 2006 | Parallel programming in modern web search engines · PPoPP 2006 |
Information retrieval
personal information management |
0.0 | 1 | 2004 | The Bloomba Personal Content Database · VLDB 2004 |
Program verification
modular reasoning |
0.0 | 1 | 1995 | Modular Reasoning in the Presence of Subclassing · OOPSLA 1995 |
Programming languages and type systems
object-oriented programming |
0.0 | 1 | 1995 | Modular Reasoning in the Presence of Subclassing · OOPSLA 1995 |
Programming languages and type systems › inheritance
subclassing |
0.0 | 1 | 1995 | Modular Reasoning in the Presence of Subclassing · OOPSLA 1995 |
Automated reasoning and model checking
theorem proving |
0.0 | 1 | 2002 | Extended Static Checking for Java · PLDI 2002 |
Requirements engineering and software design
software architecture |
0.0 | 1 | 1995 | Modular Reasoning in the Presence of Subclassing · OOPSLA 1995 |
Requirements engineering and software design
specification |
0.0 | 1 | 1995 | Modular Reasoning in the Presence of Subclassing · OOPSLA 1995 |
Methods — techniques the papers use, named apart from their topics
precomputation · 0.4polynomial-time algorithm · 0.4candidate ordering · 0.4theorem proving · 0.1annotation language · 0.1typing rules · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2011 | Efficient online ad serving in a display advertising exchangeabstractWe introduce and formalize a novel constrained path optimization problem that is the heart of the real-time ad serving task in the Yahoo! (formerly RightMedia) Display Advertising Exchange. In the Exchange, the ad server's task for each display opportunity is to compute, with low latency, an optimal valid path through a directed graph representing the business arrangements between the hundreds of thousands of business entities that are participating in the Exchange. These entities include not only publishers and advertisers, but also intermediate entities called "ad networks" which have delegated their ad serving responsibilities to the Exchange. Path optimality is determined by the payment to the publisher, and is affected by an advertiser's bid and also by the revenue-sharing agreements between the entities in the chosen path leading back to the publisher. Path validity is determined by constraints which focus on the following three issues: 1) suitability of the opportunity's web page and its publisher 2)suitability of the user who is currently viewing that web page, and 3) suitability of a candidate ad and its advertiser. Because the Exchange's constrained path optimization task is novel, there are no published algorithms for it. This paper describes two different algorithms that have both been successfully used in the actual Yahoo! ad server. The first algorithm has the advantage of being extremely simple, while the second is more robust thanks to its polynomial worst-case running time. In both cases, meeting latency caps has required that the basic algorithms be improved by optimizations; we will describe a candidate ordering scheme and a pre-computation scheme that have both been effective in reducing latency in the real ad serving system that serves over ten billion ad calls per day. Kevin J. Lang, Joaquin Delgado, Dongming Jiang, Bhaskar Ghosh, Shirshanka Das, Amita Gajewar, Swaroop Jagadish, Arathi Seshan, Chavdar Botev, Michael Ortega-Binderberger, Sunil Nagaraj, Raymie Stata |
WSDM | 12 |
| 2006 | Parallel programming in modern web search enginesabstractWhen a Search Engine responds to your query, thousands of machines from around the world have cooperated to produce your result. With a global reach of hundreds-of-millions of users, Search Engines are arguably the most commonly used massively-parallel computing systems on the planet.In this talk, we examine Web Search Engines as a case study of parallel programming in a practical context. We focus primarily on the practice of parallel programming, reviewing many ways in which parallel programming is used in a modern Search Engine. We also discuss briefly the principles of parallel programming, listing some of the principles that guide our use of parallelism and speculating a bit on how the mechanics of parallelism might better be automated in our context. Raymie Stata |
PPoPP | 1 |
| 2004 | The Bloomba Personal Content Database
Raymie Stata, Patrick Hunt, Thiruvalluvan M. G. |
VLDB | 1 |
| 2002 | The Link Database: Fast Access to Graphs of the WebabstractThe Connectivity Server is a special-purpose database whose schema models the Web as a graph: a set of nodes (URL) connected by directed edges (hyperlinks). The Link Database provides fast access to the hyperlinks. To support easy implementation of a wide range of graph algorithms we have found it important to fit the Link Database into RAM. In the first version of the Link Database, we achieved this fit by using machines with lots of memory (8 GB), and storing each hyperlink in 32 bits. However, this approach was limited to roughly 100 million Web pages. This paper presents techniques to compress the links to accommodate larger graphs. Our techniques combine well-known compression methods with methods that depend on the properties of the Web graph. The first compression technique takes advantage of the fact that most hyperlinks on most Web pages point to other pages on the same host as the page itself. The second technique takes advantage of the fact that many pages on the same host share hyperlinks, that is, they tend to point to a common set of pages. Together, these techniques reduce space requirements to under 6 bits per link. While (de)compression adds latency to the hyperlink access time, we can still compute the strongly connected components of a 6 billion-edge graph in 22 minutes and run applications such as Kleinberg's HITS in real time. This paper describes our techniques for compressing the Link Database, and provides performance numbers for compression ratios and decompression speed. Keith H. Randall, Raymie Stata, Janet L. Wiener, Rajiv Wickremesinghe |
DCC | 2 |
| 2002 | Extended Static Checking for JavaabstractSoftware development and maintenance are costly endeavors. The cost can be reduced if more software defects are detected earlier in the development cycle. This paper introduces the Extended Static Checker for Java (ESC/Java), an experimental compile-time program checker that finds common programming errors. The checker is powered by verification-condition generation and automatic theorem-proving techniques. It provides programmers with a simple annotation language with which programmer design decisions can be expressed formally. ESC/Java examines the annotated software and warns of inconsistencies between the design decisions recorded in the annotations and the actual code, and also warns of potential runtime errors in the code. This paper gives an overview of the checker architecture and annotation language and describes our experience applying the checker to tens of thousands of lines of Java programs. Cormac Flanagan, K. Rustan M. Leino, Mark Lillibridge, Greg Nelson, James B. Saxe, Raymie Stata |
PLDI | 6 |
| 2000 | Graph structure in the Web
Andrei Z. Broder, Ravi Kumar 0001, Farzin Maghoul, Prabhakar Raghavan, Sridhar Rajagopalan, Raymie Stata, Andrew Tomkins, Janet L. Wiener |
Comput. Networks | 6 |
| 2000 | The Term Vector Database: fast access to indexing terms for Web pages
Raymie Stata, Krishna Bharat, Farzin Maghoul |
Comput. Networks | 1 |
| 1999 | Virginity: A Contribution to the Specification of Object-Oriented Software
K. Rustan M. Leino, Raymie Stata |
Inf. Process. Lett. | 2 |
| 1999 | A Type System for Java Bytecode SubroutinesabstractJava is typically compiled into an intermediate language, JVML, that is interpreted by the Java Virtual Machine. Because mobile JVML code is not always trusted, a bytecode verifier enforces static constraints that prevent various dynamic errors. Given the importance of the bytecode verifier for security, its current descriptions are inadequate. This article proposes using typing rules to describe the bytecode verifier because they are more precise than prose, clearer than code, and easier to reason about than either. JVML has a subroutine construct which is used for the compilation of Java's try-finally statement. Subroutines are a major source of complexity for the bytecode verifier because they are not obviously last-in/first-out and because they require a kind of polymorphism. Focusing on subroutines, we isolate an interesting, small subset of JVML. We give typing rules for this subset and prove their correctness. Our type system constitutes a sound basis for bytecode verification and a rational reconstruction of a delicate part of Sun's bytecode verifier. Raymie Stata, Martín Abadi |
ACM Trans. Program. Lang. Syst. | 1 |
| 1998 | A Type System for Java Bytecode SubroutinesabstractJava is typically compiled into an intermediate language, JVML, that is interpreted by the Java Virtual Machine. Because mobile JVML code is not always trusted, a bytecode verifier enforces static constraints that prevent various dynamic errors. Given the importance of the bytecode verifier for security, its current descriptions are inadequate. This paper proposes using typing rules to describe the bytecode verifier because they are more precise than prose, clearer than code, and easier to reason about than either.JVML has a subroutine construct used for the compilation of Java's try-finally statement. Subroutines are a major source of complexity for the bytecode verifier because they are not obviously last-in/first-out and because they require a kind of polymorphism. Focusing on subroutines, we isolate an interesting, small subset of JVML. We give typing rules for this subset and prove their correctness. Our type system constitutes a sound basis for bytecode verification and a rational reconstruction of a delicate part of Sun's bytecode verifier. Raymie Stata, Martín Abadi |
POPL | 1 |
| 1998 | Secure Web Tunneling
Martín Abadi, Andrew Birrell, Raymie Stata, Edward Wobber |
Comput. Networks | 3 |
| 1995 | Modular Reasoning in the Presence of SubclassingabstractConsiderable progress has been made in understanding how to use subtyping in a way that facilitates modular reasoning. However, using subclassing in a way that facilitates modular reasoning is not well understood. Often methods must be overriden as a group because of dependencies on instance variables, and the programmers of subclasses cannot tell which methods are grouped without looking at the code of superclasses. Also, the programmers of subclasses must look at the code of superclasses to tell what assumptions inherited methods make about the behavior of overriden methods.We present a systematic way to use subclassing that facilitates formal and informal modular reasoning. Separate specifications are given to programmers writing code that manipulates instances of a class and to programmers writing subclasses of the class. The specifications given to programmers of subclasses are divided, by division of labor specifications, into multiple parts. Subclasses may inherit or override entire parts, but not sub-parts. Reasoning about the implementation of each part is done independently of other parts. Raymie Stata, John V. Guttag |
OOPSLA | 1 |