Tue 14 Jun 2016 10:50 - 11:10 at San Miguel East - Session II Chair(s): Charles Zhang

In this paper we present our static analysis tool Iceberg that helps find potential performance bugs in concurrent Java programs by analyzing the code in critical sections. By look- ing at real world programs, we can start to understand what programmers are putting into critical sections and how that might affect performance. In this paper we look at a few spe- cific scenarios in which the code in a critical section might occasionally have high latency and slow down the overall execution of a program.

We look at 24 real world programs and present a num- ber of code metrics within critical sections that could indi- cate potential performance problems. These metrics include counts of variable-latency operations such as I/O and mem- ory allocation, as well as overall measurements of critical section size. Using our tool we are able to find critical sec- tions with unusual behavior compared to the other critical sections. We also present our future work on a dynamic analysis tool that takes the results of our static analysis tool and instruments the program to determine whether a true performance problem exists.

Tue 14 Jun
Times are displayed in time zone: Tijuana, Baja California change

10:30 - 12:00: Session IISOAP at San Miguel East
Chair(s): Charles ZhangHKUST
10:30 - 10:50
Towards Cross-Platform Cross-Language Analysis with Soot
Steven ArztTU Darmstadt, Germany, Tobias KussmaulTU Darmstadt, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
10:50 - 11:10
Iceberg: A Tool for Static Analysis of Java Critical Sections
Michael D. ShahTufts University, Sam GuyerTufts University
11:10 - 11:30
Toward an Automated Benchmark Management System
Lisa Nguyen Quang DoFraunhofer IEM, Michael EichbergTU Darmstadt, Eric BoddenHeinz Nixdorf Institut, Paderborn University and Fraunhofer IEM
11:30 - 12:00
Invited Talk: Probabilistic Learning from Big Code
Martin VechevETH Zurich