CcNav : Understanding Compiler Optimizations in Binary Code

Program developers spend significant time on optimizing and tuning programs. During this iterative process, they apply optimizations, analyze the resulting code, and modify the compilation until they are satisfied. Understanding what the compiler did with the code is crucial to this process but is v...

Ausführliche Beschreibung

Bibliographische Detailangaben
Veröffentlicht in:IEEE transactions on visualization and computer graphics. - 1996. - 27(2021), 2 vom: 13. Feb., Seite 667-677
1. Verfasser: Devkota, Sabin (VerfasserIn)
Weitere Verfasser: Aschwanden, Pascal, Kunen, Adam, Legendre, Matthew, Isaacs, Katherine E
Format: Online-Aufsatz
Sprache:English
Veröffentlicht: 2021
Zugriff auf das übergeordnete Werk:IEEE transactions on visualization and computer graphics
Schlagworte:Journal Article Research Support, Non-U.S. Gov't Research Support, U.S. Gov't, Non-P.H.S.
LEADER 01000naa a22002652 4500
001 NLM316183733
003 DE-627
005 20231225160530.0
007 cr uuu---uuuuu
008 231225s2021 xx |||||o 00| ||eng c
024 7 |a 10.1109/TVCG.2020.3030357  |2 doi 
028 5 2 |a pubmed24n1053.xml 
035 |a (DE-627)NLM316183733 
035 |a (NLM)33048691 
040 |a DE-627  |b ger  |c DE-627  |e rakwb 
041 |a eng 
100 1 |a Devkota, Sabin  |e verfasserin  |4 aut 
245 1 0 |a CcNav  |b Understanding Compiler Optimizations in Binary Code 
264 1 |c 2021 
336 |a Text  |b txt  |2 rdacontent 
337 |a ƒaComputermedien  |b c  |2 rdamedia 
338 |a ƒa Online-Ressource  |b cr  |2 rdacarrier 
500 |a Date Completed 30.09.2021 
500 |a Date Revised 30.09.2021 
500 |a published: Print-Electronic 
500 |a Citation Status PubMed-not-MEDLINE 
520 |a Program developers spend significant time on optimizing and tuning programs. During this iterative process, they apply optimizations, analyze the resulting code, and modify the compilation until they are satisfied. Understanding what the compiler did with the code is crucial to this process but is very time-consuming and labor-intensive. Users need to navigate through thousands of lines of binary code and correlate it to source code concepts to understand the results of the compilation and to identify optimizations. We present a design study in collaboration with program developers and performance analysts. Our collaborators work with various artifacts related to the program such as binary code, source code, control flow graphs, and call graphs. Through interviews, feedback, and pair-analytics sessions, we analyzed their tasks and workflow. Based on this task analysis and through a human-centric design process, we designed a visual analytics system Compilation Navigator (CcNav) to aid exploration of the effects of compiler optimizations on the program. CcNav provides a streamlined workflow and a unified context that integrates disparate artifacts. CcNav supports consistent interactions across all the artifacts making it easy to correlate binary code with source code concepts. CcNav enables users to navigate and filter large binary code to identify and summarize optimizations such as inlining, vectorization, loop unrolling, and code hoisting. We evaluate CcNav through guided sessions and semi-structured interviews. We reflect on our design process, particularly the immersive elements, and on the transferability of design studies through our experience with a previous design study on program analysis 
650 4 |a Journal Article 
650 4 |a Research Support, Non-U.S. Gov't 
650 4 |a Research Support, U.S. Gov't, Non-P.H.S. 
700 1 |a Aschwanden, Pascal  |e verfasserin  |4 aut 
700 1 |a Kunen, Adam  |e verfasserin  |4 aut 
700 1 |a Legendre, Matthew  |e verfasserin  |4 aut 
700 1 |a Isaacs, Katherine E  |e verfasserin  |4 aut 
773 0 8 |i Enthalten in  |t IEEE transactions on visualization and computer graphics  |d 1996  |g 27(2021), 2 vom: 13. Feb., Seite 667-677  |w (DE-627)NLM098269445  |x 1941-0506  |7 nnns 
773 1 8 |g volume:27  |g year:2021  |g number:2  |g day:13  |g month:02  |g pages:667-677 
856 4 0 |u http://dx.doi.org/10.1109/TVCG.2020.3030357  |3 Volltext 
912 |a GBV_USEFLAG_A 
912 |a SYSFLAG_A 
912 |a GBV_NLM 
912 |a GBV_ILN_350 
951 |a AR 
952 |d 27  |j 2021  |e 2  |b 13  |c 02  |h 667-677