Andrea Lepori

dblp:401/7884 · DBLP profile ↗
← Back
1ranked-venue papers
1as first author
1since 2021 · last 2025
0000-0002-5087-8124ORCID · reported

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 1 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Program analysis · 44% Compilers and program optimization · 44% Software maintenance and evolution · 13%

Topics — the 3 heaviest of 3, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Compilers and program optimization › parallelization
automatic parallelization
0.912025
Iterating Pointers: Enabling Static Analysis for Loop-based Pointers · ACM Trans. Archit. Code Optim. 2025
Program analysis › static analysis
pointer analysis
0.912025
Iterating Pointers: Enabling Static Analysis for Loop-based Pointers · ACM Trans. Archit. Code Optim. 2025
Software maintenance and evolution › program comprehension
code comprehension
0.312025
Iterating Pointers: Enabling Static Analysis for Loop-based Pointers · ACM Trans. Archit. Code Optim. 2025

Methods — techniques the papers use, named apart from their topics

pointer decomposition · 0.9offset analysis · 0.9
YearPublicationVenuePosition
2025 Iterating Pointers: Enabling Static Analysis for Loop-based Pointers
abstract
Pointers are an integral part of C and other programming languages. They enable substantial flexibility from the programmer’s standpoint, allowing the user fine, unmediated control over data access patterns. However, accesses done through pointers are often hard to track and challenging to understand for optimizers, compilers, and sometimes, even for the developers themselves because of the direct memory access they provide. We alleviate this problem by exposing additional information to analyzers and compilers. By separating the concept of a pointer into a data container and an offset, we can optimize C programs beyond what other state-of-the-art approaches are capable of, in some cases even enabling auto-parallelization. Using this process, we are able to successfully analyze and optimize code from OpenSSL, the Mantevo benchmark suite, and the Lempel–Ziv–Oberhumer compression algorithm. We provide the only automatic approach able to find all parallelization opportunities in the HPCCG benchmark from the Mantevo suite the developers identified, and we even outperform the reference implementation by up to 18% as well as speed up the PBKDF2 algorithm implementation from OpenSSL by up to 11×.
Andrea Lepori, Alexandru Calotoiu, Torsten Hoefler
ACM Trans. Archit. Code Optim.1