Demo Data from VLDB 2026 / reviewers in the wild / expert
Michael C. Martin
dblp:37/2343
· DBLP profile ↗
6ranked-venue papers
2as first author
0since 2021 · last 2008
0000-0002-6611-070XORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 3 · 1 first-authorSecurity and privacy · 1 · 1 first-authorDatabases, data management, data science and information retrieval · 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 |
Program analysis · 71% Program verification · 16% Debugging and program repair · 11% | |
| Network and information security
2 papers |
Systems and software security · 100% | |
| Databases, data mining, and information retrieval
1 paper |
Query processing and optimization · 100% |
Topics — the 10 heaviest of 11, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Program analysis › static analysis
pointer analysis |
0.1 | 2 | 2005 | Context-sensitive program analysis as database queries · PODS 2005 Finding application errors and security flaws using PQL: a program query language · OOPSLA 2005 |
Systems and software security
vulnerability discovery |
0.1 | 2 | 2008 | Automatic Generation of XSS and SQL Injection Attacks with Goal-Directed Model Checking · USENIX Security Symposium 2008 Finding application errors and security flaws using PQL: a program query language · OOPSLA 2005 |
Program analysis
static analysis |
0.1 | 2 | 2005 | Finding application errors and security flaws using PQL: a program query language · OOPSLA 2005 Automatic extraction of object-oriented component interfaces · ISSTA 2002 |
Systems and software security › exploitation
automated exploit generation |
0.1 | 1 | 2008 | Automatic Generation of XSS and SQL Injection Attacks with Goal-Directed Model Checking · USENIX Security Symposium 2008 |
Program verification
automated reasoning and model checking |
0.1 | 1 | 2008 | Automatic Generation of XSS and SQL Injection Attacks with Goal-Directed Model Checking · USENIX Security Symposium 2008 |
Program analysis › static analysis › interprocedural analysis
context-sensitive analysis |
0.1 | 1 | 2005 | Context-sensitive program analysis as database queries · PODS 2005 |
Program analysis
dynamic analysis |
0.1 | 1 | 2005 | Finding application errors and security flaws using PQL: a program query language · OOPSLA 2005 |
Debugging and program repair
fault localization |
0.1 | 1 | 2005 | Finding application errors and security flaws using PQL: a program query language · OOPSLA 2005 |
Program analysis › dynamic analysis
runtime instrumentation |
0.1 | 1 | 2005 | Finding application errors and security flaws using PQL: a program query language · OOPSLA 2005 |
Requirements engineering and software design
software architecture |
0.0 | 1 | 2002 | Automatic extraction of object-oriented component interfaces · ISSTA 2002 |
Methods — techniques the papers use, named apart from their topics
model checking · 0.2program query language · 0.1flow-insensitive analysis · 0.1datalog · 0.1context-sensitive analysis · 0.1static analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | Securing web applications with static and dynamic information flow trackingabstractSQL injection and cross-site scripting are two of the most common security vulnerabilities that plague web applications today. These and many others result from having unchecked data input reach security-sensitive operations. This paper describes a language called PQL (Program Query Language) that allows users to declare to specify information flow patterns succinctly and declaratively. We have developed a static context-sensitive, but flow-insensitive information flow tracking analysis that can be used to find all the vulnerabilities in a program. In the event that the analysis generates too many warnings, the result can be used to drive a model-checking system to analyze more precisely. Model checking is also used to automatically generate the input vectors that expose the vulnerability. Any remaining behavior these static analyses have not isolated may be checked dynamically. The results of the static analyses may be used to optimize these dynamic checks. Monica S. Lam, Michael C. Martin, Benjamin Livshits, John Whaley |
PEPM | 2 |
| 2008 | Automatic Generation of XSS and SQL Injection Attacks with Goal-Directed Model Checking
Michael C. Martin, Monica S. Lam |
USENIX Security Symposium | 1 |
| 2005 | Finding application errors and security flaws using PQL: a program query languageabstractA number of effective error detection tools have been built in recent years to check if a program conforms to certain design rules. An important class of design rules deals with sequences of events asso-ciated with a set of related objects. This paper presents a language called PQL (Program Query Language) that allows programmers to express such questions easily in an application-specific context. A query looks like a code excerpt corresponding to the shortest amount of code that would violate a design rule. Details of the tar-get application's precise implementation are abstracted away. The programmer may also specify actions to perform when a match is found, such as recording relevant information or even correcting an erroneous execution on the fly.We have developed both static and dynamic techniques to find solutions to PQL queries. Our static analyzer finds all potential matches conservatively using a context-sensitive, flow-insensitive, inclusion-based pointer alias analysis. Static results are also use-ful in reducing the number of instrumentation points for dynamic analysis. Our dynamic analyzer instruments the source program to catch all violations precisely as the program runs and to optionally perform user-specified actions.We have implemented the techniques described in this paper and found 206 errors in 6 large real-world open-source Java applica-tions containing a total of nearly 60,000 classes. These errors are important security flaws, resource leaks, and violations of consis-tency invariants. The combination of static and dynamic analysis proves effective at addressing a wide range of debugging and pro-gram comprehension queries. We have found that dynamic analysis is especially suitable for preventing errors such as security vulner-abilities at runtime. Michael C. Martin, Benjamin Livshits, Monica S. Lam |
OOPSLA | 1 |
| 2005 | Context-sensitive program analysis as database queriesabstractProgram analysis has been increasingly used in software engineering tasks such as auditing programs for security vulnerabilities and finding errors in general. Such tools often require analyses much more sophisticated than those traditionally used in compiler optimizations. In particular, context-sensitive pointer alias information is a prerequisite for any sound and precise analysis that reasons about uses of heap objects in a program. Context-sensitive analysis is challenging because there are over 1014 contexts in a typical large program, even after recursive cycles are collapsed. Moreover, pointers cannot be resolved in general without analyzing the entire program. Monica S. Lam, John Whaley, Benjamin Livshits, Michael C. Martin, Dzintars Avots, Michael Carbin, Christopher Unkel |
PODS | 4 |
| 2002 | Automatic extraction of object-oriented component interfaces
John Whaley, Michael C. Martin, Monica S. Lam |
ISSTA | 2 |
| 2002 | Design, implementation and testing of extended and mixed precision BLASabstractThis article describes the design rationale, a C implementation, and conformance testing of a subset of the new Standard for the BLAS (Basic Linear Algebra Subroutines): Extended and Mixed Precision BLAS. Permitting higher internal precision and mixed input/output types and precisions allows us to implement some algorithms that are simpler, more accurate, and sometimes faster than possible without these features. The new BLAS are challenging to implement and test because there are many more subroutines than in the existing Standard, and because we must be able to assess whether a higher precision is used for internal computations than is used for either input or output variables. We have therefore developed an automated process of generating and systematically testing these routines. Our methodology is applicable to languages besides C. In particular, our algorithms used in the testing code will be valuable to all other BLAS implementors. Our extra precision routines achieve excellent performance---close to half of the machine peak Megaflop rate even for the Level 2 BLAS, when the data access is stride one. Xiaoye S. Li, James Demmel, David H. Bailey, Greg Henry, Yozo Hida, Jimmy Iskandar, William Kahan, Suh Y. Kang, Anil Kapur, Michael C. Martin, Brandon Thompson, Teresa Tung, Daniel J. Yoo |
ACM Trans. Math. Softw. | 10 |