John Kodumal

dblp:00/5410 · DBLP profile ↗
← Back
5ranked-venue papers
3as 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 · 5 · 3 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.

Software engineering, system software, and programming languages
4 papers
Program analysis · 65% Programming languages and type systems · 25% Program verification · 10%
Network and information security
1 paper
Systems and software security · 100%

Topics — the 14 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis › constraint solving
set constraints
0.122007
Regularly annotated set constraints · PLDI 2007
The set constraint/CFL reachability connection in practice · PLDI 2004
Program analysis › static analysis
constraint-based analysis
0.112007
Regularly annotated set constraints · PLDI 2007
Program verification
model checking
0.112007
Regularly annotated set constraints · PLDI 2007
Program analysis
static analysis
0.112006
Flow-insensitive type qualifiers · ACM Trans. Program. Lang. Syst. 2006
Programming languages and type systems › type systems › refinement types
type qualifiers
0.112006
Flow-insensitive type qualifiers · ACM Trans. Program. Lang. Syst. 2006
Program analysis › type-based analysis
type qualifier inference
0.112006
Flow-insensitive type qualifiers · ACM Trans. Program. Lang. Syst. 2006
Programming languages and type systems
type systems
0.112006
Flow-insensitive type qualifiers · ACM Trans. Program. Lang. Syst. 2006
Program analysis
CFL-reachability
0.012004
The set constraint/CFL reachability connection in practice · PLDI 2004
Program analysis › CFL-reachability
dyck reachability
0.012004
The set constraint/CFL reachability connection in practice · PLDI 2004
Program analysis › static analysis
pointer analysis
0.012003
Checking and inferring local non-aliasing · PLDI 2003
Programming languages and type systems › computational effects
type and effect systems
0.012003
Checking and inferring local non-aliasing · PLDI 2003
Programming languages and type systems › information flow control
type-based flow analysis
0.012007
Regularly annotated set constraints · PLDI 2007
Systems and software security
vulnerability discovery
0.012006
Flow-insensitive type qualifiers · ACM Trans. Program. Lang. Syst. 2006
Program analysis › data flow analysis
flow-sensitive analysis
0.012003
Checking and inferring local non-aliasing · PLDI 2003

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

visualization · 0.1type inference · 0.1regular language reachability · 0.1context-free-language reachability · 0.1type and effect system · 0.0constraint-based inference · 0.0
YearPublicationVenuePosition
2007 Regularly annotated set constraints
abstract
A general class of program analyses area combination of context-free and regular language reachability. We define regularly annotated set constraints, a constraint formalism that captures this class. Our results extend the class of reachability problems expressible naturally in a single constraint formalism, including such diverse applications as interprocedural dataflow analysis, precise type-based flow analysis, and pushdown model checking.
John Kodumal, Alex Aiken
PLDI1
2006 Flow-insensitive type qualifiers
abstract
We describe flow-insensitive type qualifiers, a lightweight, practical mechanism for specifying and checking properties not captured by traditional type systems. We present a framework for adding new, user-specified type qualifiers to programming languages with static type systems, such as C and Java. In our system, programmers add a few type qualifier annotations to their program, and automatic type qualifier inference determines the remaining qualifiers and checks the annotations for consistency. We describe a tool CQual for adding type qualifiers to the C programming language. Our tool CQual includes a visualization component for displaying browsable inference results to the programmer. Finally, we present several experiments using our tool, including inferring const qualifiers, finding security vulnerabilities in several popular C programs, and checking initialization data usage in the Linux kernel. Our results suggest that inference and visualization make type qualifiers lightweight, that type qualifier inference scales to large programs, and that type qualifiers are applicable to a wide variety of problems.
Jeffrey S. Foster, John Kodumal, Alex Aiken
ACM Trans. Program. Lang. Syst.3
2005 Banshee: A Scalable Constraint-Based Analysis Toolkit
John Kodumal, Alex Aiken
SAS1
2004 The set constraint/CFL reachability connection in practice
abstract
Many program analyses can be reduced to graph reachability problems involving a limited form of context-free language reachability called Dyck-CFL reachability. We show a new reduction from Dyck-CFL reachability to set constraints that can be used in practice to solve these problems. Our reduction is much simpler than the general reduction from context-free language reachability to set constraints. We have implemented our reduction on top of a set constraints toolkit and tested its performance on a substantial polymorphic flow analysis application.
John Kodumal, Alex Aiken
PLDI1
2003 Checking and inferring local non-aliasing
abstract
In prior work [15] we studied a language construct restrict that allows programmers to specify that certain pointers are not aliased to other pointers used within a lexical scope. Among other applications, programming with these constructs helps program analysis tools locally recover strong updates, which can improve the tracking of state in flow-sensitive analyses. In this paper we continue the study of restrict and introduce the construct confine. We present a type and effect system for checking the correctness of these annotations, and we develop efficient constraint-based algorithms implementing these type checking systems. To make it easier to use restrict and confine in practice, we show how to automatically infer such annotations without programmer assistance. In experiments on locking in 589 Linux device drivers, confine inference can automatically recover strong updates to eliminate 95% of the type errors resulting from weak updates.
Alex Aiken, Jeffrey S. Foster, John Kodumal, Tachio Terauchi
PLDI3