ComPy-Learn: A toolbox for exploring machine learning representations for compilers

Research output: Contribution to book/Conference proceedings/Anthology/ReportConference contributionContributedpeer-review

Abstract

Deep Learning methods have not only shown to improve software performance in compiler heuristics, but also e.g. to improve security in vulnerability prediction or to boost developer productivity in software engineering tools. A key to the success of such methods across these use cases is the expressiveness of the representation used to abstract from the program code. Recent work has shown that different such representations have unique advantages in terms of performance. However, determining the best-performing one for a given task is often not obvious and requires empirical evaluation. Therefore, we present ComPy-Learn, a toolbox for conveniently defining, extracting, and exploring representations of program code. With syntax-level language information from the Clang compiler frontend and low-level information from the LLVM compiler backend, the tool supports the construction of linear and graph representations and enables an efficient search for the best-performing representation and model for tasks on program code.

Details

Original languageEnglish
Title of host publication2020 Forum for Specification and Design Languages (FDL)
Number of pages4
ISBN (electronic)978-1-7281-8928-4
Publication statusPublished - 15 Sept 2020
Peer-reviewedYes

Publication series

SeriesForum on Specification, Verification and Design Languages, FDL
ISSN1636-9874

Conference

Title2020 Forum on Specification and Design Languages, FDL 2020
Duration15 - 17 September 2020
CityKiel
CountryGermany

External IDs

ORCID /0000-0002-5007-445X/work/141545618

Keywords

Research priority areas of TU Dresden

Keywords

  • Clang, Code Representations, Compilers, LLVM, Machine Learning