portrait

Venkatesh-Prasad Ranganath
Software Craftsman, Reseacher, Axademic

Software

  1. Thundering Web Requests: An exploration of thundering web requests (C10K problem) with different web service technologies. (Blog Post 0, Blog Post 1, Blog Post 2)
    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