@inproceedings{fcbf1fcfb0544b1b92feeb2c27c950dc,
title = "Pinpointing Scale-Dependent Integer Overflow Bugs in Large-Scale Parallel Applications",
abstract = "We present a technique to pinpoint scale-dependent integer overflow bugs, a class of bugs in large-scale parallel applications that is hard and time-consuming to detect manually. Rather than detecting integer overflows when applications are deployed at large scale, as existing techniques do, our method forecasts these overflows without requiring the application to be run at large scale. Our approach statically identifies integer variables that depend on the scale, and then in a refinement phase, uses data points from small-scale runs to forecast whether variables will actually overflow at large-scale runs. We implement our technique in LLVM and evaluate it on several HPC benchmarks and the MPICH MPI implementation. Our tool finds five instances of previously unknown scale-dependent integer overflow bugs, including one in MPICH, and has few false positives, demonstrating its practical utility.",
keywords = "Computer errors, MPI, debugging, high-performance computing, integer overflows, static analysis",
author = "Ignacio Laguna and Martin Schulz",
note = "Publisher Copyright: {\textcopyright} 2016 IEEE.; 2016 International Conference for High Performance Computing, Networking, Storage and Analysis, SC 2016 ; Conference date: 13-11-2016 Through 18-11-2016",
year = "2016",
month = jul,
day = "2",
doi = "10.1109/SC.2016.18",
language = "English",
series = "International Conference for High Performance Computing, Networking, Storage and Analysis, SC",
publisher = "IEEE Computer Society",
pages = "216--227",
booktitle = "Proceedings of SC 2016",
}