Skip to main navigation Skip to search Skip to main content

Software engineering : redundancy is key

Research output: Contribution to journalArticleAcademicpeer-review

111 Downloads (Pure)

Abstract

Software engineers are humans and so they make lots of mistakes. Typically 1 out of 10 to 100 tasks go wrong. The only way to avoid these mistakes is to introduce redundancy in the software engineering process. This article is a plea to consciously introduce several levels of redundancy for each programming task. Depending on the required level of correctness, expressed in a residual error probability (typically 10^{-3} to 10^{-10}), each programming task must be carried out redundantly 4 to 8 times. This number is hardly influenced by the size of a programming endeavour. Training software engineers does have some effect as non trained software engineers require a double amount of redundant tasks to deliver software of a desired quality. More compact programming, for instance by using domain specific languages, only reduces the number of redundant tasks by a small constant. Keywords: Software engineering; Software quality; Redundancy
Original languageEnglish
Pages (from-to)75-81
Number of pages7
JournalScience of Computer Programming
Volume97
Issue number1
DOIs
Publication statusPublished - 2015

Fingerprint

Dive into the research topics of 'Software engineering : redundancy is key'. Together they form a unique fingerprint.

Cite this