• DocumentCode
    1199122
  • Title

    I Spy

  • Author

    Spinellis, Diomidis

  • Author_Institution
    Athens University of Economics and Business
  • Volume
    24
  • Issue
    2
  • fYear
    2007
  • Firstpage
    16
  • Lastpage
    17
  • Abstract
    The ultimate source of truth regarding a program is its execution. When a program runs, everything comes to light: correctness, CPU and memory use, and even interactions with (potentially buggy) libraries, operating systems, and hardware. Yet, this source of truth is also fleeting, rushing into oblivion at the tune of billions of instructions per second. Worse, capturing that truth can be a tricky, tortuous, or downright treacherous affair. Peeking into a program´s operation typically involves preparing a special version of it: we might compile it with specific flags or options, link it with appropriate libraries, or run it with suitable arguments. Often, we can´t easily reproduce a problem, so we need to ship our carefully crafted program version to a customer, who then will have to wait for the problem to appear again. Irritatingly, some of the ways we instrument programs make the program too slow for production use or obfuscate the original problem
  • Keywords
    software engineering; program execution; software development; analysis; instrumentation; measurement; performance; tracing;
  • fLanguage
    English
  • Journal_Title
    Software, IEEE
  • Publisher
    ieee
  • ISSN
    0740-7459
  • Type

    jour

  • DOI
    10.1109/MS.2007.43
  • Filename
    4118645