Interactive Source-to-Source Optimizations Validated using Static Resource Analysis

被引:0
|
作者
Bertholon, Guillaume [1 ]
Chargueraud, Arthur
Koehler, Thomas
Bytyqi, Begatim
Rouhling, Damien
机构
[1] INRIA, Strasbourg, France
关键词
High performance code; Source-to-source optimization; Separation logic;
D O I
10.1145/3652588.3663320
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Developments in hardware have delivered formidable computing power. Yet, the increased hardware complexity has made it a real challenge to develop software that exploits the hardware to its full potential. Numerous approaches have been explored to help programmers turn naive code into high-performance code, finely tuned for the targeted hardware. However, these approaches have inherent limitations, and it remains common practice for programmers seeking maximal performance to follow the tedious and error-prone route of writing optimized code by hand. This paper presents OptiTrust, an interactive source-to-source optimization framework that operates on generalpurpose C code. The programmer develops a script describing a series of code transformations. The framework provides continuous feedback in the form of human-readable diff s over conventional C code. OptiTrust supports advanced code transformations, including transformations exploited by the state-of-the-art DSL tools Halide and TVM, and transformations beyond the reach of existing tools. OptiTrust also supports user-defined transformations, as well as defining complex transformations by composition of simpler transformations. Crucially, to check the validity of code transformations, OptiTrust leverages a static resource analysis in a simplified form of Separation Logic. Starting from user-provided annotations on functions and loops, our analysis deduces precise resource usage throughout the code.
引用
收藏
页码:26 / 34
页数:9
相关论文
共 50 条
  • [21] ITMViz: Interactive Topic Modeling for Source Code Analysis
    Saeidi, Amir M.
    Hage, Jurriaan
    Khadka, Ravi
    Jansen, Slinger
    [J]. 2015 IEEE 23RD INTERNATIONAL CONFERENCE ON PROGRAM COMPREHENSION ICPC 2015, 2015, : 295 - 298
  • [22] From Source Code Analysis to Static Software Testing
    Wang Wei
    Han Lilong
    Meng Yunxiu
    Bai He
    [J]. PROCEEDINGS OF 2014 IEEE WORKSHOP ON ADVANCED RESEARCH AND TECHNOLOGY IN INDUSTRY APPLICATIONS (WARTIA), 2014, : 1280 - 1283
  • [23] An Effective Visual System for Static Analysis of Source Code
    Wan, Ying
    Tan, Chuanqi
    Wang, Zhigang
    Wang, Guoqiang
    Hong, Xiaojin
    [J]. MATERIALS SCIENCE AND INFORMATION TECHNOLOGY, PTS 1-8, 2012, 433-440 : 5453 - +
  • [24] Static Analysis of Corpus of Source Codes of Python Applications
    D. A. Kapustin
    V. V. Shvyrov
    T. I. Shulika
    [J]. Programming and Computer Software, 2023, 49 : 302 - 309
  • [25] Is Static Analysis Able to Identify Unnecessary Source Code?
    Haas, Roman
    Niedermayr, Rainer
    Roehm, Tobias
    Apel, Sven
    [J]. ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2020, 29 (01)
  • [26] Static analysis of source code written by novice programmers
    Delev, Tomche
    Gjorgjevikj, Dejan
    [J]. PROCEEDINGS OF 2017 IEEE GLOBAL ENGINEERING EDUCATION CONFERENCE (EDUCON2017), 2017, : 824 - 830
  • [27] Source Language Representation of Function Summaries in Static Analysis
    Horvath, Gabor
    Pataki, Norbert
    [J]. PROCEEDINGS OF THE 11TH WORKSHOP ON IMPLEMENTATION, COMPILATION, OPTIMIZATION OF OBJECT-ORIENTED LANGUAGES, PROGRAMS AND SYSTEMS (ICOOOLPS'16), 2016,
  • [28] Static Analysis Model For Assessing Source Codes With TFIDF
    de Souza, Ricardo Lemos
    Ferreira, Fabiana Zaffalon
    Botelho, Silvia da Silva
    [J]. 2021 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2021), 2021,
  • [29] A Proposal for Source Code Assessment Through Static Analysis
    de Souza, Ricardo Lemos
    Ferreira, Fabiana Zaffalon
    Botelho, Silvia da Silva
    [J]. 2020 IEEE FRONTIERS IN EDUCATION CONFERENCE (FIE 2020), 2020,
  • [30] THE STATIC DETECTION ANALYSIS TECHNOLOGY OF ANDROID SOURCE CODES
    Guo, Yanhui
    Yang, Lin
    Gao, Xiaomeng
    Wu, Kun
    [J]. PROCEEDINGS OF 2016 5TH IEEE INTERNATIONAL CONFERENCE ON NETWORK INFRASTRUCTURE AND DIGITAL CONTENT (IEEE IC-NIDC 2016), 2016, : 288 - 292