The Effectiveness of Choice of Programming Language as a Diversity Seeking Decision

Software reliability can be increased by using a diverse pair of programs (1-out-of-2 system), both written to the same specification. The improvement of the reliability of the pair versus the reliability of a single version depends on the degree of diversity of the programs. The choice of programming language has been suggested as an example of a diversity seeking decision. However, little is known about the validity of this recommendation. This paper assesses the effect of language on program diversity. We compare the effects of the choice of programming language as a diversity seeking decision by using programs written to three different specifications in the “UVa Online Judge”. Thousands of programs have been written to these specifications; this makes it possible to provide statistical evidence. The experiment shows that when the average probability of failure on demand (pfd) of the programs is high, the programs fail almost independently, and the choice of programming language does not make any difference. When the average pfd of the pools gets lower, the programs start to fail dependently, and the pfd of the pairs deviates more and more from the product of the pfds of the individual programs. Also, we observe that the diverse C/Pascal or C++/Pascal pairs perform as good as or better than the other possible pairs.

[1]  Lorenzo Strigini,et al.  Choosing Effective Methods for Design Diversity - How to Progress from Intuition to Science , 1999, SAFECOMP.

[2]  Rob Procter,et al.  Making a Case in Medical Work: Implications for the Electronic Medical Record , 2003, Computer Supported Cooperative Work (CSCW).

[3]  Russell Beale,et al.  Information Requirements of Distributed Workers , 1996 .

[4]  J. Barbalet SOCIAL EMOTIONS: CONFIDENCE, TRUST AND LOYALTY , 1996 .

[5]  Madhu C. Reddy,et al.  A finger on the pulse: temporal rhythms and information seeking in medical work , 2002, CSCW '02.

[6]  Mark Rouncefield,et al.  Observation for innovation , 2003 .

[7]  David B. Martin,et al.  Dependable Red Hot Action , 2003, ECSCW.

[8]  L. Mumford Technics and Civilization , 1934, Nature.

[9]  Rob Procter,et al.  Hospital Managers Closely Observed: Some Features of New Technology and Everyday Managerial Work , 2001 .

[10]  Dave E. Eckhardt,et al.  A Theoretical Basis for the Analysis of Multiversion Software Subject to Coincident Errors , 1985, IEEE Transactions on Software Engineering.

[11]  Clarence A. Ellis,et al.  Groupware: some issues and experiences , 1991, CACM.

[12]  Victoria Bellotti,et al.  Walking away from the desktop computer: distributed collaboration and mobility in a product design team , 1996, CSCW '96.

[13]  Allen C. Bluedorn,et al.  Making Time: Ethnographies of High-Technology Organizations. , 1990 .

[14]  David Clark,et al.  Safety and Security Analysis of Object-Oriented Models , 2002, SAFECOMP.

[15]  M. Rouncefield,et al.  The Day-to-Day Work of Standarization: A Sceptical Note on the Reliance on IT in a Retail Bank , 2002 .

[16]  Joost van Loon,et al.  Time, the Modern and Postmodern Experience , 1995 .

[17]  Steve Sawyer,et al.  Temporal Issues in Information and Communication Technology-Enabled Organizational Change: Evidence From an Enterprise Systems Implementation , 2002, Inf. Soc..

[18]  Rob Procter,et al.  Performance Management in Breast Screening: A Case Study of Professional Vision , 2002, Cognition, Technology & Work.

[19]  Liming Chen,et al.  N-VERSION PROGRAMMINC: A FAULT-TOLERANCE APPROACH TO RELlABlLlTY OF SOFTWARE OPERATlON , 1995, Twenty-Fifth International Symposium on Fault-Tolerant Computing, 1995, ' Highlights from Twenty-Five Years'..

[20]  David Chaum,et al.  Secret-ballot receipts: True voter-verifiable elections , 2004, IEEE Security & Privacy Magazine.

[21]  Tom Rodden,et al.  The role of ethnography in interactive systems design , 1995, INTR.

[22]  Hermann Kopetz,et al.  Fault tolerance, principles and practice , 1990 .

[23]  Nancy G. Leveson,et al.  Analysis of Faults in an N-Version Software Experiment , 1990, IEEE Trans. Software Eng..

[24]  Rob Procter,et al.  Dependability as Ordinary Action , 2002, SAFECOMP.

[25]  Tom Rodden,et al.  Moving out from the control room: ethnography in system design , 1994, CSCW '94.

[26]  David B. Martin,et al.  Implementing an HIS project: everyday features and practicalities of NHS project work , 2004, Health Informatics J..

[27]  Wes Sharrock,et al.  Occasioned practices in the work of software engineers , 1994 .

[28]  Anthony Giddens,et al.  A contemporary critique of historical materialism , 1981 .

[29]  Sebastiano Bagnara,et al.  Information technology, decision, time , 1992 .

[30]  David F. McAllister,et al.  An Experimental Evaluation of Software Redundancy as a Strategy For Improving Reliability , 1991, IEEE Trans. Software Eng..

[31]  R. Hepburn,et al.  BEING AND TIME , 2010 .

[32]  Alex Voss,et al.  Production Management and Ordinary Action: An Investigation of Situated, Resourceful Action in Production Planning and Control , 2001 .

[33]  Eviatar Zerubavel,et al.  Patterns of Time in Hospital Life: A Sociological Perspective. , 1980 .

[34]  Alex Voss,et al.  Information Systems and Workplace Studies: Observing the Contingencies of 'Just-in-Time' Production , 2002 .

[35]  Rob Procter,et al.  Building information systems as universalized locals , 2001 .

[36]  Nancy G. Leveson,et al.  An experimental evaluation of the assumption of independence in multiversion programming , 1986, IEEE Transactions on Software Engineering.

[37]  mile .QDurkheim mile Durkheim,et al.  The Elementary Forms of Religious Life , 1916 .

[38]  M. Castells The rise of the network society , 1996 .

[39]  Rob Procter,et al.  Design guidelines for dealing with breakdowns and repairs in collaborative work settings , 2000, Int. J. Hum. Comput. Stud..

[40]  Rob Procter,et al.  'Safety in numbers': calculation and document re-use in knowledge work , 2001, GROUP.

[41]  Alex Voss,et al.  Innovation in use: Interleaving day-to-day operation and systems development , 2000 .

[42]  A. Strauss,et al.  The discovery of grounded theory: strategies for qualitative research aldine de gruyter , 1968 .

[43]  Lucy Suchman Plans and situated actions: the problem of human-machine communication , 1987 .

[44]  Les Hatton,et al.  N-Version Design vs. One Good Version , 1997, IEEE Softw..

[45]  Heejin Lee,et al.  Time in Organizational Studies: Towards a New Research Direction , 1999 .

[46]  H. Garfinkel Studies in Ethnomethodology , 1968 .

[47]  Bev Littlewood,et al.  Conceptual Modeling of Coincident Failures in Multiversion Software , 1989, IEEE Trans. Software Eng..