Skip to Main content Skip to Navigation
Other publications

Perfrewrite -- Program Complexity Analysis via Source Code Instrumentation

Michael Kruse 1, 2
2 GRAND-LARGE - Global parallel and distributed computing
CNRS - Centre National de la Recherche Scientifique : UMR8623, Inria Saclay - Ile de France, UP11 - Université Paris-Sud - Paris 11, LIFL - Laboratoire d'Informatique Fondamentale de Lille, LRI - Laboratoire de Recherche en Informatique
Abstract : Most program profiling methods output the execution time of one specific program execution, but not its computational complexity class in terms of the big-O notation. Perfrewrite is a tool based on LLVM's Clang compiler to rewrite a program such that it tracks semantic information while the program executes and uses it to guess memory usage, communication and computational complexity. While source code instrumentation is a standard technique for profiling, using it for deriving formulas is an uncommon approach.
Document type :
Other publications
Complete list of metadata

Cited literature [5 references]  Display  Hide  Download
Contributor : Michael Kruse <>
Submitted on : Saturday, September 6, 2014 - 11:24:57 PM
Last modification on : Thursday, July 8, 2021 - 3:49:23 AM
Long-term archiving on: : Sunday, December 7, 2014 - 10:21:45 AM


Files produced by the author(s)


  • HAL Id : hal-01061505, version 1
  • ARXIV : 1409.2089



Michael Kruse. Perfrewrite -- Program Complexity Analysis via Source Code Instrumentation. 2012. ⟨hal-01061505⟩



Record views


Files downloads