Publications

Conferences

ASE 2017 Automatically Reducing Tree-Structured Test Inputs
Satia Herfert, Jibesh Patra, Michael Pradel.
[pdf]
ASE 2017 Saying “hi!” Is Not Enough: Mining Inputs for Effective Test Generation
Luca Della Toffola, Cristian-Alexandru Staicu, Michael Pradel.
[pdf]
OOPSLA 2017 Detecting Argument Selection Defects
Andrew Rice, Edward Aftandilian, Ciera Jaspan, Emily Johnston, Michael Pradel, Yulissa Arroyo-Paredes.
[pdf]
ISSTA 2017 An Actionable Performance Profiler for Optimizing the Order of Evaluations
Marija Selakovic, Thomas Glaser, Michael Pradel
[pdf] [slides]
PLDI 2017 Systematic Black-Box Analysis of Collaborative Web Applications
Marina Billes, Anders Møller, Michael Pradel
[pdf] [implementation] [slides]
ICSE 2017 Making Malory Behave Maliciously: Targeted Fuzzing of Android Execution Environments
Siegfried Rasthofer, Steven Arzt, Stefan Triller, Michael Pradel
[pdf] [implementation]
ICSE 2017 Efficient Detection of Thread Safety Violations via Coverage-Guided Generation of Concurrent Tests
Ankit Choudhary, Shan Lu, Michael Pradel
[pdf] [slides] [implementation]
ISSTA 2016 Monkey See, Monkey Do: Effective Generation of GUI Tests with Inferred Macro Events
Markus Ermuth, Michael Pradel
[pdf] [bibtex] [slides]
ISSTA 2016 SyncProf: Detecting, Localizing, and Optimizing Synchronization Bottlenecks
Tingting Yu, Michael Pradel
[pdf] [bibtex] [slides]
ICSE 2016 Performance Issues and Optimizations in JavaScript: An Empirical Study
Marija Selakovic, Michael Pradel
[pdf] [bibtex] [material] [slides]
ICSE 2016 Nomen Est Omen: Exploring and Exploiting Similarities between Argument and Parameter Names
Hui Liu, Qiurong Liu, Cristian-Alexandru Staicu, Michael Pradel, Yue Luo
[pdf] [bibtex] [slides]
OOPSLA 2015 Performance Problems You Can Fix: A Dynamic Analysis of Memoization Opportunities
Luca Della Toffola, Michael Pradel, Thomas R. Gross
[pdf] [bibtex] [implementation]
FSE 2015 JITProf: Pinpointing JIT-Unfriendly JavaScript Code
Liang Gong, Michael Pradel, Koushik Sen
[pdf] [bibtex] [implementation] [slides]
ISSTA 2015 DLint: Dynamically Checking Bad Coding Practices in JavaScript
Liang Gong, Michael Pradel, Manu Sridharan, Koushik Sen
[pdf] [bibtex] [implementation]
ECOOP 2015 The Good, the Bad, and the Ugly: An Empirical Study of Implicit Type Conversions in JavaScript
Michael Pradel, Koushik Sen
[pdf] [bibtex] [implementation and data] [slides] [video]
ICSE 2015 TypeDevil: Dynamic Type Inconsistency Analysis for JavaScript
Michael Pradel, Parker Schuh, Koushik Sen
[pdf] [bibtex] [implementation] [slides] [talk at Mozilla]
OOPSLA 2014 EventBreak: Analyzing the Responsiveness of User Interfaces through Performance-Guided Test Generation
Michael Pradel, Parker Schuh, George Necula, Koushik Sen
[pdf] [bibtex] [implementation] [slides]
ISSTA 2014 Performance Regression Testing of Concurrent Classes
Michael Pradel, Markus Huggler, Thomas R. Gross
[pdf] [bibtex] [implementation and material] [slides]
ASE 2013 Bita: Coverage-Guided, Automatic Testing of Actor Programs
Samira Tasharofi, Michael Pradel, Yu Lin, and Ralph Johnson
[pdf] [bibtex]
ICSE 2013 Automatic Testing of Sequential and Concurrent Substitutability
Michael Pradel and Thomas R. Gross
[pdf] [bibtex] [material] [slides]
ISSTA 2012 Static Detection of Brittle Parameter Typing
Michael Pradel, Severin Heiniger, and Thomas R. Gross
[pdf] [bibtex] [implementation and material] [slides]
PLDI 2012 Fully Automatic and Precise Detection of Thread Safety Violations
Michael Pradel and Thomas R. Gross
[pdf] [bibtex] [material] [slides]
Try it out and download the implementation: www.thread-safe.org
ICSE 2012 Leveraging Test Generation and Specification Mining for Automated Bug Detection without False Positives
Michael Pradel and Thomas R. Gross
[pdf] [bibtex] [material] [slides]
ICSE 2012 Statically Checking API Protocol Conformance with Mined Multi-Object Specifications
Michael Pradel, Ciera Jaspan, Jonathan Aldrich, and Thomas R. Gross
[pdf] [bibtex] [companion report] [material] [slides]
ICSE 2012 Ballerina: Automatic Generation and Clustering of Efficient Random Unit Tests for Multithreaded Code
Adrian Nistor, Qingzhou Luo, Michael Pradel, Thomas R. Gross, and Darko Marinov
[pdf] [bibtex]
ISSTA 2011 Detecting Anomalies in the Order of Equally-typed Method Arguments
Michael Pradel and Thomas R. Gross
[pdf] [bibtex] [implementation] [slides]
ICSM 2010 A Framework for the Evaluation of Specification Miners Based on Finite State Machines
Michael Pradel, Philipp Bichsel, and Thomas R. Gross
[pdf] [bibtex] [implementation and material]
ASE 2009 Automatic Generation of Object Usage Specifications from Large Method Traces
Michael Pradel and Thomas R. Gross
[pdf] [bibtex]
ICSOFT 2008 Scala Roles - A Lightweight Approach towards Reusable Collaborations
Michael Pradel and Martin Odersky
Best Student Paper Award
[pdf] [bibtex] [implementation]
RR 2008 Ontology Design and Reuse with Conceptual Roles
Jakob Henriksson, Michael Pradel, Steffen Zschaler, and Jeff Z. Pan.
[pdf] [bibtex]

Book chapters and journal articles

A Survey of Dynamic Analysis and Test Generation for JavaScript. Esben Andreasen, Liang Gong, Anders Møller, Michael Pradel, Marija Selakovic, Koushik Sen, Cristian-Alexandru Staicu. ACM Computing Surveys (CSUR), 2017
[pdf]
Name-based Analysis of Equally Typed Method Arguments. Michael Pradel and Thomas R. Gross. IEEE Transactions on Software Engineering (TSE), 2013
[pdf] [bibtex]
Mining API Usage Protocols from Large Method Traces. Michael Pradel and Thomas R. Gross. Mining Software Specifications: Methodologies and Applications. David Lo and Khoo Siau Cheng and Jiawei Han and Chao Liu. CRC Press, 2011
[pdf] [bibtex]
A Good Role Model for Ontologies: Collaborations. Michael Pradel, Jakob Henriksson, and Uwe Aßmann. International Journal of Enterprise Information Systems (IJEIS), 6(1), 2010
[pdf (pre-print)] [bibtex]

Workshops, presentations, and posters

Automatically Fixing Real-World JavaScript Performance Bugs. Marija Selakovic and Michael Pradel. International Conference on Software Engineering (ICSE), 2015, poster track.
[pdf] [bibtex]
Inference of Object Usage Protocols. Michael Pradel. Dagstuhl seminar 10152 on Relationships, Objects, Roles, and Queries in Modern Programming Languages (2010)
Dynamically Inferring, Refining, and Checking API Usage Protocols. Michael Pradel. Student Research Competition at OOPSLA 2009
Second Place
[pdf] [bibtex]
Explicit Relations with Roles - A Library Approach. Michael Pradel. Workshop on Relationships and Associations in Object-Oriented Languages (RAOOL) at OOPSLA 2008
[pdf] [bibtex] [implementation]
Ontology Composition using a Role Modeling Approach. Michael Pradel. Lecture Notes in Informatics (LNI) 2008
[pdf] [bibtex]
A Good Role Model for Ontologies: Collaborations. Michael Pradel, Jakob Henriksson, and Uwe Aßmann. Workshop on Semantic-Based Software Development at OOPSLA 2007
[pdf] [bibtex]

Other writings

Understanding and Automatically Preventing Injection Attacks on Node.js. Cristian-Alexandru Staicu, Michael Pradel, Ben Livshits. Technical Report, 2016
[pdf]
Learning to Fuzz: Application-Independent Fuzz Testing with Probabilistic, Generative Models of Input Data. Jibesh Patra, Michael Pradel. Technical Report, 2016
[pdf]
Performance Issues and Optimizations in JavaScript: An Empirical Study. Marija Selakovic, Michael Pradel. Technical Report, 2015
[pdf] [bibtex] [data]
DLint: Dynamically Checking Bad Coding Practices in JavaScript. Liang Gong, Michael Pradel, Manu Sridharan, Koushik Sen. Technical Report, 2015
[pdf] [bibtex] [implementation]
TypeDevil: Dynamic Type Inconsistency Analysis for JavaScript. Michael Pradel, Parker Schuh, Koushik Sen. Technical Report, 2014
[pdf] [bibtex] [talk] [implementation]
JITProf: Pinpointing JIT-unfriendly JavaScript Code. Liang Gong, Michael Pradel, Koushik Sen. Technical Report, 2014
[pdf] [bibtex]
Program Analyses for Automatic and Precise Error Detection. Michael Pradel. Doctoral dissertation (Ph.D. thesis). 2012
[pdf] [web site]
Roles and Collaborations in Scala. Michael Pradel. Diploma thesis. 2008
[pdf] [slides] [implementation]
Ontology Composition using a Role Modeling Approach. Michael Pradel. Semester project (Großer Beleg). 2007
[pdf] [slides]