‹Programming› 2024
Mon 11 - Fri 15 March 2024 Lund, Sweden
Thu 14 Mar 2024 14:00 - 14:30 at M:Teknodromen - Research Papers 5 Chair(s): Shigeru Chiba

The array is a data structure used in a wide range of programs. Its compact storage and constant time random access makes it highly efficient, but arbitrary indexing complicates the analysis of code containing array accesses. Such analyses are important for compiler optimizations such as bounds check elimination. The aim of this work is to gain a better understanding of how arrays are used in real-world programs. While previous work has applied static analyses to understand how arrays are accessed and used, we take a dynamic approach. We empirically examine various characteristics of array usage by instrumenting programs to log all array accesses, allowing for analysis of array sizes, element types, from where arrays are accessed and to which extent sequences of array accesses form recognizable patterns. The programs in the study were collected from the Renaissance benchmark suite, all running on the Java Virtual Machine.

We account for characteristics displayed by the arrays investigated, finding that most arrays have a small size, are accessed by only one or two classes and by a single thread. On average over the benchmarks, 69.8% of the access patterns consist of uncomplicated traversals. Most of the instrumented classes (over 95%) do not use arrays directly at all. These results come from tracing data covering 3,803,043,390 array accesses made across 168,686 classes. While our analysis has only been applied to the Renaissance benchmark suite, the methodology can be applied to any program running on the Java Virtual Machine. This study, and the methodology in general, can inform future runtime implementations and compiler optimizations.

Thu 14 Mar

Displayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change

13:30 - 14:30
Research Papers 5Research Papers at M:Teknodromen
Chair(s): Shigeru Chiba The University of Tokyo
13:30
30m
Talk
Conceptual Mutation Testing for Student Programming MisconceptionsVol. 8
Research Papers
Siddhartha Prasad Brown University, Ben Greenman Brown University, USA, Tim Nelson Brown University, Shriram Krishnamurthi Brown University
Link to publication DOI
14:00
30m
Talk
Arrays in Practice, An Empirical Study of Array Access Patterns on the JVMVol. 8
Research Papers
Beatrice Åkerblom Stockholm University, Elias Castegren Uppsala University
Link to publication DOI