This Article 
 Bibliographic References 
 Add to: 
Verification of Concurrent Control Flow in Distributed Computer Systems
April 1988 (vol. 14 no. 4)
pp. 405-417

An approach to verifying control flow in distributed computer systems (DCS) is presented. The approach is based on control flow checking among software components distributed over processors and cooperating among them. In this approach, control flow behavior of DCS software is modeled and contained in special software components called verifiers. The verifiers are distributed over the processors and consulted to check the correctness of the control flow in DCS software during its execution. Algorithms for deriving the verifiers are presented. This technique can detect global errors including synchronization errors as well as local errors. It can be used for sequential or concurrent software at various levels of details. Experiments show that using this technique requires no significant overhead.

[1] K. H. Kim, "Error detection, reconfiguration and testing in distributed processing systems," inProc. 1st Int. Conf. Dist. Comput. Syst., Oct. 1979, pp. 284-295.
[2] L. G. Stucki and G. L. Foshee, "New assertion concepts for self metric software validation," inProc. Int. Conf. Reliable Software, Los Angeles, CA. Apr. 21-23, 1975, PP. 59-71.
[3] T. S. Chow, "A generalized assertion language." inProc. 2nd Int. Conf. Software Engineering, Oct.1979, pp. 392-399.
[4] P. M. Andrews, "Using executable assertions for testing fault-tolerance," inProc. Symp. Fault Tolerant Computing FTCS-9, 1979, pp. 102-105.
[5] W. T. Chen, J. P. Ho, and C. H. Wen, "Dynamic validation of programs using assertion checking facilities," inProc. COMPSAC 78, Nov. 1978, pp. 533-538.
[6] J. Horning, H. C. Lauer, P. M. Melliar-Smith, and B. Randell, "A program structure for error detection and recovery,"Lecture Notes in Computer Science, vol. 16, New York: Springer-Verlag, 1974, pp. 171-187.
[7] B. Randell, "System structure for software fault tolerance,"IEEE Trans. Software Eng., vol. SE-1, no. 2, pp. 220-232, June 1975.
[8] K. H. Kim, "An approach to programmer-transparent coordination of recovering parallel processes and its efficient implementation rules," inProc. Int. Conf. Parallel Processing, 1978, pp. 58-68.
[9] S. S. Yau and R. C. Cheung, "Design of self-checking software," inProc. 1975 Int. Conf. Reliable Software, Mar. 1975, pp. 450-457.
[10] S. S. Yau, "On error resistant software designs," inProc. 1978 Army, Numerical Analysis and Computers Conf., Mar. 1978, pp. 1-19.
[11] J. B. Goodenough, "Exception handling: issues and a proposed notation,"Commun. ACM, vol. 18, (Tech. Rep. 12), pp. 683-696. Dec. 1975.
[12] B. H. Liskov and A. Snyder, "Exception handling in CLU,"IEEE Trans. Software Eng., vol.SE-5, no. 6, pp. 546-558, Nov. 1979.
[13] F. Cristian, "Exception handling and software fault-tolerance," inProc. Symp. Fault-Tolerant Comautina FTCS-1O. 1980, pp. 97-103.
[14] L. Boi, P. Michel, M. Buis, J. M. Jantke, J. Cazin, and A. Pals, "Exception handling and error recovery techniques in modular systems: An application to the Isaure system," inProc. Symp. Fault-Tolerant Computing FTCS-II, 1981, pp. 62-64.
[15] C. V. Ramamoonhy and S.-B. F. Ho, Testing large software with automated software evaluation systems,"IEEE Trans. Software Eng., vol. SE-i, no. 1, Mar.-1975.
[16] S. S. Yau and D. C. Cochrane, "An approach to error-resistant software design," inProc. 2nd Int. Conf. Software Engineering, 1976, pp. 429-436.
[17] S. S. Yau and F. C. Chen, "An approach to concurrent control flow checking,"IEEE Trans. Software Eng., vol.SE-6. no. 2, pp. 126- 137. Mar. 1980.
[18] J. R. Kane and S. S. Yau, "Concurrent software fault detection,"IEEE Trans. Software Eng., vol.SE-1, no. 1, pp. 87-99. Mar. 1975.
[19] J. M. Ayache, P. Azema, and M. Diaz, "Observer: A concept for on-line detection of control errors in concurrent systems." inProc. 9th Int. Symp. Fault Tolerant Computing, vol. 9, pp. 79-86, 1979.
[20] R. H. Campbell and A. N. Habermann. "The specification of process synchronization by path expressions." inLecture Notes in Computer Science vol. 16, Operating Systems, Apr. 1974, pp. 89-102.
[21] A. C. Shaw, "Software descriptions with flow expressions,"IEEE Trans. Software Eng., vol. SE-4, no. 3, May 1978.
[22] R. R. Oldehoeft, "Program graphs and execution behavior,"IEEE Trans. Software Eng., vol. SE-9, no. 1, pp. 103-108, Jan. 1983.
[23] M. Weiser, "Reconstructing sequentialbehavior from parallel behavior projections." Inform.Processing Lett., vol. 17, pp. 129-135, Oct. 1983.
[24] P. M. Lu and S. S. Yau, "A methodology for representing the formal specification of distributed computing system software design," inProc. 1st Int. Conf. Distributed Computing Systems, Oct. 1979, pp. 212-221.
[25] P. M. Lu, S. S. Yau and W. Hong, "A formal methodology using attributed grammars for multiprogramming system software development I: Design representation" and "II: Validation,"J. Inform., Sci., vol. 30, pp. 79-105, 107-123, 1983.
[26] P. H. Enslow, Jr.. "What is a distributed data processing system?,"Computer, pp. 13-21, vol. 11, Jan. 1978.
[27] B. Lampson, "Remote procedure calls." inLecture Notes in Computer Science, vol.105, Berlin: Spring-Verlag, 1981, pp. 365-370.
[28] B. Liskov, "Primitives for distributed computing," inProc. 7th ACM Symp. Operating Systems, Apr. 1981, pp. 33-42.
[29] S. S. Yau, C. C. Yang, and S. M. Shatz, "An approach to distributed computing system software design,"IEEE Trans. Software Eng., vol.SE-7, no. 4, pp. 427-436, July 1981.
[30] A. V. Aho and J. D. Ullman,The Theory of Parsing, Translation, and Compiling, Vol. 1: Parsing. Englewood Cliffs, NJ: Prentice-Hall, 1972.
[31] J. D. Ichbiah etal., "Preliminary Ada reference manual,"SIGPLAN Notices, vol. 14, no. 6, June 1979.
[32] L. Svobodova, "Reliability issues in distributed information processing systems," inDig. Papers FTCS-9: 9th Annu. Symp. Fault-Tolerant Computing, 1979, pp. 9-16.
[33] B. Liskov and R. Scheifler, "Guardians and actions: linguistic support for robust, distributed programs,"ACM Trans. Program. Languages Syst., vol. 5, no. 3, pp. 381-404, July 1983.
[34] C. A. R. Hoare, "Communicating sequential processes,"Commun. ACM, vol. 21, pp. 666-677, 1978.
[35] H. Hecht, "Fault-tolerant software for real-time applications,"ACM Comput. Surveys, vol. 8, no. 4, pp. 391-407, Dec. 1976.
[36] R. H. Campbell, K. H. Horton, and G. Cl. Belford, "Simulations of a fault-tolerant deadline mechanism," inDig. Papers FTCS-9: 9th Annu. Symp. Fault-Tolerant Computing, June 1979, pp. 95-101.

Index Terms:
Context-free grammar, control flow checking, distributed software, fault-tolerance, software design representation.
S.S. Yau, W. Hong, "Verification of Concurrent Control Flow in Distributed Computer Systems," IEEE Transactions on Software Engineering, vol. 14, no. 4, pp. 405-417, April 1988, doi:10.1109/32.4662
Usage of this product signifies your acceptance of the Terms of Use.