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.
? Tutorial for this page

Sreeranga P. Rajan

dblp:21/4708 · DBLP profile ↗
← Back
16ranked-venue papers
2as first author
2since 2021 · last 2022
—ORCID · none

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

Software engineering, systems software and programming languages · 8Systems, architecture and hardware · 6 · 2 first-authorTheory of computation · 2Applied, interdisciplinary, general and emerging computing · 2 · 2 since 2021

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 verification · 41% Software testing · 28% Program analysis · 27%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
Processor architecture and microarchitecture · 88% Electronic design automation · 12%

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

TopicWeightPapersLastEvidence papers
Software testing
test generation
0.322012
GKLEE: concolic verification and test generation for GPUs · PPoPP 2012
KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs · CAV 2011
Program analysis
symbolic execution
0.222012
KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs · CAV 2011
GKLEE: concolic verification and test generation for GPUs · PPoPP 2012
Program verification › code-level verification
GPU kernel verification
0.112012
GKLEE: concolic verification and test generation for GPUs · PPoPP 2012
Program verification
environment generation
0.122007
Combining environment generation and slicing for modular software model checking · ASE 2007
Application of automated environment generation to commercial software · ISSTA 2006
Software testing › test generation
automated test generation
0.112011
KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs · CAV 2011
Program analysis
dynamic analysis
0.112011
KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs · CAV 2011
Program verification
modular verification
0.112007
Combining environment generation and slicing for modular software model checking · ASE 2007
Program analysis › static analysis
program slicing
0.112007
Combining environment generation and slicing for modular software model checking · ASE 2007
Program verification › model checking
software model checking
0.112007
Combining environment generation and slicing for modular software model checking · ASE 2007
Program verification
model checking
0.112006
Application of automated environment generation to commercial software · ISSTA 2006
Program verification › model checking
modular model checking
0.112006
Application of automated environment generation to commercial software · ISSTA 2006
Compilers and program optimization › compiler construction
retargetable compilation
0.012001
A retargetable VLIW compiler framework for DSPs withinstruction-level parallelism · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2001
Processor architecture and microarchitecture › special-purpose processor
digital signal processor
0.012001
A retargetable VLIW compiler framework for DSPs withinstruction-level parallelism · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2001
Processor architecture and microarchitecture
instruction-level parallelism
0.012001
A retargetable VLIW compiler framework for DSPs withinstruction-level parallelism · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2001
Program verification
equivalence checking
0.012000
Automatic formal verification of DSP software · DAC 2000
Automated reasoning and model checking
model checking
0.011999
Model Checking Based on Sequential ATPG · CAV 1999
Concurrent programming
concurrency bug detection
0.012006
Application of automated environment generation to commercial software · ISSTA 2006
Program analysis
control flow analysis
0.012000
Automatic formal verification of DSP software · DAC 2000
Electronic design automation
hardware verification and test
0.012000
Automatic formal verification of DSP software · DAC 2000

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

test case reduction · 0.1symbolic virtual machine · 0.1concolic testing · 0.1symbolic execution · 0.1slicing · 0.1environment generation · 0.1optimization · 0.1code generation · 0.1bandera environment generator · 0.1control flow analysis · 0.1symbolic simulation · 0.0decision procedures · 0.0
YearPublicationVenuePosition
2022 A contextual multi-task neural approach to medication and adverse events identification from clinical text
Sankaran Narayanan, Kaivalya Mannam, Pradeep Achan, Maneesha Vinodini Ramesh, P. Venkat Rangan, Sreeranga P. Rajan
J. Biomed. Informatics6
2021 Unified concept and assertion detection using contextual multi-task learning in a clinical decision support system
Sankaran Narayanan, Pradeep Achan, P. Venkat Rangan, Sreeranga P. Rajan
J. Biomed. Informatics4
2012 GKLEE: concolic verification and test generation for GPUs
abstract
Programs written for GPUs often contain correctness errors such as races, deadlocks, or may compute the wrong result. Existing debugging tools often miss these errors because of their limited input-space and execution-space exploration. Existing tools based on conservative static analysis or conservative modeling of SIMD concurrency generate false alarms resulting in wasted bug-hunting. They also often do not target performance bugs (non-coalesced memory accesses, memory bank conflicts, and divergent warps). We provide a new framework called GKLEE that can analyze C++ GPU programs, locating the aforesaid correctness and performance bugs. For these programs, GKLEE can also automatically generate tests that provide high coverage. These tests serve as concrete witnesses for every reported bug. They can also be used for downstream debugging, for example to test the kernel on the actual hardware. We describe the architecture of GKLEE, its symbolic virtual machine model, and describe previously unknown bugs and performance issues that it detected on commercial SDK kernels. We describe GKLEE's test-case reduction heuristics, and the resulting scalability improvement for a given coverage target.
Peng Li 0058, Geoffrey Sawaya, Ganesh Gopalakrishnan, Indradeep Ghosh, Sreeranga P. Rajan
PPoPP6
2011 KLOVER: A Symbolic Execution and Automatic Test Generation Tool for C++ Programs
Indradeep Ghosh, Sreeranga P. Rajan
CAV3
2011 Automated Driver Generation for Analysis of Web Applications
Oksana Tkachuk, Sreeranga P. Rajan
FASE2
2011 Client-tier Validation of Dynamic Web Applications
Hideo Tanida, Mukul R. Prasad, Sreeranga P. Rajan
ICSOFT (2)4
2008 Context-Sensitive Relevancy Analysis for Efficient Symbolic Execution
Xin Li 0010, Daryl Shannon, Indradeep Ghosh, Mizuhito Ogawa, Sreeranga P. Rajan, Sarfraz Khurshid
APLAS5
2007 Combining environment generation and slicing for modular software model checking
abstract
To be effective, software model checking needs powerful reduction techniques. In this paper, we present an experimental study that demonstrates effectiveness of environment generation combined with slicing as a model generation and reduction technique. Automatic environments were obtained using the Bandera Environment Generator (BEG) and slicing was performed using the Indus Java slicer. The results show that environment generation implemented in BEG is an aggressive reduction technique. However, it may miss behaviors in the environment and consequently in the module under analysis, making it unsafe. As such, this technique can be effective for detection of errors but not sufficient to prove their absence.Slicing, while a safe technique, may be too approximate and not scalable. Also, slicing implemented in Indus requires a closed system and cannot be safely applied to a module without its environment. In this paper, we show how environment generation and slicing can be combined to detect errors and prove their absence. We applied the combined approach to verify parts of Fujitsu's enterprise software called Interstage Business Process Management (I-BPM)
Oksana Tkachuk, Sreeranga P. Rajan
ASE2
2006 Application of automated environment generation to commercial software
abstract
Model checking can be an effective technique for detecting concurrency-related errors in software systems. However, due to scalability issues, to handle industrial-strength software, model checking needs to be combined with powerful reduction techniques. In this work, we applied modular model checking to detect errors in Interstage Business Process Management (I-BPM) software, a Java client-server application spanning more than 500,000 lines of code. To model check a separate module, one needs to represent its context of execution, i.e., its environment. Environment generation is a significant challenge, since the environment is to be general enough to uncover the module's errors, yet restrictive enough to allow tractable model checking.In this paper, we present an experimental study that demonstrates the effectiveness of environment generation as a reduction technique in general and the effectiveness of automated environment generation in particular. Since model checking of the original application was intractable, we compared performance of automatically generated environments to environments written previously by hand. Automatic environments were obtained using Bandera Environment Generator (BEG). We present results of modular verification for both manual and automatic environments. The results show that automatically generated environments produce systems with a smaller state space, yet, for faulty modules, uncover the errors and, for error-free modules, produce coverage similar to manual environments.
Oksana Tkachuk, Sreeranga P. Rajan
ISSTA2
2005 Editorial
abstract
No abstract available.
Sreeranga P. Rajan
ACM Trans. Storage1
2002 Program slicing for VHDL
Edmund M. Clarke, Sreeranga P. Rajan, Thomas W. Reps, Subash Shankar, Tim Teitelbaum
Int. J. Softw. Tools Technol. Transf.3
2001 A retargetable VLIW compiler framework for DSPs withinstruction-level parallelism
abstract
A standard design methodology for embedded processors today is the system-on-a-chip design with potentially multiple heterogeneous processing elements on a chip, such as a very long instruction word (VLIW) processor, digital signal processor (DSP), and field-programmable gate array. To be able to program these devices, we need compilers that are capable of generating efficient code for the different types of processing elements with efficiency measured in terms of power, area, and execution time. In addition, the compilers should also be highly retargetable to enable the system designer to quickly evaluate different cores for the application on hand and reduce the time to market. In this paper, we show that we can extend a conventional VLIW compilation environment to develop highly retargetable optimizing compilers for DSPs with irregular architectures. We have used the second generation Fujitsu Hiperion fixed-point DSP as our primary example to evaluate the compiler framework. We demonstrate through experimental results that execution time for the assembly code generated using our framework is roughly two times better than that of the code generated by a widely used commercially available DSP compiler. Even without incorporating DSP-specific optimizations in our extended VLIW framework, we demonstrate that the compiled code has a better performance than the code generated by a commercial DSP-specific compiler in all our examples.
Subramanian Rajagopalan, Sreeranga P. Rajan, Sharad Malik, Sandro Rigo, Guido Araujo, Koichiro Takayama
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.2
2000 Automatic formal verification of DSP software
abstract
This paper describes a novel formal verification approach for equivalence checking of small, assembly-language routines for digital signal processors (DSP). By combining control-flow analysis, symbolic simulation, automatic decision procedures, and some domain-specific optimizations, we have built an automatic verification tool that compares structurally similar DSP assembly language routines. We tested our tool on code samples taken from a real application program and discovered several previously unknown bugs automatically. Runtime and memory requirements were reasonable on all examples. Our approach should generalize easily for multiple DSP architectures, eventually allowing comparison of code for two different DSPs (e.g., to verify a port from one DSP to another) and handling more complex DSPs (e.g. statically-scheduled, VLIW).
David W. Currie, Alan J. Hu, Sreeranga P. Rajan
DAC3
1999 Model Checking Based on Sequential ATPG
Vamsi Boppana, Sreeranga P. Rajan, Koichiro Takayama
CAV2
1998 ATM switch design by high-level modeling, formal verification and high-level synthesis
abstract
Asynchronous Transfer Mode (ATM) has emerged as a backbone for high-speed broadband telecommunication networks. In this paper, we present ATM switch design, starting from a parametric high-level model and debugging the model using a combination of formal verification and simulation. The model has been used to synthesize ATM switches according to customers' choices, by choosing concrete values for each of the generic parameters. We provide a pragmatic combination of simulation, model checking, and theorem proving to gain confidence in the ATM switch design correctness.
Sreeranga P. Rajan, K. Yuan, Mike Tien-Chien Lee
ACM Trans. Design Autom. Electr. Syst.1
1996 From VHDL to efficient and first-time-right designs: a formal approach
abstract
In this article we provide a practical transformational approach to the synthesis of correct synchronous digital hardware designs from high-level specifications. We do this while taking into account the complete life cycle of a design from early prototype to full custom implementation. Besides time-to-market, both flexibility with respect to target architecture and efficiency issues are addressed by the methodology. The utilization of user-selected behavior-preserving transformation steps ensures first-time-right design while exploiting the experience, flexibility, and creativity of the designer. To ensure that design transformations are indeed behavior-preserving a novel mechanized approach to the specification and verification of design transformations on control data flow graphs which is independent of a specific behavioral model or graph size has been developed. As a demonstration of an industrial application we use a video processing algorithm needed for the conversion from a line-interlaced to progressively scanned video format. Both a video signal processor-based prototype implementation as well as a very efficient full custom implementation are developed starting from a single high-level behavioral specification of the algorithm in VHDL. Results are compared with those previously obtained using different tools and methodologies.
Peter F. A. Middelhoek, Sreeranga P. Rajan
ACM Trans. Design Autom. Electr. Syst.2