Proceedings of the Institute for System Programming of the RAS
RUS  ENG    JOURNALS   PEOPLE   ORGANISATIONS   CONFERENCES   SEMINARS   VIDEO LIBRARY   PACKAGE AMSBIB  
General information
Latest issue
Archive

Search papers
Search references

RSS
Latest issue
Current issues
Archive issues
What is RSS



Proceedings of ISP RAS:
Year:
Volume:
Issue:
Page:
Find






Personal entry:
Login:
Password:
Save password
Enter
Forgotten password?
Register


Proceedings of the Institute for System Programming of the RAS, 2015, Volume 27, Issue 6, Pages 7–20
DOI: https://doi.org/10.15514/ISPRAS-2015-27(6)-1
(Mi tisp181)
 

Compile the code instrumentation technique for selective debugging of optimizing transformations

D. Maksimenkov

PAO «MCST»
References:
Abstract: The paper addresses the problem of an optimizing compiler debugging. A new method for compile-time instrumentation is presented as an efficient approach to improve reliability of optimizing transformations implemented in the compiler. The principal feature of the method is that it aims at debugging the transformations itself rather than debugging the tests, and therefore it allows correctness of the resulting code to be verified on any input data fed into the executed program, i.e. the proposed self-checking instrumentation is orthogonal to particular input data in that sense it is able to detect the bugs on arbitrary data flow the program exhibits during its invocation.
The method can be applied to a wide set of optimizing transormations. And the cases are known when it reveals faults in transformations while the non-instrumented test itself remains fully functional (and other somewhat similar but more limited instrumentations reveal no bugs, too). Among other its features are the compactness of the embedded dynamic checkers, the linearity of code bloat, and also no assumptions on any standard libraries availability is made (eg. no functions like exit(), abort() etc are used to terminate the program if any checker is triggered). It all ensures that the optimized code is influenced minimally so the original sequence of optimizing transormations implemented in the compiler remains applicable (if compared to non-instrumented code).
The described method has demonstrated successfully its usability for detecting and identifying volatile bugs in the optimizing compilers of the Elbrus microprocessor family when they were used for building software with asynchronous control flow. Moreover it allowed to increase the reliability of not only the compiler itself but also the software being compiled as well as it shown its use in complex testing of the microprocessor prototypes.
Keywords: testing, instrumentation code, debugging optimizing compilers.
Bibliographic databases:
Document Type: Article
Language: Russian
Citation: D. Maksimenkov, “Compile the code instrumentation technique for selective debugging of optimizing transformations”, Proceedings of ISP RAS, 27:6 (2015), 7–20
Citation in format AMSBIB
\Bibitem{Mak15}
\by D.~Maksimenkov
\paper Compile the code instrumentation technique for selective debugging of optimizing transformations
\jour Proceedings of ISP RAS
\yr 2015
\vol 27
\issue 6
\pages 7--20
\mathnet{http://mi.mathnet.ru/tisp181}
\crossref{https://doi.org/10.15514/ISPRAS-2015-27(6)-1}
\elib{https://elibrary.ru/item.asp?id=25476295}
Linking options:
  • https://www.mathnet.ru/eng/tisp181
  • https://www.mathnet.ru/eng/tisp/v27/i6/p7
  • Citing articles in Google Scholar: Russian citations, English citations
    Related articles in Google Scholar: Russian articles, English articles
    Proceedings of the Institute for System Programming of the RAS
    Statistics & downloads:
    Abstract page:135
    Full-text PDF :85
    References:41
     
      Contact us:
     Terms of Use  Registration to the website  Logotypes © Steklov Mathematical Institute RAS, 2024