Skip to main content

Showing 1–7 of 7 results for author: Campanoni, S

Searching in archive cs. Search in all archives.
.
  1. arXiv:2407.04917  [pdf, other

    cs.PL

    A Calculus for Unreachable Code

    Authors: Peter Zhong, Shu-Hung You, Simone Campanoni, Robert Bruce Findler, Matthew Flatt, Christos Dimoulas

    Abstract: In Racket, the LLVM IR, Rust, and other modern languages, programmers and static analyses can hint, with special annotations, that certain parts of a program are unreachable. Same as other assumptions about undefined behavior; the compiler assumes these hints are correct and transforms the program aggressively. While compile-time transformations due to undefined behavior often perplex compiler w… ▽ More

    Submitted 5 July, 2024; originally announced July 2024.

  2. arXiv:2406.02737  [pdf, other

    cs.CR cs.SE

    CAMP: Compiler and Allocator-based Heap Memory Protection

    Authors: Zhenpeng Lin, Zheng Yu, Ziyi Guo, Simone Campanoni, Peter Dinda, Xinyu Xing

    Abstract: The heap is a critical and widely used component of many applications. Due to its dynamic nature, combined with the complexity of heap management algorithms, it is also a frequent target for security exploits. To enhance the heap's security, various heap protection techniques have been introduced, but they either introduce significant runtime overhead or have limited protection. We present CAMP,… ▽ More

    Submitted 4 June, 2024; originally announced June 2024.

  3. Getting a Handle on Unmanaged Memory

    Authors: Nick Wanninger, Tommy McMichen, Simone Campanoni, Peter Dinda

    Abstract: The inability to relocate objects in unmanaged languages brings with it a menagerie of problems. Perhaps the most impactful is memory fragmentation, which has long plagued applications such as databases and web servers. These issues either fester or require Herculean programmer effort to address on a per-application basis because, in general, heap objects cannot be moved in unmanaged languages. In… ▽ More

    Submitted 26 March, 2024; originally announced May 2024.

  4. arXiv:2402.00986  [pdf, other

    cs.PL

    The Parallel Semantics Program Dependence Graph

    Authors: Brian Homerding, Atmn Patel, Enrico Armenio Deiana, Yian Su, Zujun Tan, Ziyang Xu, Bhargav Reddy Godala, David I. August, Simone Campanoni

    Abstract: A compiler's intermediate representation (IR) defines a program's execution plan by encoding its instructions and their relative order. Compiler optimizations aim to replace a given execution plan with a semantically-equivalent one that increases the program's performance for the target architecture. Alternative representations of an IR, like the Program Dependence Graph (PDG), aid this process by… ▽ More

    Submitted 1 February, 2024; originally announced February 2024.

  5. arXiv:2311.03263  [pdf, other

    cs.PF cs.PL

    PROMPT: A Fast and Extensible Memory Profiling Framework

    Authors: Ziyang Xu, Yebin Chon, Yian Su, Zujun Tan, Sotiris Apostolakis, Simone Campanoni, David I. August

    Abstract: Memory profiling captures programs' dynamic memory behavior, assisting programmers in debugging, tuning, and enabling advanced compiler optimizations like speculation-based automatic parallelization. As each use case demands its unique program trace summary, various memory profiler types have been developed. Yet, designing practical memory profilers often requires extensive compiler expertise, ade… ▽ More

    Submitted 6 November, 2023; originally announced November 2023.

  6. arXiv:2309.14396  [pdf, other

    cs.SE cs.LG cs.PL

    Guess & Sketch: Language Model Guided Transpilation

    Authors: Celine Lee, Abdulrahman Mahmoud, Michal Kurek, Simone Campanoni, David Brooks, Stephen Chong, Gu-Yeon Wei, Alexander M. Rush

    Abstract: Maintaining legacy software requires many software and systems engineering hours. Assembly code programs, which demand low-level control over the computer machine state and have no variable names, are particularly difficult for humans to analyze. Existing conventional program translators guarantee correctness, but are hand-engineered for the source and target programming languages in question. Lea… ▽ More

    Submitted 15 March, 2024; v1 submitted 25 September, 2023; originally announced September 2023.

  7. arXiv:2102.05081  [pdf, other

    cs.PL

    NOELLE Offers Empowering LLVM Extensions

    Authors: Angelo Matni, Enrico Armenio Deiana, Yian Su, Lukas Gross, Souradip Ghosh, Sotiris Apostolakis, Ziyang Xu, Zujun Tan, Ishita Chaturvedi, David I. August, Simone Campanoni

    Abstract: Modern and emerging architectures demand increasingly complex compiler analyses and transformations. As the emphasis on compiler infrastructure moves beyond support for peephole optimizations and the extraction of instruction-level parallelism, they should support custom tools designed to meet these demands with higher-level analysis-powered abstractions of wider program scope. This paper introduc… ▽ More

    Submitted 9 February, 2021; originally announced February 2021.