• DocumentCode
    332529
  • Title

    Compiler optimization and its impact on development of real-time systems

  • Author

    Tucker, Kevin ; Solomon, Eli ; Littlejohn, Kenneth

  • Author_Institution
    DDC-I Inc., Phoenix, AZ, USA
  • Volume
    1
  • fYear
    1998
  • fDate
    31 Oct-7 Nov 1998
  • Abstract
    Real-time systems are increasing in size and complexity. Software developers seek to maximize the performance, as well as minimize the memory requirements in order to meet the constraints of these systems. Traditionally, software developers have overcome these constraints by using an optimizing compiler. However, optimization carries a hidden price. Many Commercial-Off-The-Shelf (COTS) debuggers are unable to work effectively with optimized applications, because the one-to-one mapping of source to object code is often disturbed by optimization. While optimizing, a compiler is free to reorder or interleave the code for statements, so long as the semantics of the program are preserved. This causes two major problems for a debugger. First, selecting a representative instruction to be used when setting a breakpoint on a source-level statement becomes difficult. Second, at a given breakpoint, the value of a variable may differ from what it would be in the non-optimized version. This condition is known as non-currency. Each of these problems becomes a serious issue if a debugger is used to debug the deliverable code or to perform verification testing. This paper presents an in-depth study of the effects of loop-invariant optimization on debugging user applications. The paper will show how to significantly improve the performance of the debugger, with respect to breakpoints and non-current variables, when operating on code affected by this optimization. A summary of the research done, including specific implementation issues and lessons learned while enhancing the DDC-I SPARCStation Solaris native Ada compiler system, is presented
  • Keywords
    optimising compilers; program debugging; real-time systems; DDC-I SPARCStation Solaris; compiler optimization; debugging user applications; hoisted statement; loop-invariant optimization; memory requirements; native Ada compiler system; real-time systems development; setting breakpoints; specific implementation issues; system constraints; Application software; Debugging; Force sensors; Laboratories; Optimizing compilers; Program processors; Real time systems; Sensor systems; Software performance; Software systems;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Digital Avionics Systems Conference, 1998. Proceedings., 17th DASC. The AIAA/IEEE/SAE
  • Conference_Location
    Bellevue, WA
  • Print_ISBN
    0-7803-5086-3
  • Type

    conf

  • DOI
    10.1109/DASC.1998.741479
  • Filename
    741479