Madhu Gopinathan

dblp:92/446 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
1since 2021 · last 2026
0009-0003-0032-8436ORCID · corroborated

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

Software engineering, systems software and programming languages · 4 · 2 first-authorDatabases, data management, data science and information retrieval · 1 · 1 since 2021Human-computer interaction and ubiquitous computing · 1 · 1 since 2021Theory 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
2 papers
Program analysis · 29% Program verification · 29% Requirements engineering and software design · 14%

Topics — the 5 heaviest of 7, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Program analysis
dynamic analysis
0.112008
Enforcing object protocols by combining static and runtime analysis · OOPSLA 2008
Programming languages and type systems › object-oriented programming
object protocols
0.112008
Enforcing object protocols by combining static and runtime analysis · OOPSLA 2008
Program verification
protocol verification
0.112008
Enforcing object protocols by combining static and runtime analysis · OOPSLA 2008
Program verification › dynamic verification
runtime verification
0.112008
Enforcing object protocols by combining static and runtime analysis · OOPSLA 2008
Program analysis
static analysis
0.112008
Enforcing object protocols by combining static and runtime analysis · OOPSLA 2008

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

static analysis · 0.1runtime analysis · 0.1
YearPublicationVenuePosition
2026 Interactive Taxonomy Development with Hybrid Methods
abstract
Taxonomies organize knowledge into hierarchical structures that support effective information seeking behaviors. However, developing taxonomies in fast-evolving domains like e-commerce remains a labor-intensive process. In this paper, we present an interactive system that assists users in expanding taxonomies through automated knowledge discovery from large text corpora. On the back end, our hybrid methods combine topic modeling and large language models (LLMs) to uncover emerging concepts, generate concise summaries, and suggest mappings to taxonomy nodes. On the front end, we develop an interactive web-based interface that supports iterative, human-in-the-loop taxonomy expansion. We demonstrate the system’s versatility through two scenarios using publicly available datasets: amplifying a preliminary taxonomy in the e-commerce domain and refining a mature taxonomy in the medical domain.
Jiaming Qu, Madhu Gopinathan, Shayan Ali Akbar, Omar Alonso
CHIIR2
2008 Conflict-Tolerant Features
Deepak D'Souza, Madhu Gopinathan
CAV2
2008 Enforcing object protocols by combining static and runtime analysis
abstract
In this paper, we consider object protocols that constrain interactions between objects in a program. Several such protocols have been proposed in the literature. For many APIs (such as JDOM, JDBC), API designers constrain how API clients interact with API objects. In practice, API clients violate such constraints, as evidenced by postings in discussion forums for these APIs. Thus, it is important that API designers specify constraints using appropriate object protocols and enforce them. The goal of an object protocol is expressed as a protocol invariant. Fundamental properties such as ownership can be expressed as protocol invariants. We present a language, PROLANG, to specify object protocols along with their protocol invariants, and a tool, INVCOP++, to check if a program satisfies a protocol invariant. INVCOP++ separates the problem of checking if a protocol satisfies its protocol invariant (called protocol correctness), from the problem of checking if a program conforms to a protocol (called program conformance). The former is solved using static analysis, and the latter using runtime analysis. Due to this separation (1) errors made in protocol design are detected at a higher level of abstraction, independent of the program's source code, and (2) performance of conformance checking is improved as protocol correctness has been verified statically. We present theoretical guarantees about the way we combine static and runtime analysis, and empirical evidence that our tool INVCOP++ finds usage errors in widely used APIs. We also show that statically checking protocol correctness greatly optimizes the overhead of checking program conformance, thus enabling API clients to test whether their programs use the API as intended by the API designer.
Madhu Gopinathan, Sriram K. Rajamani
OOPSLA1
2008 Runtime Monitoring of Object Invariants with Guarantee
Madhu Gopinathan, Sriram K. Rajamani
RV1
2006 Computing Complete Test Graphs for Hierarchical Systems
abstract
Conformance testing focuses on checking whether an implementation under test (IUT) behaves according to its specification. Typically, testers are interested in performing targeted tests that exercise certain features of the IUT. This intention is formalized as a test purpose. The tester needs a "strategy" to reach the goal specified by the test purpose. Also, for a particular test case, the strategy should tell the tester whether the IUT has passed, failed, or deviated from the test purpose. In (J. Jeron and P. Morel, 1999) Jeron and Morel show how to compute, for a given finite state machine specification and a test purpose automaton, a complete test graph (CTG) which represents all test strategies. In this paper, we consider the case when the specification is a hierarchical state machine and show how to compute a hierarchical CTG which preserves the hierarchical structure of the specification. We also propose an algorithm for an online test oracle which avoids a space overhead associated with the CTG
Deepak D'Souza, Madhu Gopinathan
SEFM2