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 language | English |
|---|---|
| Pages (from-to) | 75-81 |
| Number of pages | 7 |
| Journal | Science of Computer Programming |
| Volume | 97 |
| Issue number | 1 |
| DOIs | |
| Publication status | Published - 2015 |
Fingerprint
Dive into the research topics of 'Software engineering : redundancy is key'. Together they form a unique fingerprint.Cite this
- APA
- Author
- BIBTEX
- Harvard
- Standard
- RIS
- Vancouver