Venkatesh Prasad Ranganath

dblp:01/1872 · also Venkatesh-Prasad Ranganath · DBLP profile ↗
← Back
19ranked-venue papers
7as first author
0since 2021 · last 2020
0000-0001-7684-6086ORCID · verified

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

Software engineering, systems software and programming languages · 15 · 6 first-authorSystems, architecture and hardware · 3 · 1 first-authorSecurity and privacy · 1Theory of computation · 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
4 papers
Software testing · 34% Requirements engineering and software design · 18% Concurrent programming · 17%
Computer architecture, parallel and distributed computing, and storage systems
1 paper
Embedded and real-time systems · 100%

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

TopicWeightPapersLastEvidence papers
Software testing › non-functional testing
compatibility testing
0.212014
Compatibility testing using patterns-based trace comparison · ASE 2014
Software testing
trace comparison
0.212014
Compatibility testing using patterns-based trace comparison · ASE 2014
Concurrent programming
concurrency bugs
0.112009
ISOLATOR: dynamically ensuring isolation in comcurrent programs · ASPLOS 2009
Concurrent programming › concurrency bugs
data races
0.112009
ISOLATOR: dynamically ensuring isolation in comcurrent programs · ASPLOS 2009
Operating systems › system security › operating system security › protection mechanism
isolation
0.112009
ISOLATOR: dynamically ensuring isolation in comcurrent programs · ASPLOS 2009
Compilers and program optimization › dependence analysis
control dependence
0.112007
A new foundation for control dependence and slicing for modern program structures · ACM Trans. Program. Lang. Syst. 2007
Program analysis › static analysis
program slicing
0.112007
A new foundation for control dependence and slicing for modern program structures · ACM Trans. Program. Lang. Syst. 2007
Requirements engineering and software design › software architecture › component-based software engineering
component-based systems
0.112014
Compatibility testing using patterns-based trace comparison · ASE 2014
Requirements engineering and software design › software architecture › component-based software engineering
component-based development
0.012003
Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003
Program verification › modular verification
component-based verification
0.012003
Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003
Requirements engineering and software design › software architecture › component-based software engineering
component model
0.012003
Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003
Requirements engineering and software design
software architecture
0.012003
Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003
Operating systems › resource management › memory management › virtual memory
virtual memory protection
0.012009
ISOLATOR: dynamically ensuring isolation in comcurrent programs · ASPLOS 2009
Requirements engineering and software design
reactive systems
0.012007
A new foundation for control dependence and slicing for modern program structures · ACM Trans. Program. Lang. Syst. 2007
Program analysis
static analysis
0.012007
A new foundation for control dependence and slicing for modern program structures · ACM Trans. Program. Lang. Syst. 2007
Embedded and real-time systems › real-time embedded systems
avionics systems
0.012003
Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems · ICSE 2003

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

virtual memory protection · 0.1data replication · 0.1code instrumentation · 0.1transition system semantics · 0.1model checking · 0.1weak bisimulation · 0.1control dependence definitions · 0.1
YearPublicationVenuePosition
2020 Are free Android app security analysis tools effective in detecting known vulnerabilities?
Venkatesh Prasad Ranganath, Joydeep Mitra
Empir. Softw. Eng.1
2018 Why do Users Kill HPC Jobs?
abstract
Given the cost of HPC clusters, making best use of them is crucial to improve infrastructure ROI. Likewise, reducing failed HPC jobs and related waste in terms of user wait times is crucial to improve HPC user productivity (aka human ROI). While most efforts (e.g., debugging HPC programs) explore technical aspects to improve ROI of HPC clusters, we hypothesize non-technical (human) aspects are worth exploring to make non-trivial ROI gains; specifically, understanding non-technical aspects and how they contribute to the failure of HPC jobs. In this regard, we conducted a case study in the context of Beocat cluster at Kansas State University. The purpose of the study was to learn the reasons why users terminate jobs and to quantify wasted computations in such jobs in terms of system utilization and user wait time. The data from the case study helped identify interesting and actionable reasons why users terminate HPC jobs. It also helped confirm that user terminated jobs may be associated with non-trivial amount of wasted computation, which if reduced can help improve the ROI of HPC clusters.
Venkatesh Prasad Ranganath, Daniel Andresen
HiPC1
2015 Experimental Study with Real-world Data for Android App Security Analysis using Machine Learning
abstract
Although Machine Learning (ML) based approaches have shown promise for Android malware detection, a set of critical challenges remain unaddressed. Some of those challenges arise in relation to proper evaluation of the detection approach while others are related to the design decisions of the same. In this paper, we systematically study the impact of these challenges as a set of research questions (i.e., hypotheses). We design an experimentation framework where we can reliably vary several parameters while evaluating ML-based Android malware detection approaches. The results from the experiments are then used to answer the research questions. Meanwhile, we also demonstrate the impact of some challenges on some existing ML-based approaches. The large (market-scale) dataset (benign and malicious apps) we use in the above experiments represents the real-world Android app security analysis scale. We envision this study to encourage the practice of employing a better evaluation strategy and better designs of future ML-based approaches for Android malware detection.
Sankardas Roy, Jordan DeLoach, Nic Herndon, Doina Caragea, Xinming Ou, Venkatesh Prasad Ranganath, Hongmin Li 0001, Nicolais Guevara
ACSAC7
2014 Compatibility testing using patterns-based trace comparison
abstract
When composing a system from components, we need to ensure that the components are compatible. This is commonly achieved by components interacting only via published and well-defined interfaces. Even so, it is possible for client components to learn about and depend on unpublished yet observable behaviors of components. To identify and support these situations, compatibility testing should uncover such observable behaviors.
Venkatesh Prasad Ranganath, Pradip Valathol
ASE1
2012 Mining quantified temporal rules: Formalism, algorithms, and evaluation
David Lo 0001, G. Ramalingam, Venkatesh Prasad Ranganath, Kapil Vaswani
Sci. Comput. Program.3
2010 Logical Concurrency Control from Sequential Proofs
Jyotirmoy V. Deshmukh, G. Ramalingam, Venkatesh Prasad Ranganath, Kapil Vaswani
ESOP3
2009 ISOLATOR: dynamically ensuring isolation in comcurrent programs
abstract
In this paper, we focus on concurrent programs that use locks to achieve isolation of data accessed by critical sections of code. We present ISOLATOR, an algorithm that guarantees isolation for well-behaved threads of a program that obey a locking discipline even in the presence of ill-behaved threads that disobey the locking discipline. ISOLATOR uses code instrumentation, data replication, and virtual memory protection to detect isolation violations and delays ill-behaved threads to ensure isolation. Our instrumentation scheme requires access only to the code of well-behaved threads. We have evaluated ISOLATOR on several benchmark programs and found that ISOLATOR can ensure isolation with reasonable runtime overheads. In addition, we present three general desiderata - safety, isolation, and permissiveness - for any scheme that attempts to ensure isolation, and formally prove that ISOLATOR satisfies all of these desiderata.
Sriram K. Rajamani, G. Ramalingam, Venkatesh Prasad Ranganath, Kapil Vaswani
ASPLOS3
2007 Slicing concurrent Java programs using Indus and Kaveri
Venkatesh Prasad Ranganath, John Hatcliff
Int. J. Softw. Tools Technol. Transf.1
2007 A new foundation for control dependence and slicing for modern program structures
abstract
The notion of control dependence underlies many program analysis and transformation techniques. Despite being widely used, existing definitions and approaches to calculating control dependence are difficult to apply directly to modern program structures because these make substantial use of exception processing and increasingly support reactive systems designed to run indefinitely. This article revisits foundational issues surrounding control dependence, and develops definitions and algorithms for computing several variations of control dependence that can be directly applied to modern program structures. To provide a foundation for slicing reactive systems, the article proposes a notion of slicing correctness based on weak bisimulation, and proves that some of these new definitions of control dependence generate slices that conform to this notion of correctness. This new framework of control dependence definitions, with corresponding correctness results, is even able to support programs with irreducible control flow graphs. Finally, a variety of properties show that the new definitions conservatively extend classic definitions. These new definitions and algorithms form the basis of the Indus Java slicer, a publicly available program slicer that has been implemented for full Java.
Venkatesh Prasad Ranganath, Torben Amtoft, Anindya Banerjee 0001, John Hatcliff, Matthew B. Dwyer
ACM Trans. Program. Lang. Syst.1
2006 Evaluating the Effectiveness of Slicing for Model Reduction of Concurrent Object-Oriented Programs
Matthew B. Dwyer, John Hatcliff, Matthew Hoosier, Venkatesh Prasad Ranganath, Robby, Todd Wallentine
TACAS4
2005 A New Foundation for Control-Dependence and Slicing for Modern Program Structures
Venkatesh Prasad Ranganath, Torben Amtoft, Anindya Banerjee 0001, Matthew B. Dwyer, John Hatcliff
ESOP1
2005 Kaveri: Delivering the Indus Java Program Slicer to Eclipse
Ganeshan Jayaraman, Venkatesh Prasad Ranganath, John Hatcliff
FASE2
2004 Pruning Interference and Ready Dependence for Slicing Concurrent Java Programs
Venkatesh Prasad Ranganath, John Hatcliff
CC1
2004 Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-Based Systems
Adam Childs, Jesse Greenwald, Venkatesh Prasad Ranganath, Xianghua Deng, Matthew B. Dwyer, John Hatcliff, Georg Jung, Prashant Shanti, Gurdip Singh
FASE3
2004 A Correlation Framework for the CORBA Component Model
Georg Jung, John Hatcliff, Venkatesh Prasad Ranganath
FASE3
2004 LYE: A High-Performance Caching SOAP Implementation
abstract
The Simple Object Access Protocol (SOAP) is a dominant enabling technology in the field of Web services. Web services demand high performance, security and extensibility. SOAP, being based on extensible markup language (XML), inherits not only the advantages of XML, but its relatively poor performance. This makes SOAP a poor choice for many high-performance Web services. We present a new approach to implementing the SOAP protocol using caching on the SOAP server. This approach has significant performance advantages over current approaches while maintaining complete protocol compliance. We demonstrate its practicality by implementing a demonstration system under Linux, giving speedups of over 250% in our sample applications.
Daniel Andresen, David Sexton, Kiran Devaram, Venkatesh Prasad Ranganath
ICPP4
2004 Exploiting Object Escape and Locking Information in Partial-Order Reductions for Concurrent Object-Oriented Programs
Matthew B. Dwyer, John Hatcliff, Robby, Venkatesh Prasad Ranganath
Formal Methods Syst. Des.4
2003 Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems
abstract
The use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety/mission-critical domains, component-based development is beginning to take hold as a mechanism for incorporating non-functional aspects such as real-time, quality-of-service, and distribution. To form an effective basis for development of such systems, we believe that support for reasoning about correctness properties of component-based designs is essential. In this paper, we present Cadena - an integrated environment for building and modeling CCM systems. Cadena provides facilities for defining component types using CCM IDL, specifying dependency information and transition System semantics for these types, assembling systems from CCM components, visualizing various dependence relationships between components, specifying and verifying correctness properties of models of CCM systems derived from CCM IDL, component assembly information, and Cadena specifications, and producing CORBA stubs and skeletons implemented in Java. We are applying Cadena to avionics applications built using Boeing's Bold Stroke framework.
John Hatcliff, Xianghua Deng, Matthew B. Dwyer, Georg Jung, Venkatesh Prasad Ranganath
ICSE5
2003 Slicing and partial evaluation of CORBA component model designs for avionics system
abstract
The use of component models such as Enterprise Java Beans and the CORBA Component Model (CCM) in application development is expanding rapidly. Even in real-time safety-critical and mission-critical domains, component-based development is beginning to take hold as a mechanism for in-corporating non-functional aspects such as real-time, quality-of-service, and distribution.
John Hatcliff, William Deng, Matthew B. Dwyer, Georg Jung, Venkatesh Prasad Ranganath, Robby
PEPM5