Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Hiralal Agrawal is active.

Publication


Featured researches published by Hiralal Agrawal.


programming language design and implementation | 1990

Dynamic program slicing

Hiralal Agrawal; Joseph Robert Horgan

Program slices are useful in debugging, testing, maintenance, and understanding of programs. The conventional notion of a program slice, the static slice, is the set of all statements that might affect the value of a given variable occurrence. In this paper, we investigate the concept of the dynamic slice consisting of all statements that actually affect the value of a variable occurrence for a given program input. The sensitivity of dynamic slicing to particular program inputs makes it more useful in program debugging and testing than static slicing. Several approaches for computing dynamic slices are examined. The notion of a Dynamic Dependence Graph and its use in computing dynamic slices is discussed. The Dynamic Dependence Graph may be unbounded in length; therefore, we introduce the economical concept of a Reduced Dynamic Dependence Graph, which is proportional in size to the number of dynamic slices arising during the program execution.


Software - Practice and Experience | 1993

Debugging with dynamic slicing and backtracking

Hiralal Agrawal; Richard A. DeMillo; Eugene H. Spafford

Programmers spend considerable time debugging code. Symbolic debuggers provide some help but the task remains complex and difficult. Other than breakpoints and tracing, these tools provide little high‐level help. Programmers must perform many tasks manually that the tools could perform automatically, such as finding which statements in the program affect the value of an output variable for a given test case, and what was the value of a given variable when the control last reached a given program location. If debugging tools provided explicit support for these tasks, the debugging process could be automated to a significant extent.


international conference on software maintenance | 1993

Incremental regression testing

Hiralal Agrawal; Joseph Robert Horgan; Edward W. Krauser; Saul London

The purpose of regression testing is to ensure that bug fixes and new functionality introduced in a new version of a software do not adversely affect the correct functionality inherited from the previous version. Efficient methods of selecting small subsets of regression test sets that can be used to ensure correct functionality are explored.<<ETX>>


programming language design and implementation | 1994

On slicing programs with jump statements

Hiralal Agrawal

Program slices have potential uses in many software engineering applications. Traditional slicing algorithms, however, do not work correctly on programs that contain explicit jump statements. Two similar algorithms were proposed recently to alleviate this problem. Both require the flowgraph and the program dependence graph of the program to be modified. In this paper, we propose an alternative algorithm that leaves these graphs intact and uses a separate graph to store the additional required information. We also show that this algorithm permits an extremely efficient, conservative adaptation for use with programs that contain only “structured” jump statements.


IEEE Computer | 1998

Mining system tests to aid software maintenance

Hiralal Agrawal; James L. Alberi; Joseph Robert Horgan; J. Jenny Li; Saul London; W.E. Wong; Sudipto Ghosh; N. Wilde

Maintainers can use information from test analysis tools to help them understand, debug, and retest programs. The authors describe techniques and tools in Bellcores /spl chi/Suds, a system for understanding and diagnosing software bugs, including Y2K problems in legacy applications.


international symposium on software testing and analysis | 1991

Dynamic slicing in the presence of unconstrained pointers

Hiralal Agrawal; Richard A. DeMillo; Eugene H. Spafford

Program slices are useful in debugging. Most work on program slicing to date has concentrated on nding slices of programs involving only scalar variables. Pointers and composite variables do not lend themselves well to static analysis, especially when the language involved is not strongly-typed. When debugging a program, however, we are interested in analyzing the program behavior for testcases that reveal a fault. In this paper, we present a uniform approach to handling pointers and composite variables such as arrays, records, and unions for the purpose of obtaining dynamic program slices. The dynamic approach proposed works well even when the language involved allows unconstrained pointers and performs no runtime checks, as in C.


Archive | 2006

Design Of Mutant Operators For The C Programming Language

Hiralal Agrawal; Richard A. DeMillo; Bob Hathaway; William Hsu; Wynne Hsu; Edward William Krauser; R. J. Martin; Aditya P. Mathur; Eugene Spafford


IEEE Software | 1991

An execution-backtracking approach to debugging

Hiralal Agrawal; R.A. De Millo; Eugene H. Spafford


Archive | 1992

Towards automatic debugging of computer programs

Hiralal Agrawal


IEEE Software | 2007

An Execution Backtracking Approach to Program Debugging

Hiralal Agrawal; Richard A. DeMillo; Eugene H. Spafford

Collaboration


Dive into the Hiralal Agrawal's collaboration.

Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Saul London

Telcordia Technologies

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Sudipto Ghosh

Colorado State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

R. J. Martin

Georgia Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge