The evolution of c programming practices: A study of the unix operating system 1973-2015

Diomidis Spinellis, Panos Louridas, Maria Kechagia

Research output: Chapter in Book/Conference proceedings/Edited volumeConference contributionScientificpeer-review

11 Citations (Scopus)

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.

Original languageEnglish
Title of host publicationProceedings - 2016 IEEE/ACM 38th IEEE International Conference on Software Engineering Companion, ICSE 2016
PublisherIEEE
Pages748-759
Number of pages12
ISBN (Electronic)9781450339001, 9781450342056
DOIs
Publication statusPublished - 14 May 2016
Externally publishedYes
Event2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016 - Austin, United States
Duration: 14 May 201622 May 2016

Publication series

NameProceedings - International Conference on Software Engineering
Volume14-22-May-2016
ISSN (Print)0270-5257

Conference

Conference2016 IEEE/ACM 38th IEEE International Conference on Software Engineering, ICSE 2016
CountryUnited States
CityAustin
Period14/05/1622/05/16

Keywords

  • BSD
  • C
  • Coding practices
  • Coding style
  • FreeBSD
  • Unix

Fingerprint

Dive into the research topics of 'The evolution of c programming practices: A study of the unix operating system 1973-2015'. Together they form a unique fingerprint.

Cite this