TY - BOOK
T1 - Software engineering : redundancy is key
AU - Brand, van den, M.G.J.
AU - Groote, J.F.
PY - 2013
Y1 - 2013
N2 - 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.
AB - 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.
M3 - Report
T3 - Computer science reports
BT - Software engineering : redundancy is key
PB - Technische Universiteit Eindhoven
CY - Eindhoven
ER -