Seminars at the Faculty of Informatics

The Faculty of Informatics is pleased to announce a seminar given by Darko Marinov

DATE: Thursday, November 8th, 2012
PLACE: room A34, red building
TIME: 15:30

ABSTRACT: Performance bugs are inefficient code regions that create significant performance degradation. Performance bugs can easily escape into production runs due to insufficient support for in-house performance-bug testing.  Developers typically use profilers to find performance bugs, but unfortunately profilers can miss performance bugs even when they are executed. This talk presents Toddler, a novel technique for finding performance bugs.  Toddler reports code loops whose computation has repetitive and partially similar memory-access patterns across loop iterations.  Such repetitive work is likely unnecessary and can be done faster.  In testing terms, Toddler is primarily an oracle (but provides additional information to aid fault localization), whereas profilers aid in fault localization. We implemented a Toddler tool for Java and evaluated it on 9 popular Java codebases.  Our experiments with 11 previously known, real-world performance bugs show that Toddler finds these bugs with a higher accuracy than the standard Java profiler.  Moreover, using Toddler we found 42 new real-world bugs in popular Java projects such as Ant, Google Core Libraries, JUnit, Apache Collections, JDK, and JFreeChart. Based on our bug reports, developers so far fixed 10 bugs and confirmed 6 more as real bugs. Joint work with Adrian Nistor, Linhai Song, and Shan Lu

BIO: Darko Marinov is an Associate Professor in the Department of Computer Science at the University of Illinois at Urbana-Champaign, USA.  His main research interests are in Software Engineering, with focus on Software Testing.  He has a lot of fun looking for software bugs.  He published over 40 conference papers, including three that won the ACM SIGSOFT Distinguished Paper awards.  His work has been supported by IBM, Intel, Microsoft, NSF, and Samsung.  Home page:

HOST: Prof. Mauro Pezzè

URL 1: