Reliability and integrity of large computer programs

  • C. V. Ramamoorthy
  • R. C. Cheung
  • K. H. Kim
Part of the Lecture Notes in Computer Science book series (LNCS, volume 12)


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [Ale 69]
    Alexander, T. "Computers Can't Solve Everything," Fortune, May 1969.Google Scholar
  2. [Ash 71]
    Ashcropt, E and Manna, Z. "The Translation of ‘go to’ Programs to ‘while’ Programs," Stanford AI Memo AIM-138, STAN-CS-71-188, January 1971.Google Scholar
  3. [Bak 72a]
    Baker, F. T., "Chief Programmer Team Management of Production Programming," IBM Syst. J., 1972, pp. 56–73.Google Scholar
  4. [Bak 72b]
    Baker, F. T., "System Quality Through Structured Programming," Fall Joint Computer Conference, 1972, pp. 339–343.Google Scholar
  5. [Bak 73]
    Baker, F. T. and Mills, H. D., "Chief Programmer Teams," Datamation, December 1973, pp. 58–61.Google Scholar
  6. [Bas 72]
    Baskin, H. B., Borgerson, B. R. and Roberts, R., "PRIME — A Modular Architecture for Terminal-Oriented Systems," Spring Joint Comp. Conf., 1972, pp. 431–437.Google Scholar
  7. [Ben 73]
    Benson, J. B., "Structured Programming Techniques," Record of the 1973 IEEE Symposium on Computer Software Reliability, May 1973, pp. 143–147.Google Scholar
  8. [Boe 71]
    Boehm, B. W., "Some Information Processing Implications of Air Force Space Missions: 1970–1980," Astronautics and Aeronautics, January 1971.Google Scholar
  9. [Boe 73]
    Boehm, B. W., "Software and Its Impact: A Quantitative Assessment," DATAMATION, May 1973.Google Scholar
  10. [Boh 66]
    Bohm, C. and Jacopini, G., "Flow Diagrams, Turing Machines and Languages with Only Two Formation Rules," Comm of ACM, May 1966, pp. 366–371.Google Scholar
  11. [Bro 72a]
    Brown, J. R. and Hoffman, R. H., "Evaluating the Effectiveness of Software Verification — Practical Experience with an Automated Tool," AFIPS FJCC, 1972.Google Scholar
  12. [Bro 72b]
    Brown, J. R. and Hoffman, R. H., "Automating Software Development: A Survey of Techniques and Automated Tools," TRW Tech. Rep., May 1972.Google Scholar
  13. [Cha 73]
    Chang, H. Y., "Topics in Designing Maintainable Real-Time Systems," Proceeding of the 2nd Texas Conference on Computing Systems, Nov. 1973.Google Scholar
  14. [Che 74]
    Cheung, R. C., Kim, K. H., Ramamoorthy, C. V., and Reddi, S. S., "Automated Generation of Self-Metric Software," 7th Hawaii International Conference on Systems Sciences, January 1974.Google Scholar
  15. [Cla 73]
    Clark, R. L., "A Linguistic Contribution to GOTO-less Programming," DATAMATION, December 1973, pp. 62–63.Google Scholar
  16. [Con 72]
    Connet, J. R., Pasternak, E. J., and Wagner, B. D., "Software Defenses in Real-Time Control Systems," Digest of Papers of the 1972 International Symposium on Fault-Tolerant Computing, June 1972, pp. 94–99.Google Scholar
  17. [Dij 65]
    Dijkstra, E. W., "Programming Considered as a Human Activity," Information Processing 65, W. A. Kalenick, (ed.). Proc. of IFIP Congress 65, VI, Spartan Books, Inc., Washington, D.C., 1965.Google Scholar
  18. [Dij 68a]
    Dijkstra, E. W., "GO TO Statement Considered Harmful," Comm. of ACM, March 1968, pp. 147–148.Google Scholar
  19. [Dij 68b]
    Dijkstra, E. W., "The Structure of the "THE" — Multiprogramming System," Comm. ACM, 1968, pp. 341–346.Google Scholar
  20. [Dij 69a]
    Dijkstra, E. W., "Structured Programming," Software Engineering Techniques Report on a Conference sponsored by the NATO Science Committee Rome, Italy, J.N. Buxton and B. Randell (eds), 1969, pp. 84–88.Google Scholar
  21. [Dij 69b]
    Dijkstra, E. W. Notes on Structured Programming, Teshnische Hogeschool, Eindhoven, Netherlands, August, 1969.Google Scholar
  22. [Dij 73]
    Donaldson, J. R., "Structured Programming," DATAMATION, December 1973, pp. 52–54.Google Scholar
  23. [Els 71]
    Elspas, B., Green, M. W., and Levitt, K. N., "Software Reliability," Computer, January 1971, pp. 21–27.Google Scholar
  24. [Els 72]
    Elspas, Levitt, Waldinger, and Waksman, "An Assessment of Techniques for Proving Program Correctness," Computing Surveys, June 1972, pp. 97–147.Google Scholar
  25. [Elm 71]
    Elmendorf, W. R., "Disciplined Software Testing," Courant Symposium on Debugging Technique in Large Systems, 1971.Google Scholar
  26. [Fab 73]
    Fabry, R. S., "Dynamic Verification of Operating System Decisions," Comm. of ACM, November 1973, pp. 659–668.Google Scholar
  27. [Flo 67]
    Floyd, R. W., "Assigning Meanings to programs," Mathematical Aspects of Computer Science, Vol. 19, 1967, pp. 19–32.Google Scholar
  28. [Gar 70]
    Garrison, W. A. and Ramamoorthy, C. V., "Privacy and Security in Data Bank," Technical Memorandum No. 24, Information Systems Research Lab., University of Texas at Austin, 1970.Google Scholar
  29. [Gol 63]
    Goldstine, H. H. and von Neumann, J., "Planning and Coding Problems for an Electronic Computer Instrument, Part 2, Vol. 1–3," John von Neumann collected works, Vol. 5, Pergamon Press, New York, 1963, pp. 80–235.Google Scholar
  30. [Goo 68]
    Good, D. I. and London, R. L., "Interval Arithmetic for the Burroughs B5500: Four Algol Procedures and Proofs of Their Correctness," Computer Sciences Technical Report No. 26, University of Wisconsin, June 1968.Google Scholar
  31. [Goo 70]
    Good, D. I., "Toward a Man-Machine System for Proving Program Correctness," Ph.D. Thesis, Dept. of Comp. Sci., Univ. of Wisconsin, Madison, Wisconsin, 1970.Google Scholar
  32. [Har 65]
    Harary, T., Norman, K. Z. and Cartwright, D., "Structural Models: An Introduction to the Theory of Directed Graphs," John Wiley & Sons, 1965.Google Scholar
  33. [Hof 73]
    Hoffman, L. J. (ed.), Security and Privacy in Computer Systems, John Wiley & Sons, 1973.Google Scholar
  34. [Ing 71]
    Ingallo, D., "The Execution Time Profile as a Programming Tool," Courant Symposium on Compiler Optimization, 1971.Google Scholar
  35. [Ito 73]
    Itoh, D. and Tzutani, T., "TABEBUG-I, A New Tool for Program Debugging," IEEE Symposium on Computer Software Reliability, 1973.Google Scholar
  36. [Jel 73]
    Jelinski, Z. and Moranda, P. B., "Application of a Probability-Based Model to a Code Reading Experiment," Record of the 1973 IEEE Symposium on Computer Software Reliability, May 1973, pp. 78–81.Google Scholar
  37. [Kah 67]
    Kahn, D., The Codebreakers, MacMillan Co., 1967.Google Scholar
  38. [Kel 73]
    Kelley, R. A., "APLGOL, An Experimental Structured Programming Language," January 1973, IBM J. Res. Develop., pp. 69–73.Google Scholar
  39. [Ker 73]
    Kernighan, B. W. and Plauger, P. J., "Programming Style for Programmers and Language Designers," Record of the 1973 IEEE Symposium on Computer Software Reliability, May 1973, pp. 148–154.Google Scholar
  40. [Kin 69]
    King, J. C., "A Program Verifier," Ph.D. Thesis, Carnegie-Mellon Univ., Pittsburg, Pa., 1969.Google Scholar
  41. [Kin 67]
    King, P. J. H., "Decision Tables," Comput. J., August 1967.Google Scholar
  42. [Knu 70a]
    Knuth, D. E. and Floyd, R. W., "Notes on Avoiding ‘go to’ Statements," Computer Science Department, Technical Report No. CS 148, Stanford University, January 1970.Google Scholar
  43. [Knu 70b]
    Knuth, D., "An Empirical Study of FORTRAN Programs," CS-186, Dept. of Computer Science, Stanford Univ., 1970.Google Scholar
  44. [Kra 73]
    Krause, K. W., Smith, R. W. and Goodwin, M. A., "Optimal Software Test Planning Through Automated Network Analysis," IEEE Symposium on Computer Software Reliability, 1973.Google Scholar
  45. [Lin 72]
    Linden, T. A., "A Summary of Progress Toward Proving Program Correctness," Fall Joint Computer Conference, 1972, pp. 201–211.Google Scholar
  46. [Lis 71]
    Liskov, B. H. and Towster, E., "The Proof of Correctness Approach to Reliable Systems," The MITRE Corporation MTR 2073, Bedford, Massachusetts, 1971.Google Scholar
  47. [Lis 72a]
    Liskov, B. H., "The Design of the Venus Operating System," Comm. ACM, 1972, pp. 144–149Google Scholar
  48. [Lis 72b]
    Liskov, B. H., "A Design Methodology for Reliable Software Systems," Fall Joint Computer Conference, 1972, pp. 191–199.Google Scholar
  49. [Lon 70]
    London, R. L., "Bibliography on Proving the Correctness of Computer Programs," Machine Intelligence, 1970, pp. 569–580.Google Scholar
  50. [Mad 60]
    Madnick, S. and Alsop, J. W., II, "A Modular Approach to File System Design," AFIPS Conference Proceedings 34, 1969, pp. 1–13.Google Scholar
  51. [Man 69a]
    Manna, Z., "Properties of Programs and the First-Order Predicate Calculus," Journal of ACM, April 1969, pp. 244–255.Google Scholar
  52. [Man 69b]
    Manna, Z., "The Correctness of Programs," J. of Computer and System Sciences, May 1969, pp. 119–127.Google Scholar
  53. [Man 71]
    Manna, Z. and Waldinger, R. J., "Towards Automatic Program Synthesis," Comm. ACM, March 1971, pp. 151–165.Google Scholar
  54. [McC 62]
    McCarthy, J., "Towards a Mathematical Science of Computation," Proc. IFIP Cong., 1962, pp. 21–28.Google Scholar
  55. [McC 63]
    McCarthy, J., "A Basis for a Mathematical Theory of Computation," Computer Programming and Formal Systems, N. Holland Publ. Co., Amsterdam, 1963, pp. 33–70.Google Scholar
  56. [McC 67]
    McCarthy, J. and Painter, J. A., "Correctness of a Compiler for Arithmetic Expressions," Mathematical Aspects of Computer Science, Vol. 19, 1967, pp. 33–41.Google Scholar
  57. [McC 73]
    McCracken, D. D., "Revolution in Programming — An Overview," DATAMATION, December 1973, pp. 50–52.Google Scholar
  58. [McG 71]
    McGonagle, J. D., A Study of a Software Development Project, James P. Anderson and Co., September 21, 1971.Google Scholar
  59. [Mee 73]
    Meeker, R. E. and Ramamoorthy, C. V., "A Study in Software Reliability and Evaluation," Tech. Memo No. 39, Electronics Research Center, The University of Texas at Austin, February 1973.Google Scholar
  60. [Mil 71]
    Mills, H. D., "Top-Down Programming in Large Systems," Debugging Techniques in Large Systems, R. Rustin (ed), Prentice Hall, 1971, pp. 41–55.Google Scholar
  61. [Mil 73]
    Mills, H. D., "On the Development of Large Reliable Programs," Record of the 1973 IEEE Symposium on Computer Software Reliability, May 1973, pp. 155–158.Google Scholar
  62. [Mil 74]
    Miller, E. F., Paige, M. R., Benson, J. P., and Wisehart, W. R., "Structural Techniques of Program Validation," Proc. COMPCON, 1974.Google Scholar
  63. [Nau 66]
    Naur, P., "Proof of Algorithms by General Snapshots," BIT, 1966, pp. 310–316.Google Scholar
  64. [Ng 73]
    Ng, F., "Run-Time Protection Schemes for User Software," Master Thesis, University of California, Berkeley, 1973.Google Scholar
  65. [Pai 73]
    Paige, M. R. and Balkovich, E. E., "On Testing Programs," IEEE Symposium on Computer Software Reliability, 1973.Google Scholar
  66. [Par 71]
    Parnas, D. L., "On the Criteria to be Used in Decomposing Systems into Modules," Technical Report CMU-CS-71-101, Carnegie-Mellon University, 1971.Google Scholar
  67. [Par 72]
    Parnas, D. L., "A Technique for Software Module Specification with Examples," Comm. of ACM, May 1972, pp. 330–336.Google Scholar
  68. [Pet 67]
    Petersen, H. E. and Turn, R., "System Implications of Information Privacy," Spring Joint Comp. Conf., 1967, pp. 291–300.Google Scholar
  69. [Ram 66]
    Ramamoorthy, C. V., "Analysis of Graphs by Connectivity Considerations," JACM, 1966.Google Scholar
  70. [Ram 67]
    Ramamoorthy, C. V., "A Structural Theory of Machine Diagnosis," AFIPS SJCC, 1967.Google Scholar
  71. [Ram 71a]
    Ramamoorthy, C. V. and Chang, L. C., "System Segmentation for the Parallel Diagnosis of Computer," IEEE TC, March 1971.Google Scholar
  72. [Ram 71b]
    Ramamoorthy, C. V., "Computer Program Models," Symposium on Computers and Automata, Polytechnic Institute of Brooklyn, April 1971.Google Scholar
  73. [Ram 71c]
    Ramamoorthy, C. V., "Fault-Tolerant Computing: An Introduction and Overview," IEEE TC, November 1971.Google Scholar
  74. [Ram 71d]
    Ramamoorthy, C. V. and Mayeda, W., "Computer Diagnosis Using the Blocking Gate Approach," IEEE TC, November 1971.Google Scholar
  75. [Ram 73a]
    Ramamoorthy, C. V., "Error Control, Protection and Security of Real Time Computer Programs," Invited paper at the International Computer Conference in Taiwan, August 1973.Google Scholar
  76. [Ram 73b]
    Ramamoorthy, C. V., Meeker, R. E., and Turner, J., "Design and Construction of An Automated Software Evaluation System," IEEE Symposium on Computer Software Reliability, 1973.Google Scholar
  77. [Ram 74a]
    Ramamoorthy, C. V. and Cheung, R. C., "Design of Fault-Tolerant Computing Systems," to be published in Applied Computation Theory (ed. by R. Yeh), Prentice Hall, 1974.Google Scholar
  78. [Ram 74b]
    Ramamoorthy, C. V., Kim, K. H., and Chen, W. T., "The Blocking Gate Approach to Software Testing," in preparation.Google Scholar
  79. [Ran 69]
    Randel, B., "Towards a Methodology of Computer Systems Design," Software Engineering, January 1969, pp. 204–208.Google Scholar
  80. [Rus 71]
    Rustin, R. (ed), Debugging Techniques in Large Systems, Courant Symposium, 1971.Google Scholar
  81. [Sac 70]
    Sackman, H., Man-Computer Problem Solving, Auerback Publishers, Inc., 1970.Google Scholar
  82. [Sho 73]
    Shooman, M. L., "Operational Testing and Software Reliability Estimation During Program Development," Record of the 1973 IEEE Symposium on Computer Software Reliability, May 1973, pp. 51–57.Google Scholar
  83. [Tur 72]
    Turn, R. and Shapiro, N., "Privacy and Security in Databank Systems: Measures of Effectiveness, Costs, and Protector — Intruder Interactions," RAND Corporation Memo P-4871, July 1972.Google Scholar
  84. [Van 72]
    Van Tassel, D., Computer Security Management, Prentice Hall, 1972.Google Scholar
  85. [Wei 69]
    Weissman, C., "Security Controls in the ADEPT-50 Time-Sharing System," Fall Joint Comp. Conf., 1969.Google Scholar
  86. [Wei 71]
    Weinberg, G. M., The Psychology of Computer Programming, New York, Van Nostrand Reinhold, 1971.Google Scholar
  87. [Wil 70]
    Williman, A. O. and C. O'Donnell, "Through the Central ‘Multiprocessor’ Avionics Enters the Computer Era,” Astronautics and Aeronautics, July 1970.Google Scholar
  88. [Wul 71]
    Wulf, W. A., Russell, D. B., and Habermann, A. N., "BLISS: A Language for Systems Programming," Comm. of ACM, December 1971, pp. 780–790.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1974

Authors and Affiliations

  • C. V. Ramamoorthy
    • 1
  • R. C. Cheung
    • 1
  • K. H. Kim
    • 1
  1. 1.Department of Electrical Engineering and Computer Sciences Computer Science Division Electronics Research LaboratoryUniversity of California, BerkeleyUSA

Personalised recommendations