-
Thundering Web Requests: An exploration of different web service technologies with thundering web requests (C10K problem). (Posts: 0, 1, 2, 3, 4, 5, 6)
Role: Creator
Languages: Erlang, Elixir, Go, JavaScript, Kotlin, Python, Rust
Web Service Technologies: Actix, Cowboy, Cyclone, Express, Flask, HTTPoison, Ktor, Micronaut, NodeJS, Phoenix, Ratpack, Tornado, Trot, Vertx, Yaws -
Rekha: An evaluation of the effectiveness of Android app security analysis tools in detecting known vulnerabilities. (Website, Dashboard, Publications: 1)
Role: Co-Creator, Analyst, and Supervisor
Technology: Android, Groovy, R -
HiPCUPP: An effort to understand pain points of HPC users. (Publications: 1)
Role: Co-Creator, Analyst
Technology: Sed and Awk -
Ghera: A repository of benchmarks that capture known vulnerabilities in Android apps. (Website, Publications: 1, 2)
Role: Co-Creator, Developer, and Supervisor
Technology: Android, Java
-
Funcipy: A library to inject common functional programming operations as methods into iterable objects in Python.
Role: Creator
Technology: Python -
DyCo4J: An instrumentation based toolkit to collect dynamic information about JVM based code.
Role: Creator
Technology: Java -
Pytest-finer-verdicts: A pytest plugin to treat non-assertion failures as test errors.
Role: Creator
Technology: Python -
SCP: A PoC implementation of simple communication patterns to connect medical devices and compose medical systems on top of different communication substrates. (Publications: 1)
Role: Creator
Technology: Java, Vert.x, RTI Connext DDS -
Tark: An effort to mine quantified temporal patterns from sequences of events. The resulting techniques were used in testing related tasks in Microsoft. (Publications: 1, 2)
Role: Co-Creator, Developer, and Supervisor
Technology: F#, .NET - Isolator: An effort to enforce isolation requirements in concurrent programs. (Publications: 1)
Role: Contributor -
Indus: A library to analyze and slice concurrent Java programs. The library was downloaded more than 110,000 times until 2016. (Publications: 1, 2, 3, 4, 5, 6, 7, 8, 9)
Role: Creator
Technology: Java, Groovy, Eclipse -
Bandera: A toolkit to automatically verify verify Java programs. The toolkit was downloaded more than 24,000 times until 2016.
Role: Contributor
Technology: Java -
Cadena: An environment to design, analyze, and synthesize component-based systems using a model-driven approach. (Publications: 1, 2, 3, 4, 5)
Role: Co-creator
Technology: Java, Eclipse - LYE: A collection of non-intrusive caching-based optimizations for SOAP implementations. (Publications: 1, 2, 3)
Role: Developer
Technology: Java
Code Repositories
Patents
- Compatibility Testing Using Traces, Linear Temporal Rules, and Behavioral Models. Patent US 8892493
- Temporal Rule-Based Feature Definition and Extraction. Patent US 8538909
- Abstracting Events for Data Mining. Patent US 8280899
- Identifying Concurrency Control from a Sequential Proof. Patent US 20100169618
- System to Reduce Interference in Concurrent Programs. Patent US 7941616
-
Logging in Python by Venkatesh-Prasad Ranganath.
Self-Published Booklet, 2020. -
SeMA: A Development Methodology to Secure Android Apps by Joydeep Mitra, Venkatesh-Prasad Ranganath, Torben Amtoft, and Mike Higgins.
Technical Report, 2019. -
SeMA: A Design Methodology for Building Secure Android Apps by Joydeep Mitra and Venkatesh-Prasad Ranganath.
International Workshop on Advances in Mobile App Analysis (A-Mobile), 2019. (Slide Deck) -
BenchPress: Analyzing Android App Vulnerability Benchmark Suites by Joydeep Mitra and Venkatesh-Prasad Ranganath.
International Workshop on Advances in Mobile App Analysis (A-Mobile), 2019. (Slide Deck)
Artifacts Repositories: DroidBench Evaluation, Ghera Evaluation, IccBench Evaluation, UBCBench Evaluation, Benchmarks preparation, and Stack Overflow Data. -
Are Free Android App Security Analysis Tools Effective in Detecting Known Vulnerabilities? by Venkatesh-Prasad Ranganath and Joydeep Mitra.
Empirical Software Engineering, 2019. (Publication, Pre-Print, Slide Deck from ASE19)
Artifacts Repositories: Representativeness Evaluation, Tools Evaluation -
Why do Users Kill HPC Jobs? by Venkatesh-Prasad Ranganath and Daniel Andresen.
International Conference on High Performance Computing, Data, and Analytics (HiPC), 2018.
Artifacts Repository: why-do-users-kill-hpc-jobs -
Ghera: A Repository of Android App Vulnerability Benchmarks by Joydeep Mitra and Venkatesh-Prasad Ranganath.
International Conference on Predictive Models and Data Analytics in Software Engineering (PROMISE), 2017. (Slide Deck)
Artifacts Repository: Ghera -
Localized Disaster Networks Platform by Venkatesh-Prasad Ranganath, Hyung Jin Kim, and Daniel Andresen.
White paper, 2017. -
Embrace Dynamic Artifacts by Venkatesh-Prasad Ranganath.
Chapter in Perspectives on Data Science for Software Engineering, 2016. -
While models are good, simple explanations are better by Venkatesh-Prasad Ranganath.
Chapter in Perspectives on Data Science for Software Engineering, 2016. Related slide deck from Dagstuhl. -
Experimental Study with Real-world Data for Android App Security Analysis using Machine Learning by Sankardas Roy, Jordan DeLoach, Yuping Li, Doina Caragea, Xinming Ou, Nicolae Herndon, Venkatesh Prasad Ranganath, HongMin Li, and Nicolais Guevara.
Annual Computer Security Applications Conference (ACSAC), 2015. -
Ecosphere Principles for Medical Application Platforms by Yu Jin Kim, Venkatesh-Prasad Ranganath, John Hatcliff, Robby and Sam Procter.
International Conference on Healthcare Informatics (ICHI), 2015. -
Communication Patterns for Interconnecting and Composing Medical Systems (Extended Version) by Venkatesh-Prasad Ranganath, Yu Jin Kim, John Hatcliff, and Robby.
International Conference of the IEEE Engineering in Medicine and Biology Society (EMBC), 2015. -
Integrated Clinical Environment Device Model: Stakeholders and High Level Requirements by Yu Jin Kim, John Hatcliff, Venkatesh-Prasad Ranganath, Robby, and Sandy Weininger.
Medical Cyber Physical Systems Workshop (MedicalCPS), 2015. -
Compatibility Testing via Patterns-based Trace Comparison by Venkatesh-Prasad Ranganath, Pradip Vallathol, and Pankaj Gupta.
International Conference on Automated Software Engineering (ASE), 2014. (Slide Deck) -
Extrinsic Influence Factors in Software Reliability: A Study of 200,000 Windows Machines by Christian Bird, Venkatesh-Prasad Ranganath, Thomas Zimmermann, Nachiappan Nagappan, and Andreas Zeller.
International Conference on Software Engineering (ICSE/SEIP track), 2014. -
Structural and Temporal Patterns-Based Features by Venkatesh-Prasad Ranganath and Jithin Thomas.
International Workshop on Data Analysis Patterns in Software Engineering (DAPSE), 2013. (Slide Deck) -
Exploring the Current Landscape of Programming
Paradigm and Models by Venkatesh-Prasad Ranganath.
CSI Communications, 2013. (Preprint) -
Mining Quantified Temporal Rules: Formalism, Algorithms, and Evaluation by David Lo, G. Ramalingam, Venkatesh-Prasad Ranganath, and Kapil Vaswani.
Science of Computer Programming (SCP), Volume 77, Issue 6, 2012. -
Logical Concurrency Control From Sequential Proofs by Jyotirmoy Deshmukh, G. Ramalingam, Venkatesh-Prasad Ranganath, and Kapil Vaswani.
Logical Methods in Computer Science (LMCS), Volume 7, Issue 3, 2011. -
Logical Concurrency Control From Sequential Proofs by Jyotirmoy Deshmukh, G. Ramalingam, Venkatesh-Prasad Ranganath, and Kapil Vaswani.
European Symposium on Programming (ESOP), 2010.
Received Best Paper award. -
Mining Quantified Temporal Rules: Formalism, Algorithms, and Evaluation by David Lo, G. Ramalingam, Venkatesh-Prasad Ranganath, and Kapil Vaswani.
Working Conference on Reverse Engineering (WCRE), 2009. -
Isolator: Dynamically Ensuring Isolation in Concurrent Programs by Sriram K. Rajamani, G. Ramalingam, Venkatesh-Prasad Ranganath, and Kapil Vaswani.
International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS), 2009. -
Controlling Non-determinism for Semantic Guarantees by Sriram Rajamani, G. Ramalingam, Venkatesh-Prasad Ranganath, and Kapil Vaswani.
Exploiting Concurrency Efficiently and Correctly -- (EC)2, a CAV Workshop, 2008. -
Component-Oriented Programming and Datacenter Applications by Venkatesh-Prasad Ranganath.
The Rise and Rise of Declarative Datacenter, a workshop on programming for datacenters, 2008 -
Slicing Concurrent Java Programs using Indus and Kaveri by Venkatesh Prasad Ranganath and John Hatcliff.
International Journal on Software Tools for Technology Transfer (STTT) dedicated to the best papers from FASE 2004-05, 2007. -
A New Foundation For Control-Dependence and Slicing for Modern Program Structures by Venkatesh Prasad Ranganath, Torben Amtoft, Anindya Banerjee, Matthew B. Dwyer, and John Hatcliff.
Special issue of ACM Transactions on Programming languages and Systems (TOPLAS) dedicated to the best papers from ESOP 2005, 2007. -
Enabling Efficient Partial Order Reductions for Model Checking Object-Oriented Programs Using Static Calculation of Program Dependences by Venkatesh Prasad Ranganath, John Hatcliff, and Robby.
Technical Report, 2007. -
Notes on Interference Dependences by Venkatesh Prasad Ranganath.
Informal notes about intransitivity of interference dependence, 2007. -
Scalable and Accurate Approaches to Program Dependence Analysis, Slicing, and Verification of Concurrent Object Oriented Programs by Venkatesh Prasad Ranganath.
Doctoral Dissertation, 2006. -
An Overview of the Indus Framework for Analysis and Slicing of Concurrent Java Software by Venkatesh Prasad Ranganath and John Hatcliff.
Keynote at Source Code Analysis and Manipulation (SCAM), 2006. -
Evaluating the Effectiveness of Slicing for Model Reduction of Concurrent Object-Oriented Programs by Matthew B. Dwyer, John Hatcliff, Matthew Hoosier, Venkatesh Prasad Ranganath, Robby, and Todd Wallentine.
Tools and Algorithms for the Construction and Analysis of Systems (TACAS).
Invited to appear in the collection of best papers from TACAS 2006. -
Automatic code generation for LYE, a high-performance caching SOAP implementation by Venkatesh Prasad Ranganath, Andrew King, and Daniel Andresen.
International Conference on Semantic Web & Web Services (SWWS), 2006. -
Towards highly optimized real-time middleware for software product-line architectures by Arvind S Krishna, Aniruddha Gokhale, Douglas C. Schmidt, Venkatesh Prasad Ranganath, and John Hatcliff.
ACM SIGBED Review - Special issue: The work-in-progress (WIP) session of the RTSS 2005. -
Notes on Atomicity by Venkatesh Prasad Ranganath.
Informal notes about atomicity, 2006. -
A New Foundation For Control-Dependence and Slicing for Modern Program Structures by Venkatesh Prasad Ranganath, Torben Amtoft, Anindya Banerjee, Matthew B. Dwyer, and John Hatcliff.
European Symposium On Programming (ESOP), 2005.
Appeared in best papers collection from ETAPS 2005.(extended version) -
Kaveri: Delivering Indus Java Program Slicer to Eclipse by Ganeshan Jayaraman, Venkatesh Prasad Ranganath, and John Hatcliff.
Fundamental Approaches to Software Engineering (FASE), 2005.
Appeared in best papers collection from FASE 2004-05. -
Enriching Component Interfaces with Checkable Dependence Specifications by Venkatesh Prasad Ranganath, Matt Dwyer, John Hatcliff, and Georg Jung.
Technical Report, 2005. -
Exploiting Object Escape and Locking Information in Partial-Order Reductions for Concurrent Object-Oriented Programs by Matthew B. Dwyer, John Hatcliff, Robby, and Venkatesh Prasad Ranganath.
Formal Methods in System Design (FMSD), 2004. -
LYE: high performance SOAP with multi-level caching by Venkatesh Prasad Ranganath, David Saxton, and Daniel Andresen.
Parallel and Distributed Computing and Systems (PDCS), 2004.
Nominated for best paper award. -
LYE: a high performance caching SOAP implementation by Daniel Andresen, David Saxton, Kiran Devaram, and Venkatesh Prasad Ranganath.
International Conference on Parallel Processing (ICPP), 2004. -
Pruning Interference and Ready Dependence for Slicing Concurrent Java Programs by Venkatesh Prasad Ranganath and John Hatcliff.
International Conference on Compiler Construction (CC), 2004. (extended version) -
A Correlation Framework for CORBA Component Model by Georg Jung, John Hatcliff, and Venkatesh Prasad Ranganath.
Fundamental Approaches to Software Engineering (FASE), 2004. -
Cadena: An Integrated Development Environment for Analysis, Synthesis, and Verification of Component-based Systems by Adams Child, Jesse Greenewald, Venkatesh Ranganath, Xianghua Deng, Matthew Dwyer, John Hatcliff, Georg Jung, Prashant Shanti, and Gurdip Singh.
Fundamental Approaches to Software Engineering (FASE), 2004. -
A Set-based Approach to Packet Classification by Venkatesh Prasad Ranganath and Daniel Andresen.
Parallel and Distributed Computing and Systems (PDCS), 2003.
Nominated for best paper award. -
Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems by John Hatcliff, William Deng, Matthew B. Dwyer, Georg Jung, and Venkatesh Prasad Ranganath.
International Conference on Software Engineering (ICSE), 2003. -
CADENA: Enabling CCM-based Application Development in Eclipse by Venkatesh Prasad Ranganath, Adam Childs, Jesse Greenewald, Matthew B. Dwyer, John Hatcliff, and Gurdip Singh.
eTX (eclipse Technology eXchange) workshop, 2003. -
Slicing and Partial Evaluation of CORBA Component Model Designs for Avionics System by John Hatcliff, William Deng, Matthew B. Dwyer, Georg Jung, Venkatesh Prasad Ranganath, and Robby.
Invited talk at Partial Evaluation and Program Manipulation (PEPM), 2003. -
Object-Flow Analysis for Optimizing Finite-State Models of Java Software by Venkatesh Prasad Ranganath.
Master's Thesis, 2002.
Organizing Conferences
- Social Media Chair of International Symposium of Foundations of Software Engineering (FSE) 2016
- Local Co-Chair of Asian Symposium on Programming Languages and Systems (APLAS) 2008
Serving on Conference and Workshop Program Committees
- ACSEAC'12: African Conference on Software Engineering and Applied Computing
- CSI'06: National Annual Convention, organized by the Computer Society of India
- DAPSE'13: International Workshop on Data Analysis Patterns in Software Engineering
- ICIIT'18: International Conference on Intelligent Information Technologies
- ICSE'24: International Conference on Software Engineering (Track: Software Engineering in Practice)
- ISEC'13,'12,'11,'10,'09: India Software Engineering Conference
- ISSRE'12: International Symposium on Software Reliability Engineering
- PADTAD'12: Workshop on Parallel and Distributed Systems: Testing, Analysis, and Debugging
- SEDE'12: International Conference on Software Engineering and Data Engineering
- RV'12: International Conference on Runtime Verification
Reviewing for Journals
- EMSE: Empirical Software Engineering
- JCST: Journal of Computer Science and Technology
- JOT: Journal of Object Technology
- SCP: Science of Computer Programming
- STTT: International Journal on Software Tools for Technology Transfer
- TECS: ACM Transactions on Embedded Computing Systems
- TOPLAS: ACM Transactions on Programming Languages and Systems
- TOSEM: ACM Transactions on Software Engineering and Methodology
- TSE: IEEE Transactions on Software Engineering
Reviewing for Conferences and Workshops
- APLAS'08: Asian Symposium on Program Languages and Systems
- ATVA'13: International Symposium on Automated Technology for Verification and Analysis
- CAV'09: Computer Aided Verification
- DEBS'05: International Workshop on Distributed Event-Based Systems
- EAIT'06: International Conference on Emerging Applications of IT
- eTX'04: Eclipse Technology Exchange Workshop
- FASE'04: Fundamental Approaches to Software Engineering
- FSE'09: Foundations of Software Engineering
- FTFJP'05: ECOOP Workshop on Formal Techniques for Java-like Programs
- ICISS'09: International Conference on Information Systems Security
- ICSE'10,'09,'08: International Conference on Software Engineering
- ISSTA'08: International Symposium on Software Testing and Analysis
- OOPSLA'09: International Conference on Object Oriented Programming, Systems, Languages and Applications
- NFM'16: NASA Formal Methods Symposium
- PASTE'05: Workshop on Program Analysis for Software Tools and Engineering
- PLAS'06 :Workshop on Programming Languages and Analysis for Security
- PLDI'06,'04: International Conference on Programming Language Design and Implementation
- POPL'09,'07,'06: Symposium on Principles of Programming Languages
- PPOPP'11: Annual Symposium on Principles and Practice of Parallel Programming
- SAS'06: International Static Analysis Symposium
- SAVCBS'05: Specification and Verification of Component-Based Systems Workshop Engineering
- TACAS'08: International Conference on Tools and Algorithms for Construction and Analysis of Systems
Reviewing at Funding Agencies
- DOE: Department of Energy 2016
- NSF: National Science Foundation 2016, 2018
Reporting Vulnerabilities
- Vulnerability CVE-2019-9463 to Android Security Program
- Vulnerability CVE-2018-9548 to Android Security Program
Creating and Teaching Courses
-
Verification and Validation: An advanced graduate level course about software verification and validation taught at Kansas State University in Fall of 2015-2017.
Role: Creator
Technology: Python -
Software Testing Techniques: An advanced undergraduate level course about software testing taught at Kansas State University in Spring of 2016-2017.
Role: Creator
Technology: Python -
A Two-day Hands-on Course on Data Analytics. Taught in 2013.
Role: Co-Creator
Technology: R, Hadoop
Slide Deck: Data Analytics A Short Tour, The R Language Introduction