Extracting Facts from Performance Tuning History of Scientific Applications for Predicting Effective Optimization Patterns (MSR2015)

To improve performance of large-scale scientific applications, scientists or tuning experts make various empirical attempts to change compiler options, program parameters or even the syntactic structure of programs. Those attempts followed by performance evaluation are repeated until satisfactory results are obtained. On account of combinatorial explosion of possible attempts, the task of performance tuning requires a great deal of time and effort, and hence scientists/tuning experts have a tendency to make decisions on what to be explored just based on their intuition or good sense of tuning. Continue reading

A Comprehensive and Scalable Method for Analyzing Fine-Grained Source Code Change Patterns (SANER’15)

This paper presents a comprehensive method for identifying fine-grained change patterns in the source code of large-scale software projects. Source code changes are computed by differencing abstract syntax trees of adjacent versions and transferred to a set of logical statements called a factbase. A factbase contains information for tracking and relating source code entities across versions and can be used to integrate analysis results of other tools such as call graphs and control flows. Users can obtain a list of change pattern instances by querying the factbase. Continue reading