portrait

Interested in things involving computers and computation

Software

  1. Rekha: An evaluation of the effectiveness of Android app security analysis tools in detecting known vulnerabilities. (Website, Dashboard)
    Role: Co-Creator, Analyst, and Supervisor
    Technology: Android, Groovy, R
  2. HiPCUPP: An effort to understand non-technical pain points of HPC users.
    Role: Co-Creator, Analyst
    Technology: Sed and Awk
  3. Ghera: A repository of benchmarks that capture known vulnerabilities in Android apps. (Website)
    Role: Co-Creator, Developer, and Supervisor
    Technology: Android, Java
  4. Funcipy: A library to inject common functional programming operations as methods into iterable objects in Python.
    Role: Creator, Developer
    Technology: Python
  5. DyCo4J: An instrumentation based toolkit to collect dynamic information about JVM based code.
    Role: Creator, Developer
    Technology: Java
  6. Pytest-finer-verdicts: A pytest plugin to treat non-assertion failures as test errors.
    Role: Creator, Developer
    Technology: Python
  7. SCP: A PoC implementation of simple communication patterns to connect medical devices and compose medical systems on top of different communication substrates.
    Role: Creator, Developer
    Technology: Java, Vert.x, RTI Connext DDS
  8. Tark: An effort to mine quantified temporal patterns from sequences of events. The resulting techniques were used in testing related tasks in Microsoft.
    Role: Co-Creator, Developer, and Supervisor
    Technology: F#, .NET
  9. Isolator: An effort to enforece isolation requirements in concurrent programs.
    Role: Contributor
  10. 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
  11. Bandera: A toolkit to automatically verify verify Java programs. The toolkit was downloaded more than 24,000 times until 2016.
    Role: Contributor
    Technology: Java
  12. Cadena: An environment to design, analyze, and synthesize component-based systems using a model-driven approach.
    Role: Developer
    Technology: Java, Eclipse
  13. 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

  1. BitBucket (Personal)
  2. BitBucket (SecureItI Team)
  3. BitBucket Snippets
  4. GitHub (Personal)
  5. GitHub Gist