Dhananjay M. Dhamdhere

dblp:d/DMDhamdhere · DBLP profile ↗
← Back
14ranked-venue papers
11as first author
0since 2021 · last 2003
—ORCID · none

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

Software engineering, systems software and programming languages · 11 · 8 first-authorDatabases, data management, data science and information retrieval · 2 · 2 first-authorTheory of computation · 2 · 2 first-authorSystems, architecture and hardware · 1 · 1 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
6 papers
Program analysis · 70% Debugging and program repair · 18% Compilers and program optimization · 12%
Theoretical computer science
1 paper
Algorithms and data structures · 100%

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

TopicWeightPapersLastEvidence papers
Program analysis
data flow analysis
0.051994
A Generalized Theory of Bit Vector Data Flow Analysis · ACM Trans. Program. Lang. Syst. 1994
An Elimination Algorithm for Bidirectional Data Flow Problems Using Edge Placement · ACM Trans. Program. Lang. Syst. 1993
Complexity of Bidirectional Data Flow Analysis · POPL 1993
Program analysis › data flow analysis
bidirectional data flow analysis
0.041994
A Generalized Theory of Bit Vector Data Flow Analysis · ACM Trans. Program. Lang. Syst. 1994
An Elimination Algorithm for Bidirectional Data Flow Problems Using Edge Placement · ACM Trans. Program. Lang. Syst. 1993
Complexity of Bidirectional Data Flow Analysis · POPL 1993
Debugging and program repair
fault localization
0.011998
Dynamic Currency Determination in Optimized Programs · ACM Trans. Program. Lang. Syst. 1998
Compilers and program optimization › compiler optimization › redundancy elimination
partial redundancy elimination
0.021992
How to Analyze Large Programs Efficiently and Informatively · PLDI 1992
Practical Adaptation of the Global Optimization Algorithm of Morel and Renvoise · ACM Trans. Program. Lang. Syst. 1991
Program analysis › data flow analysis
iterative data flow analysis
0.011993
Complexity of Bidirectional Data Flow Analysis · POPL 1993
Debugging and program repair › software debugging
debugging optimized code
0.011998
Dynamic Currency Determination in Optimized Programs · ACM Trans. Program. Lang. Syst. 1998

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

minimal unrolled graph · 0.0data flow analysis · 0.0round-robin iterative analysis · 0.0flow graph width · 0.0elimination algorithm · 0.0edge placement · 0.0unidirectional reduction · 0.0sparse analysis · 0.0
YearPublicationVenuePosition
2003 Bidirectional data flow analysis for type inferencing
Uday P. Khedker, Dhananjay M. Dhamdhere, Alan Mycroft
Comput. Lang. Syst. Struct.2
2003 A compact execution history for dynamic slicing
Dhananjay M. Dhamdhere, K. Gururaja, Prajakta G. Ganu
Inf. Process. Lett.1
1998 Dynamic Currency Determination in Optimized Programs
abstract
Compiler optimizations pose many problems to source-level debugging of an optimized program due to reordering, insertion, and deletion of code. On such problem is to determine whether the value of a varible is current at a breakpoint—that is, whether its actual value is the same as its expected value. We use the notion of dynamic currency of a variable in source-level debugging and propose the use of a minimal unrolled graph to reduce the run-time overhead of dynamic currency determination. We prove that the minimal unrolled graph is an adequate basis for performing bit-vector data flow analyses at a breakpoint. This property is used to perform dynamic currency determination. It is also shown to help in recovery of a dynamically noncurrent variable.
Dhananjay M. Dhamdhere, K. V. Sankaranarayanan
ACM Trans. Program. Lang. Syst.1
1997 Distributed Termination Detection for Dynamic Systems
Dhananjay M. Dhamdhere, Sridhar R. Iyer, E. Kishore Kumar Reddy
Parallel Comput.1
1994 A Token Based k-Resilient Mutual Exclusion Algorithm for Distributed Systems
Dhananjay M. Dhamdhere, Sandeep S. Kulkarni
Inf. Process. Lett.1
1994 A Generalized Theory of Bit Vector Data Flow Analysis
abstract
The classical theory of data flow analysis, which has its roots in unidirectional flows, is inadequate to characterize bidirectional data flow problems. We present a generalized theory of bit vector data flow analysis which explains the known results in unidirectional and bidirectional data flows and provides a deeper insight into the process of data flow analysis. Based on the theory, we develop a worklist-based generic algorithm which is uniformly applicable to unidirectional and bidirectional data flow problems. It is simple, versatile, and easy to adapt for a specific problem. We show that the theory and the algorithm are applicable to all bounded monotone data flow problems which possess the property of the separability of solution. The theory yields valuable information about the complexity of data flow analysis. We show that the complexity of worklist-based iterative analysis is the same for unidirectional and bidirectional problems. We also define a measure of the complexity of round-robin iterative analysis. This measure, called width , is uniformly applicable to unidirectional and bidirectional problems and provides a tighter bound for unidirectional problems than the traditional measure of depth . Other applications include explanation of isolated results in efficient solution techniques and motivation of new techniques for bidirectional flows. In particular, we discuss edge splitting and edge placement and develop a feasibility criterion for decomposition of a bidirectional flow into a sequence of unidirectional flows.
Uday P. Khedker, Dhananjay M. Dhamdhere
ACM Trans. Program. Lang. Syst.2
1993 Complexity of Bidirectional Data Flow Analysis
abstract
The concept of an information flow path arising from the generalized theory of data flow analysis [21] is used to analyze the complexity of data flow analysis. The width (w) of a program flow graph with respect to a class of data flow problems is introduced as a measure of the complexity of round-robin iterative analysis. This provides the first known complexity result for round robin iterative analysis of bidirectional data flows commonly used in algorithms based on the suppression of partial redundancies [6, 7, 8, 9, 17, 18, 25]. We also show that width provides a better bound on the complexity of unidirectional data flows than the classical notion of depth.
Dhananjay M. Dhamdhere, Uday P. Khedker
POPL1
1993 An Elimination Algorithm for Bidirectional Data Flow Problems Using Edge Placement
abstract
Bidirectional data flow problems, useful in a wide range of optimizing transformations, are conventionally solved using the iterative approach.Thm paper shows that use of the edge placement technique makes bidirectional data flow problems amenable to effkient solution.An elimination algorithm for bidirectional data flow problems using edge placement is presented, and its complexity is shown to be ldentlcal to the complexity of elimination algorithms for unidirectional data flows.
Dhananjay M. Dhamdhere, Harish Patil
ACM Trans. Program. Lang. Syst.1
1992 How to Analyze Large Programs Efficiently and Informatively
abstract
Elimination of partial redundancies is a powerful optimization that has been implemented in at least three important production compilers and has inspired several similar optimizations. The global data flow analysis that supports this family of optimizations includes some bidirectional problems. (A bidirectional problem is one in which the global information at each basic block depends on both control flow predecessors and control flow successors.) This paper contributes two ways to simplify and expedite the analysis, especially for large programs. For each global data flow question, we examine only the places in the program where the question might have an answer different from a trivial default answer. In a large program, we may examine only a small fraction of the places conventional algorithms would examine. We reduce the relevant bidirectional problems to simpler unidirectional problems. These bidirectional problems can be solved by applying a quick correction to a unidirectional approximation.
Dhananjay M. Dhamdhere, Barry K. Rosen, F. Kenneth Zadeck
PLDI1
1991 Practical Adaptation of the Global Optimization Algorithm of Morel and Renvoise
abstract
We present some modifications to Morel and Renvoise's algorithm for global optimization by suppression of partial redundancies.The modifications are motivated by the desire to ( 1) eliminate redundant code motion, and (2) extend the scope of optimization to the movement of assignments.The complexity of the modified algorithm is compared with that of the original algorithm.
Dhananjay M. Dhamdhere
ACM Trans. Program. Lang. Syst.1
1990 Efficient Retargetable Code Generation Using Bottom-up Tree Pattern Matching
Arunachalam Balachandran, Dhananjay M. Dhamdhere, Supratim Biswas
Comput. Lang.2
1990 A Usually Linear Algorithm for Register Assignment Using Edge Placement of Load and Store Instructions
Dhananjay M. Dhamdhere
Comput. Lang.1
1988 Register Assignment Using Code Placement Techniques
Dhananjay M. Dhamdhere
Comput. Lang.1
1983 Characterization of Program Loops in Code Optimization
Dhananjay M. Dhamdhere, J. S. Keith
Comput. Lang.1