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
Link To Document