About Us

The Software Lab is a research group in the Department of Computer Science of TU Darmstadt led by Michael Pradel. Our research focuses on tools and techniques for building reliable, efficient, and secure software. Past and ongoing work includes:

  • JavaScript and web applications: Dynamic analyses and test generation techniques to detect performance and correctness problems in JavaScript-based web applications. (PLDI'17, ISSTA'17, ISSTA'16, ICSE'16, ICSE'15 (talk), ECOOP'15, OOPSLA'14, FSE'15, ISSTA'15)
  • Concurrency: Tools and techniques to test concurrent software. (PLDI'17, ISSTA'14, ASE'13, PLDI'12, ICSE'12)
  • Dynamic analysis driven by generated tests: Dynamic analysis is powerful but inherently bounded by the input that drives the execution of a program. We leverage automatic test generation as a driver for dynamic analyses that find bugs. (OOPSLA'14, ICSE'13, ICSE'12)
  • Performance profiling and analysis: Traditional profilers show where resources are spend but not where resources are wasted. We develop analyses that pinpoint specific optimization opportunities to help developers speed up their programs. (ISSTA'17, ISSTA'16, ICSE'16, OOPSLA'15, FSE'15, OOPSLA'14, ISSTA'14)
  • API protocol mining and checking: Most APIs impose constraints on how to call their methods, but almost no API specifies these constraints formally. API protocol mining infers specifications that are useful to detect incorrect API usages. (ICSE'12, ICSE'12, ICSM'10, ASE'09)
  • Static analysis: Simple yet effective static analyses that reveal programming errors without requiring formal specifications. (OOPSLA'17, ICSE'16, TSE'13, ISSTA'12, ISSTA'11)

We are hiring!

We are looking for motivated students to join the Software Lab as student research assistants ("HiWis"). Details on open positions

Our work is generously supported by the Emmy Noether program of the DFG and by CRISP. We are a member of CYSEC.

News and Events

2/2018: Our work on finding conflicts between JavaScript libraries will be presented at ICSE'18.

11/2017: Our paper on synthesizing programs that expose performance bottlenecks will appear at CGO'18.

10/2017: Our work on preventing code injection attacks on Node.js will appear at NDSS'18.

10/2017: Daniel wins the 2nd price at the ACM Student Research Competition at SPLASH'17 for his work on differential testing of debuggers. Congrats!

10/2017: Group retreat in Heidelberg.

7/2017: Our papers on reducing tree-structured input data and on mining test inputs from existing tests will appear at ASE 2017. Congrats to Satia, Jibesh, Luca, and Cristian!

6/2017: From research to practice: Our work on using identifier names to detect thousands of bugs at Google will be presented at OOPSLA 2017.

6/2017: Our survey on dynamic analysis and test generation for JavaScript will appear in ACM Computing Surveys (CSUR).

4/2017: Our paper on actionable performance profiling will appear at ISSTA 2017.

2/2017: Marija and Jibesh will join Microsoft Research for summer internships. Congrats!

2/2017: Our work on systematically testing collaborative web applications has been accepted at PLDI.  Congrats to Marina on her first conference publication!

12/2016: Two papers at ICSE 2017: Our work on coverage-guided generation of concurrent tests and on targeted fuzzing of Android execution environments will appear at ICSE.

11/2016: Check out our work on preventing code injections on Node.js and on fuzz testing with probabilistic, generative models of input data.

9/2016: Group retreat in Koblenz

7/2016: Jibesh's work on language independent fuzz testing receives a distinguished poster award at ECOOP. Congrats!

7/2016: Xiangyu Zhang from Purdue visits us and talks about dynamic analyses for security.

4/2016: Alex Orso from Georgia Tech visits us and talks about automated debugging.

4/2016: Werner Dietl from U Waterloo visits us and talks about static analysis for Android apps.

4/2016: Two papers, on macro-based GUI testing and on profiling synchronization bottlenecks, accepted at ISSTA 2016.

3/2016: Marija wins an ACM-W Scholarship Award. Congrats!

12/2015: Two papers accepted at ICSE 2016. Congrats to Marija and Cristian!

10/2015: Andrew Habib joins the group. Welcome!

10/2015: Markus Ermuth and Thomas Glaser successfully defend their master and bachelor theses. Congrats!

10/2015: New course on Program Testing and Analysis starting this winter semester

9/2015: Marija got invited to present here work on JavaScript performance at JSConf EU 2015. Check out the talk.

9/2015: Murali Krishna Ramanatha from IIS visits us and talks about "Object Flow Profiling"

9/2015: Marina will present first results on race detection in web application at the SPLASH'15 SRC

8/2015: Paper on MemoizeIt accepted at OOPSLA'15

8/2015: Matthias Keil from University of Freiburg visits us and talks about "Contracts and Sandboxes for JavaScript"

7/2015: Ankit Choudhary successfully defends his master thesis on "Goal-driven Generation of Concurrent Unit Tests". Congrats!

6/2015: Marcel Böhme (Saarland University) visits us and talks about "Efficiency of Automated Testing"

5/2015: Paper on JITProf accepted at FSE'15

4/2015: Paper in DLint will be presented at ISSTA'15

4/2015: First results of Cristian's work on studying implicit information flows: PLDI'15 SRC contribution

4/2015: Marina Billes joins the group: Welcome!

3/2015: Paper on type coercions in JavaScript accepted at ECOOP'15

3/2015: Jibesh Patra joins the group: Welcome!

2/2015: Get a first glimpse of Marija's work on understanding and fixing JavaScript performance problems: ICSE'15 poster paper

12/2014: Paper on TypeDevil accepted at ICSE'15

12/2014: Andreas Leitner (Google Zurich) visits us and talks about "Testing at Google/YouTube"

10/2014: Teaching a new seminar in the winter semester: "Program Analysis"

10/2014: Marija Selakovic and Cristian-Alexandru Staicu are joining the group. Welcome!

A A A | Drucken Print | Impressum Impressum | Sitemap Sitemap | Suche Search | Kontakt Contact | Webseitenanalyse: Mehr Informationen
zum Seitenanfangzum Seitenanfang