8 papers · ranked by Valyu relevance
Max Aehle, Johannes Blühdorn, Max Sagebaum, Nicolas R. Gauger
Tools for algorithmic differentiation (AD) provide accurate derivatives of computer-implemented functions for use in, e. g., optimization and machine learning (ML). However, they often require the source code of the function to be available in a restricted set of programming languages. As a step towards making AD…
Max Aehle, Johannes Blühdorn, Max Sagebaum, Nicolas R. Gauger
We present the novel AD tool Derivgrind, which augments the machine code of compiled programs with forward-mode AD logic. Derivgrind leverages the Valgrind instrumentation framework for a structured access to the machine code, and a shadow memory tool to store dot values. Access to the source code is required at most…
Sebastian Kreutzer, Christian Iwainsky, Marta García-Gasulla, Víctor López + 1 more
'Víctor López' 'Christian Bischof'] Abstract—Automated code instrumentation, i.e. the insertion of measurement hooks into a target application by the compiler, is an established technique for collecting reliable, fine-grained performance data. The set of functions to instrument has to be selected with care, as…
Kostya Serebryany, Chris Kennelly, M. G. R. Phillips, Matt Denton + 8 more
'Marco Elver' 'Alexander Potapenko' 'Matt Morehouse' 'Vlad Tsyrklevich' 'Christian Holler' 'Julian Lettner' 'David Kilzer' 'Lander Brandt'] Despite the recent advances in pre-production bug detection, heapuse-after-free and heap-buffer-overflow bugs remain the primary problem for security, reliability, and developer…
David S. Cerutti, Rafal Wiewiora, Simon Boothroyd, Woody Sherman
The Structure and TOpology Replica Molecular Mechanics (STORMM) code is a next-generation molecular simulation engine and associated libraries optimized for performance on fast, multicore central processor units (CPUs) and graphics processing units (GPUs) with independent memory and tens of thousands of threads. STORMM…
Eugene Darashkevich, Roman Rusyaev, Roman Korostinskiy, Yegor Bugayenko
Time Authors: ['Eugene Darashkevich' 'Roman Rusyaev' 'Roman Korostinskiy' 'Yegor Bugayenko'] In C++, an object can be allocated in static memory, on the stack, or on the heap, where the latter is by the order of magnitude more expensive operation, performance wise, than the first two. However, it is not clear how much…
Oscar Llorente-Vazquez, Xabier Ugarte-Pedrero, Igor Santos-Grueiro, Pablo Garcia Bringas
Dynamic Binary Instrumentation (DBI) is the set of techniques that enable instrumentation of programs at run-time, making it possible to monitor and modify the execution of compiled binaries or entire systems. DBI is used for countless security applications and analyses, and is extensively used across many fields in…
Riccardo Felici, Laura Pozzi, Carlo A. Furia
As research in automatically detecting bugs grows and produces new techniques, having suitable collections of programs with known bugs becomes crucial to reliably and meaningfully compare the effectiveness of these techniques. Most of the existing approaches rely on benchmarks collecting manually curated real-world…