Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

Understanding GCC Builtins to Develop Better Tools

Publikation: Beitrag in Buch/Bericht/KonferenzbandKonferenzbeitragBegutachtung

Abstract

C programs frequently use compiler builtins for functionality that the C standard library lacks. On Linux, GCC provides several thousand builtins, and most other tools that process C code support only a subset of them. To assist tool developers that want to support the GCC builtins in their tools, we analyzed their use in 4912 C projects that we obtained from GitHub. We found that 37.6% of the projects relied at least on one builtin. We determined that the effort needed for implementing builtins is exponential; however, by implementing only 10 builtins already over 30% of the projects could be supported. Since we found that many builtins were not used in any project, the effort needed to support 99% of projects is moderate with around 1600 builtins that need to be implemented. We analyzed the builtin development over time time and found that projects mostly added builtin usages; nevertheless, sometimes they were removed, for example, to reduce the technical debt associated with their usage.
OriginalspracheEnglisch
TitelProceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia
Herausgeber*innenSven Apel, Marlon Dumas, Alessandra Russo, Dietmar Pfahl
VerlagACM
Seiten74-85
Seitenumfang12
ISBN (elektronisch)9781450355728
DOIs
PublikationsstatusVeröffentlicht - 12 Aug. 2019

Wissenschaftszweige

  • 102 Informatik
  • 102009 Computersimulation
  • 102011 Formale Sprachen
  • 102013 Human-Computer Interaction
  • 102022 Softwareentwicklung
  • 102024 Usability Research
  • 102029 Praktische Informatik

JKU-Schwerpunkte

  • Digital Transformation

Dieses zitieren