portrait

Venkatesh-Prasad Ranganath
Software Craftsman / Reseacher

Software

  1. Thundering Web Requests: An exploration of different web service technologies with thundering web requests (C10K problem). (Blog Post 0, Blog Post 1, Blog Post 2, Blog Post 3, Blog Post 4, Blog Post 5, Blog Post 6)
    Role: Creator
    Languages: Crystal, Erlang, Elixir, Go, JavaScript, Kotlin, Python, Rust
    Web Service Technologies: Actix, Cowboy, Cyclone, Express, Flask, HTTPoison, Kemal, Ktor, Micronaut, NodeJS, Phoenix, Ratpack, Tornado, Trot, Vertx, Yaws
  2. Rekha: An evaluation of the effectiveness of Android app security analysis tools in detecting known vulnerabilities. (Website, Dashboard, Publication)
    Role: Co-Creator, Analyst, and Supervisor
    Technology: Android, Groovy, R
  3. HiPCUPP: An effort to understand non-technical pain points of HPC users. (Publication)
    Role: Co-Creator, Analyst
    Technology: Sed and Awk
  4. Ghera: A repository of benchmarks that capture known vulnerabilities in Android apps. (Website, Publication)
    Role: Co-Creator, Developer, and Supervisor
    Technology: Android, Java
  5. Funcipy: A library to inject common functional programming operations as methods into iterable objects in Python.
    Role: Creator, Developer
    Technology: Python
  6. DyCo4J: An instrumentation based toolkit to collect dynamic information about JVM based code.
    Role: Creator, Developer
    Technology: Java
  7. Pytest-finer-verdicts: A pytest plugin to treat non-assertion failures as test errors.
    Role: Creator, Developer
    Technology: Python
  8. SCP: A PoC implementation of simple communication patterns to connect medical devices and compose medical systems on top of different communication substrates. (Publication)
    Role: Creator, Developer
    Technology: Java, Vert.x, RTI Connext DDS
  9. Tark: An effort to mine quantified temporal patterns from sequences of events. The resulting techniques were used in testing related tasks in Microsoft. (Publications: Compatibility Testing, Foundation)
    Role: Co-Creator, Developer, and Supervisor
    Technology: F#, .NET
  10. Isolator: An effort to enforce isolation requirements in concurrent programs.
    Role: Contributor
  11. Indus: A library to analyze and slice concurrent Java programs. The library was downloaded more than 110,000 times until 2016.
    Role: Creator, Developer
    Technology: Java, Groovy, Eclipse
  12. Bandera: A toolkit to automatically verify verify Java programs. The toolkit was downloaded more than 24,000 times until 2016.
    Role: Contributor
    Technology: Java
  13. Cadena: An environment to design, analyze, and synthesize component-based systems using a model-driven approach.
    Role: Developer
    Technology: Java, Eclipse
  14. LYE: A collection of non-intrusive caching-based optimizations for SOAP implementations.
    Role: Developer
    Technology: Java

Courses

  1. 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
  2. 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

Code Repositories