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.
| Originalsprache | Englisch |
|---|---|
| Titel | Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, Tallinn, Estonia |
| Herausgeber*innen | Sven Apel, Marlon Dumas, Alessandra Russo, Dietmar Pfahl |
| Verlag | ACM |
| Seiten | 74-85 |
| Seitenumfang | 12 |
| ISBN (elektronisch) | 9781450355728 |
| DOIs | |
| Publikationsstatus | Verö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
Projekte
- 1 Laufend
-
Java VM Compiler Performance
Mössenböck, H. (Projektleiter*in)
01.01.2001 → 31.05.2026
Projekt: Auftragsforschung › Industrielle / Unternehmerische Auftragsforschung
Dieses zitieren
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver