Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.

Hiralal Agrawal

dblp:62/5462 · DBLP profile ↗
← Back
8ranked-venue papers
6as first author
0since 2021 · last 2006
—ORCID · none

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

Software engineering, systems software and programming languages · 8 · 6 first-authorApplied, interdisciplinary, general and emerging computing · 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
3 papers
Program analysis · 34% Software testing · 25% Compilers and program optimization · 22%

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

TopicWeightPapersLastEvidence papers
Software testing › test coverage
coverage-based testing
0.011994
Dominators, Super Blocks, and Program Coverage · POPL 1994
Compilers and program optimization › dependence analysis
program dependence graph
0.011994
On Slicing Programs with Jump Statements · PLDI 1994
Program analysis › static analysis
program slicing
0.011994
On Slicing Programs with Jump Statements · PLDI 1994
Program analysis › dynamic analysis
dynamic slicing
0.011990
Dynamic Program Slicing · PLDI 1990
Debugging and program repair
fault localization
0.011990
Dynamic Program Slicing · PLDI 1990
Software maintenance and evolution
program comprehension
0.011994
On Slicing Programs with Jump Statements · PLDI 1994
Software testing
test adequacy
0.011990
Dynamic Program Slicing · PLDI 1990

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

super blocks · 0.0program dependence graph · 0.0dominator analysis · 0.0control flow graph · 0.0reduced dynamic dependence graph · 0.0dynamic dependence graphs · 0.0
YearPublicationVenuePosition
2006 Generating Domain Specific Graphical Modeling Editors from Meta Models
abstract
We describe an approach for automatically generating application aware graphical modeling environments from the meta-model specification of an application domain. A generated graphical modeling environment: a) provides domain-specific graphical metaphors in the modeling palette, b) imposes domain-specific modeling constraints to prevent semantically incorrect models, and c) provides domain-specific operators and languages to capture application domain constraints. The domain meta-model is specified using a meta-model which is an extension of the UML meta-model. One of the major advantage of using application domain-specific modeling environment is to make it easy for business analyst to create semantically correct models. We use UML2.0 to specify the domain metamodel. The advantage of using UML2.0 representation is the reuse of vendor-supported technologies including MDA tools. An implementation using the Eclipse framework is also discussed
Rabih Zbib, Ashish Jain, Devasis Bassu, Hiralal Agrawal
COMPSAC (1)4
1997 A study of effective regression testing in practice
abstract
The purpose of regression testing is to ensure that changes made to software, such as adding new features or modifying existing features, have not adversely affected features of the software that should not change. Regression testing is usually performed by running some, or all, of the test cases created to test modifications in previous versions of the software. Many techniques have been reported on how to select regression tests so that the number of test cases does not grow too large as the software evolves. Our proposed hybrid technique combines modification, minimization and prioritization-based selection using a list of source code changes and the execution traces from test cases run on previous versions. This technique seeks to identify a representative subset of all test cases that may result in different output behavior on the new software version. We report our experience with a tool called ATAC (Automatic Testing Analysis tool in C) which implements this technique.
W. Eric Wong, Joseph Robert Horgan, Saul London, Hiralal Agrawal
ISSRE4
1995 Fault localization using execution slices and dataflow tests
abstract
Finding a fault in a program is a complex process which involves understanding the program's purpose, structure, semantics, and the relevant characteristics of failure producing tests. We describe a tool which supports execution slicing and dicing based on test cases. We report the results of an experiment that uses heuristic techniques in fault localization.
Hiralal Agrawal, Joseph Robert Horgan, Saul London, W. Eric Wong
ISSRE1
1994 On Slicing Programs with Jump Statements
abstract
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.
Hiralal Agrawal
PLDI1
1994 Dominators, Super Blocks, and Program Coverage
abstract
In this paper we present techniques to find subsets of nodes of a flowgraph that satisfy the following property: A test set that exercises all nodes in a subset exercises all nodes in the flowgraph. Analogous techniques to find subsets of edges are also proposed. These techniques may be used to significantly reduce the cost of coverage testing of programs. A notion of a super block consisting of one or more basic blocks in that super block must be exercised by the same input. Dominator relationships among super blocks are used to identify a subset of the super blocks whose coverage implies that of all super blocks and, in turn, that of all basic blocks. Experiments with eight systems in the range of 1-75K lines of code show that, on the average, test cases targeted to cover just 29% of the basic blocks and 32% of the branches ensure 100% block and branch coverage, respectively.
Hiralal Agrawal
POPL1
1993 Incremental Regression Testing
abstract
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.>
Hiralal Agrawal, Joseph Robert Horgan, Edward W. Krauser, Saul London
ICSM1
1993 Debugging with Dynamic Slicing and Backtracking
abstract
Abstract 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. In this paper we present a debugging model, based on dynamic program slicing and execution backtracking techniques, that easily lends itself to automation. This model is based on experience with using these techniques to debug software. We also present a prototype debugging tool, SPYDER, that explicitly supports the proposed model, and with which we are performing further debugging research.
Hiralal Agrawal, Richard A. DeMillo, Eugene H. Spafford
Softw. Pract. Exp.1
1990 Dynamic Program Slicing
abstract
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.
Hiralal Agrawal, Joseph Robert Horgan
PLDI1