Demo Data from EDBT 2026 / reviewers in the wild / expert
Mohan Dhawan
dblp:09/4218
· DBLP profile ↗
16ranked-venue papers
4as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 7 · 1 first-authorSecurity and privacy · 5 · 2 first-authorComputer networks · 4 · 1 first-authorSystems, architecture and hardware · 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.
| Network and information security
6 papers |
Systems and software security · 30% Blockchain and cryptocurrency security · 29% Network security · 21% | |
| Software engineering, system software, and programming languages
5 papers |
Program analysis · 26% Software maintenance and evolution · 17% Software testing · 17% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Distributed systems · 45% Electronic design automation · 36% Cloud and datacenter computing · 19% | |
| Computer networks
3 papers |
Software-defined and programmable networks · 50% Network measurement and analytics · 24% Internet of things and sensor networks · 16% |
Topics — the 27 heaviest of 31, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Blockchain and cryptocurrency security
blockchain applications |
0.3 | 1 | 2018 | Blockchain-based real-time cheat prevention and robustness for multi-player online games · CoNEXT 2018 |
Network security › attack resilience › attack mitigation
denial-of-service defense |
0.3 | 1 | 2018 | Blockchain-based real-time cheat prevention and robustness for multi-player online games · CoNEXT 2018 |
Systems and software security › program analysis
static analysis of smart contracts |
0.3 | 1 | 2018 | ZEUS: Analyzing Safety of Smart Contracts · NDSS 2018 |
Distributed systems
fault tolerance |
0.3 | 2 | 2016 | Hansel: diagnosing faults in openStack · CoNEXT 2015 GRETEL: Lightweight Fault Localization for OpenStack · CoNEXT 2016 |
Distributed systems
root cause analysis |
0.3 | 2 | 2016 | Hansel: diagnosing faults in openStack · CoNEXT 2015 GRETEL: Lightweight Fault Localization for OpenStack · CoNEXT 2016 |
Software maintenance and evolution › software compatibility
library version compatibility |
0.2 | 1 | 2016 | POLLUX: safely upgrading dependent application libraries · SIGSOFT FSE 2016 |
Software testing
regression testing |
0.2 | 1 | 2016 | POLLUX: safely upgrading dependent application libraries · SIGSOFT FSE 2016 |
Cloud and datacenter computing
cloud management |
0.2 | 1 | 2016 | GRETEL: Lightweight Fault Localization for OpenStack · CoNEXT 2016 |
Electronic design automation › hardware test
fault localization |
0.2 | 1 | 2016 | GRETEL: Lightweight Fault Localization for OpenStack · CoNEXT 2016 |
Software-defined and programmable networks › SDN security
attack detection |
0.2 | 1 | 2015 | SPHINX: Detecting Security Attacks in Software-Defined Networks · NDSS 2015 |
Software-defined and programmable networks
SDN security |
0.2 | 1 | 2015 | SPHINX: Detecting Security Attacks in Software-Defined Networks · NDSS 2015 |
Systems and software security
memory safety |
0.2 | 1 | 2015 | CLOTHO: saving programs from malformed strings and incorrect string-handling · ESEC/SIGSOFT FSE 2015 |
Debugging and program repair
automated program repair |
0.2 | 1 | 2015 | CLOTHO: saving programs from malformed strings and incorrect string-handling · ESEC/SIGSOFT FSE 2015 |
Electronic design automation › hardware verification and test
fault diagnosis |
0.2 | 1 | 2015 | Hansel: diagnosing faults in openStack · CoNEXT 2015 |
Program verification › dynamic verification › runtime verification
runtime enforcement |
0.2 | 1 | 2014 | Efficient runtime-enforcement techniques for policy weaving · SIGSOFT FSE 2014 |
Internet of things and sensor networks › wireless sensor network › network diagnosis
network performance diagnosis |
0.1 | 1 | 2012 | Fathom: a browser-based network measurement platform · Internet Measurement Conference 2012 |
Program analysis
dynamic analysis |
0.1 | 2 | 2016 | POLLUX: safely upgrading dependent application libraries · SIGSOFT FSE 2016 Efficient runtime-enforcement techniques for policy weaving · SIGSOFT FSE 2014 |
Operating systems › extensible operating systems
exokernel |
0.1 | 1 | 2011 | Atlantis: robust, extensible execution environments for web applications · SOSP 2011 |
Blockchain and cryptocurrency security
smart contract security |
0.1 | 1 | 2018 | ZEUS: Analyzing Safety of Smart Contracts · NDSS 2018 |
Authentication and access control
access control |
0.1 | 1 | 2008 | Enforcing authorization policies using transactional memory introspection · CCS 2008 |
Authentication and access control › access control
authorization policy enforcement |
0.1 | 1 | 2008 | Enforcing authorization policies using transactional memory introspection · CCS 2008 |
Authentication and access control › access control policy › access control policy enforcement
reference monitor |
0.1 | 1 | 2008 | Enforcing authorization policies using transactional memory introspection · CCS 2008 |
Network security › intrusion detection and prevention
intrusion detection |
0.1 | 1 | 2015 | SPHINX: Detecting Security Attacks in Software-Defined Networks · NDSS 2015 |
Program analysis
static analysis |
0.1 | 1 | 2014 | Efficient runtime-enforcement techniques for policy weaving · SIGSOFT FSE 2014 |
Internet architecture and protocols › world wide web
HTTP performance |
0.0 | 1 | 2012 | Fathom: a browser-based network measurement platform · Internet Measurement Conference 2012 |
Internet architecture and protocols › world wide web
web protocols |
0.0 | 1 | 2012 | Fathom: a browser-based network measurement platform · Internet Measurement Conference 2012 |
Concurrent programming › transactional memory
software transactional memory |
0.0 | 1 | 2008 | Enforcing authorization policies using transactional memory introspection · CCS 2008 |
Methods — techniques the papers use, named apart from their topics
static analysis · 0.8patch generation · 0.4dynamic analysis · 0.4real-time state verification · 0.3peer consensus · 0.3operational fingerprinting · 0.2non-intrusive system monitoring · 0.2narrow API · 0.2execution trace comparison · 0.2composition · 0.2binary analysis · 0.2transactional introspection · 0.2static rewriting · 0.2statement indirection · 0.2javascript measurement primitives · 0.1firefox extension · 0.1transactional memory introspection · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Blockchain-based real-time cheat prevention and robustness for multi-player online gamesabstractThe gaming industry is affected by two key issues---cheating and DDoS attacks against game servers. In this paper, we aim to present a novel yet concrete application of the blockchain technology to address the seemingly disparate problems. Our approach uses blockchain to manage definitive game state and exploits peer consensus on every player action to track modifications to tangible player assets. While a key impediment to adopting blockchain for real-time systems is its high per-operation latency, our approach leverages several optimizations to enable real-time prevention of a large class of cheats where the reported client state is inconsistent with the observed state at the server. Further, blockchain-based games leverage the robust peer-to-peer architecture to successfully defend against DDoS attacks. Sukrit Kalra, Rishabh Sanghi, Mohan Dhawan |
CoNEXT | 3 |
| 2018 | ZEUS: Analyzing Safety of Smart Contracts
Sukrit Kalra, Seep Goel, Mohan Dhawan, Subodh Sharma 0001 |
NDSS | 3 |
| 2016 | GRETEL: Lightweight Fault Localization for OpenStackabstractLike any other distributed system, cloud management stacks such as OpenStack, are susceptible to faults whose root cause is often hard to diagnose and may take hours or days to fix. We present GRETEL, a system that leverages non-intrusive system monitoring, to expedite root cause analysis of both operational and performance faults manifesting in OpenStack operations. GRETEL uses unique operational fingerprints to quickly identify faulty operations at runtime. GRETEL is accurate in its diagnosis, and achieves >98% precision in identifying the faulty operation with very few false positives and negatives even under conditions of stress. GRETEL is lightweight and orders of magnitude faster than prior work, sustaining a throughput of ~77 Mbps. Ayush Goel, Sukrit Kalra, Mohan Dhawan |
CoNEXT | 3 |
| 2016 | JURY: Validating Controller Actions in Software-Defined NetworksabstractSoftware-defined networks (SDNs) only logically centralize the control plane. In reality, SDN controllers are distributed entities, which may exhibit different behavior on event triggers. We identify several classes of faults that afflict an SDN controller cluster and demonstrate them on two enterprise SDN controllers, ONOS and OpenDaylight. We present JURY, a system to validate controller activities in a clustered SDN deployment, involving topological and forwarding state, without imposing any restrictions on the controller behavior. Our evaluation shows that JURY requires minimal changes to the SDN controllers for deployment, and is capable of validating controller actions in near real time with low performance overheads. Kshiteej Mahajan, Rishabh Poddar, Mohan Dhawan, Vijay Mann |
DSN | 3 |
| 2016 | POLLUX: safely upgrading dependent application librariesabstractSoftware evolution in third-party libraries across version upgrades can result in addition of new functionalities or change in existing APIs. As a result, there is a real danger of impairment of backward compatibility. Application developers, therefore, must keep constant vigil over library enhancements to ensure application consistency, i.e., application retains its semantic behavior across library upgrades. In this paper, we present the design and implementation of POLLUX, a framework to detect application-affecting changes across two versions of the same dependent non-adversarial library binary, and provide feedback on whether the application developer should link to the newer version or not. POLLUX leverages relevant application test cases to drive execution through both versions of the concerned library binary, records all concrete effects on the environment, and compares them to determine semantic similarity across the same API invocation for the two library versions. Our evaluation with 16 popular, open-source library binaries shows that POLLUX is accurate with no false positives and works across compiler optimizations. Sukrit Kalra, Ayush Goel, Dhriti Khanna, Mohan Dhawan, Subodh Sharma 0001, Rahul Purandare |
SIGSOFT FSE | 4 |
| 2015 | Hansel: diagnosing faults in openStackabstractWith majority of the world's data and computation handled by cloud-based systems, cloud management stacks such as Apache's CloudStack, VMware's vSphere and OpenStack have become an increasingly important component in cloud software. However, like every other complex distributed system, these cloud stacks are susceptible to faults, whose root cause is often hard to diagnose. We present HANSEL, a system that leverages non-intrusive network monitoring to expedite root cause analysis of such faults manifesting in OpenStack operations. HANSEL is fast and accurate, and precise even under conditions of stress. Dhruv Sharma, Rishabh Poddar, Kshiteej Mahajan, Mohan Dhawan, Vijay Mann |
CoNEXT | 4 |
| 2015 | SPHINX: Detecting Security Attacks in Software-Defined Networks
Mohan Dhawan, Rishabh Poddar, Kshiteej Mahajan, Vijay Mann |
NDSS | 1 |
| 2015 | CLOTHO: saving programs from malformed strings and incorrect string-handlingabstractSoftware is susceptible to malformed data originating from untrusted sources. Occasionally the programming logic or constructs used are inappropriate to handle the varied constraints imposed by legal and well-formed data. Consequently, softwares may produce unexpected results or even crash. In this paper, we present CLOTHO, a novel hybrid approach that saves such softwares from crashing when failures originate from malformed strings or inappropriate handling of strings. CLOTHO statically analyses a program to identify statements that are vulnerable to failures related to associated string data. CLOTHO then generates patches that are likely to satisfy constraints on the data, and in case of failures produces program behavior which would be close to the expected. The precision of the patches is improved with the help of a dynamic analysis. We have implemented CLOTHO for the JAVA String API, and our evaluation based on several popular open-source libraries shows that CLOTHO generates patches that are semantically similar to the patches generated by the programmers in the later versions. Additionally, these patches are activated only when a failure is detected, and thus CLOTHO incurs no runtime overhead during normal execution, and negligible overhead in case of failures. Aritra Dhar, Rahul Purandare, Mohan Dhawan, Suresh Rangaswamy |
ESEC/SIGSOFT FSE | 3 |
| 2014 | Retargetting Legacy Browser Extensions to Modern Extension Frameworks
Rezwana Karim, Mohan Dhawan, Vinod Ganapathy |
ECOOP | 2 |
| 2014 | Efficient runtime-enforcement techniques for policy weavingabstractPolicy weaving is a program-transformation technique that rewrites a program so that it is guaranteed to be safe with respect to a stateful security policy. It utilizes (i) static analysis to identify points in the program at which policy violations might occur, and (ii) runtime checks inserted at such points to monitor policy state and prevent violations from occurring. The promise of policy weaving stems from the possibility of blending the best aspects of static and dynamic analysis components. Therefore, a successful instantiation of policy weaving requires a careful balance and coordination between the two. In this paper, we examine the strategy of using a combination of transactional introspection and statement indirection to implement runtime enforcement in a policy-weaving system. Transactional introspection allows the state resulting from the execution of a statement to be examined and, if the policy would be violated, suppressed. Statement indirection serves as a light-weight runtime analysis that can recognize and instrument dynamically generated code that is not available to the static analysis. These techniques can be implemented via static rewriting so that all possible program executions are protected against policy violations. We describe our implementation of transactional introspection and statement indirection for policy weaving, and report experimental results that show the viability of the approach in the context of real-world JavaScript programs executing in a browser. Richard Joiner, Thomas W. Reps, Somesh Jha, Mohan Dhawan, Vinod Ganapathy |
SIGSOFT FSE | 4 |
| 2012 | Enhancing JavaScript with Transactions
Mohan Dhawan, Chung-chieh Shan, Vinod Ganapathy |
ECOOP | 1 |
| 2012 | An Analysis of the Mozilla Jetpack Extension Framework
Rezwana Karim, Mohan Dhawan, Vinod Ganapathy, Chung-chieh Shan |
ECOOP | 2 |
| 2012 | Fathom: a browser-based network measurement platformabstractFor analyzing network performance issues, there can be great utility in having the capability to measure directly from the perspective of end systems. Because end systems do not provide any external programming interface to measurement functionality, obtaining this capability today generally requires installing a custom executable on the system, which can prove prohibitively expensive. In this work we leverage the ubiquity of web browsers to demonstrate the possibilities of browsers themselves offering such a programmable environment. We present Fathom, a Firefox extension that implements a number of measurement primitives that enable websites or other parties to program network measurements using JavaScript. Fathom is lightweight, imposing < 3.2% overhead in page load times for popular web pages, and often provides 1 ms timestamp accuracy. We demonstrate Fathom's utility with three case studies: providing a JavaScript version of the Netalyzr network characterization tool, debugging web access failures, and enabling web sites to diagnose performance problems of their clients. Mohan Dhawan, Justin Samuel, Renata Teixeira, Christian Kreibich, Mark Allman, Nicholas Weaver, Vern Paxson |
Internet Measurement Conference | 1 |
| 2011 | Atlantis: robust, extensible execution environments for web applicationsabstractToday's web applications run inside a complex browser environment that is buggy, ill-specified, and implemented in different ways by different browsers. Thus, web applications that desire robustness must use a variety of conditional code paths and ugly hacks to deal with the vagaries of their runtime. Our new exokernel browser, called Atlantis, solves this problem by providing pages with an extensible execution environment. Atlantis defines a narrow API for basic services like collecting user input, exchanging network data, and rendering images. By composing these primitives, web pages can define custom, high-level execution environments. Thus, an application which does not want a dependence on Atlantis'predefined web stack can selectively redefine components of that stack, or define markup formats and scripting languages that look nothing like the current browser runtime. Unlike prior microkernel browsers like OP, and unlike compile-to-JavaScript frameworks like GWT, Atlantis is the first browsing system to truly minimize a web page's dependence on black box browser code. This makes it much easier to develop robust, secure web applications. James W. Mickens, Mohan Dhawan |
SOSP | 2 |
| 2009 | Analyzing Information Flow in JavaScript-Based Browser ExtensionsabstractJavaScript-based browser extensions (JSEs) enhance the core functionality of Web browsers by improving their look and feel, and are widely available for commodity browsers. To enable a rich set of functionalities, browsers typically execute JSEs with elevated privileges. For example, unlike JavaScript code in a Web application, code in a JSE is not constrained by the same-origin policy. Malicious JSEs can misuse these privileges to compromise confidentiality and integrity, e.g., by stealing sensitive information, such as cookies and saved passwords, or executing arbitrary code on the host system. Even if a JSE is not overtly malicious, vulnerabilities in the JSE and the browser may allow a remote attacker to compromise browser security. We present Sabre (Security Architecture for Browser Extensions), a system that uses in-browser information-flow tracking to analyze JSEs. Sabre associates a label with each in-memory JavaScript object in the browser, which determines whether the object contains sensitive information. Sabre propagates labels as objects are modified by the JSE and passed between browser subsystems. Sabre raises an alert if an object containing sensitive information is accessed in an unsafe way, e.g., if a JSE attempts to send the object over the network or write it to a file. We implemented Sabre by modifying the Firefox browser and evaluated it using both malicious JSEs as well as benign ones that contained exploitable vulnerabilities. Our experiments show that Sabre can precisely identify potential information flow violations by JSEs. Mohan Dhawan, Vinod Ganapathy |
ACSAC | 1 |
| 2008 | Enforcing authorization policies using transactional memory introspectionabstractCorrect enforcement of authorization policies is a difficult task, especially for multi-threaded software. Even in carefully-reviewed code, unauthorized access may be possible in subtle corner cases. We introduce Transactional Memory Introspection (TMI), a novel reference monitor architecture that builds on Software Transactional Memory--a new, attractive alternative for writing correct, multi-threaded software. Arnar Birgisson, Mohan Dhawan, Úlfar Erlingsson, Vinod Ganapathy, Liviu Iftode |
CCS | 2 |