Jens Dietrich

Jens Dietrich profile picture

Associate Professor School of Engineering and Computer Science

Teaching in 2020

Qualifications

Doctor rerum naturalium in Computer Science (Alma mater Lipsiensis -- University of Leipzig), Diplommathematiker (MSc Mathematics) (Alma mater Lipsiensis -- University of Leipzig)

Research Interests

My research interests are in the areas of software composition and evolution (API and contract evolution, semantic versioning) and program analysis (including static analysis, testing and fuzzing for bug and vulnerability detection). More details can be found on my private website. Please contact me directly if you are interested in postgraduate studies in one of my areas of interest.

Recent / Current Research Contracts

  1. Novel Approaches to Input Generation for the Analysis of Java EE Applications -- Oracle Inc, USD 43k (2019-20)
  2. Closing the gaps in static program analysis -- NZ National Science Challenge SfTI, NZD 197k (2017-19)
  3. Static Analysis of JEE Applications -- Oracle Inc, USD 44k (2017-18)

Recent / Upcoming Publications

  1. S Rasheed, J Dietrich, A Rasheed: Laughter in the Wild: A Study into DoS Vulnerabilities in YAML Libraries. TrustCom'19.
  2. J Dietrich, D J Pearce, J Stringer, A Tahir, K Blincoe: Dependency Versioning in the Wild. MSR'19
  3. J Dietrich, M Luczak-Roesch, E Dalefield: Man vs Machine – a Study into Language Identification of Stack Overflow Code Snippets. MSR'19 (Mining Challenge Track).
  4. L Sui, J Dietrich, M Emery, S Rasheed, A Tahir: On the Soundness of Call Graph Construction in the Presence of Dynamic Language Features - A Benchmark and Tool Evaluation. APLAS'18.
  5. J Dietrich, F Gauthier, P Krishnan: Driver Generation for Java EE Web Applications. ASWEC'18.
  6. A Tahir, A Yamashita, S Licorish, J Dietrich, S Counsell: Can you tell me if it smells? A study on how developers discuss code smells and anti-patterns in Stack Overflow. EASE'18. Best Paper Award.
  7. T Bhagya, J Dietrich, H Guesgen, S Versteeg: GHTraffic: A Dataset for Reproducible Research in Service-Oriented Computing. ICWS'18.

For a full list, check my Google scholar profile (sorted by date).

Bugs and Vulnerabilities Recently Reported

(most of them are from work done with my PhD student Shawn Rasheed)

  1. DOS Vulnerability in js-yaml
  2. DOS Vulnerability in ghostscript
  3. DOS Vulnerability in Apache PDFBox
  4. Bug in the IBM J9 JVM Reflection API
  5. Bug: Broken Contract between Equals and Hashcode in .NET lIbraries
  6. New Billion-Laughs-style attack effecting memory in the Java Serialization

Selected Software

  1. EvilPickles -- code used in ECOOP17 paper on DOS attacks on the Java Serialization API
  2. Java Library Evolution Puzzlers -- scenarios showing problems with binary, source and behavioral compatibility and the impact this has on clients when Java programs evolve, see also related slides
  3. Guery -- a fast algorithm to detect patterns (motifs) in graphs, decribed here
  4. XCorpus -- an executable set of Java programs with high coverage and scripts, based on the Qualitas Corpus, and described here
  5. JEE Driver Generator -- a tool to generate a main class providing an unreflected entry point into JEE applications, to be used in static program analysis, described here
  6. teaching examples -- self-explanatory
  7. Giga -- a novel, very fast CFLR algorithms for static program analysis, described here

Service

  1. Co-chair ROSE festival and artifact track ICSME20
  2. Program Committee Member APLAS19
  3. Publicity Chair APLAS19
  4. Sponsorship Chair APLAS18
  5. Program Committee Member VISSOFT19

Project Ideas

  1. build better semantic versioning calculators (actually using some program semantics)
  2. study the evolution of restful services
  3. cross-version testing (summer scholarship for 2019/20 available)
  4. a notional machine for jupyter notebooks with a Java kernel (with Karsten Lundqvist, summer scholarship for 2019/20 available)