Spinellis, D;
Louridas, P;
Kechagia, M;
(2016)
The Evolution of C Programming Practices: A Study of the Unix Operating System 1973-2015.
In:
(Proceedings) 38th IEEE/ACM International Conference on Software Engineering (ICSE).
(pp. pp. 748-759).
ACM
Preview |
Text
SLK16_ICSE16.pdf - Accepted Version Download (926kB) | Preview |
Abstract
Tracking long-term progress in engineering and applied science allows us to take stock of things we have achieved, appreciate the factors that led to them, and set realistic goals for where we want to go. We formulate seven hypotheses associated with the long term evolution of C programming in the Unix operating system, and examine them by extracting, aggregating, and synthesising metrics from 66 snapshots obtained from a synthetic software configuration management repository covering a period of four decades. We found that over the years developers of the Unix operating system appear to have evolved their coding style in tandem with advancements in hardware technology, promoted modularity to tame rising complexity, adopted valuable new language features, allowed compilers to allocate registers on their behalf, and reached broad agreement regarding code formatting. The progress we have observed appears to be slowing or even reversing prompting the need for new sources of innovation to be discovered and followed.
Type: | Proceedings paper |
---|---|
Title: | The Evolution of C Programming Practices: A Study of the Unix Operating System 1973-2015 |
Event: | 38th IEEE/ACM International Conference on Software Engineering (ICSE) |
Location: | Austin, TX |
Dates: | 14 May 2016 - 22 May 2016 |
Open access status: | An open access version is available from UCL Discovery |
DOI: | 10.1145/2884781.2884799 |
Publisher version: | https://doi.org/10.1145/2884781.2884799 |
Language: | English |
Additional information: | This version is the author accepted manuscript. For information on re-use, please refer to the publisher’s terms and conditions. |
Keywords: | Science & Technology, Technology, Computer Science, Software Engineering, Engineering, Electrical & Electronic, Computer Science, Engineering, C, coding style, coding practices, Unix, BSD, FreeBSD, SOFTWARE, MANAGEMENT, CODE, MODELS, RULES |
UCL classification: | UCL UCL > Provost and Vice Provost Offices > UCL BEAMS UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science UCL > Provost and Vice Provost Offices > UCL BEAMS > Faculty of Engineering Science > Dept of Computer Science |
URI: | https://discovery.ucl.ac.uk/id/eprint/10074519 |
Archive Staff Only
View Item |