UCL Discovery
UCL home » Library Services » Electronic resources » UCL Discovery

The Evolution of C Programming Practices: A Study of the Unix Operating System 1973-2015

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 Green open access

[thumbnail of SLK16_ICSE16.pdf]
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
Downloads since deposit
Loading...
131Downloads
Download activity - last month
Loading...
Download activity - last 12 months
Loading...
Downloads by country - last 12 months
Loading...

Archive Staff Only

View Item View Item