Skip to main content

Tractable flow analysis for anomaly detection in distributed programs

  • Conference paper
  • First Online:
Book cover Software Engineering — ESEC '93 (ESEC 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 717))

Included in the following conference series:

Abstract

Each process in a distributed program or design can be modelled as a process flow graph, where nodes represent program statements and directed edges represent control flows. This paper describes a flow analysis method to detect unreachable statements by examining the control flows and communication patterns in a collection of process flow graphs. The method can analyse programs with loops, non-deterministic structures and synchronous communication using an algorithm with a quadratic complexity in terms of program size. The method follows an approach described by Reif and Smolka [9] but delivers a more accurate result in assessing the reachability of statements. The higher accuracy is achieved using three techniques: statement dependency, history sets and statement re-reachability. The method is illustrated by a pump control application for a mining environment. A prototype has been implemented and its performance is presented.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G.S. Avrunin, U.A. Buy, J.C. Corbett, et al.: Automated Analysis of Concurrent Systems with the Constrained Expression Toolset IEEE TOSE 17, 11, 1204–1222.

    Google Scholar 

  2. S.C. Cheung and J. Kramer: Tractable Flow Analysis for Anomaly Detection in Distributed Programs, Technical Report, DOC 1993/3, March 1993.

    Google Scholar 

  3. P.C. Kanellakis and S.A. Smolka: On the Analysis of Cooperation and Antagonism in Networks of Communicating Processes. In Proc. 4th ACM Symposium on Principles of Distributed Computing, Ontario, Canada, August 1985, pp. 23–38.

    Google Scholar 

  4. J. Kramer, J. Magee, M. Sloman, et al.: CONIC: an Integrated Approach to Distributed Computer Control Systems. IEE Proceedings, Part E 130, 1 (January 1983), 1–10.

    Google Scholar 

  5. C.E. McDowell and D.P. Helmbold: Debugging Concurrent Programs. ACM Computing Surveys 21, 4, 593–623.

    Google Scholar 

  6. N. Mercouroff: An Algorithm for Analyzing Communicting Processes. In Proc. Mathematical Foundation of Programming Semantics '91, Pittsburgh, PA, March 1991, published in LNCS 598.

    Google Scholar 

  7. W. Peng and S. Purushothaman: Towards data flow analysis of communicating finite state machines. In Proc. 8th ACM Symposium on Principles of Distributed Computing, August 1989.

    Google Scholar 

  8. W. Peng and S. Purushothaman: Data Flow Analysis of Communicating Finite State Machines. ACM Transactions on Programming Languages and Systems 13, 3, 399–432.

    Google Scholar 

  9. J. Reif and S. Smolka: Data Flow Analysis of Distributed Communicating Processes. Internation Journal of Parallel Programming 19, 1 (1990), 1–30.

    Google Scholar 

  10. J.H. Reif: Dataflow Analysis of Communicating Processes. In Proc. 6th ACM Symposium on Principles of Programming Languages, June 1979, pp. 257–268.

    Google Scholar 

  11. K.C. Tai and C.Y. Din: Validation of Concurrency in Software Specification and Design. In Proc. 3rd International Workshop on Software Specification and Design, London, UK, August 1985, pp. 223–227.

    Google Scholar 

  12. R.N. Taylor: Complexity of Analyzing the Synchonization Structure of Concurrent Programs. Acta Informatica 19, 57–84.

    Google Scholar 

  13. R.D. Yang and C.G. Chung: The Analysis of Infeasible Concurrent Paths of Concurrent Ada Programs. In Proc. 14th Annual International Computer Software and Applications Conference (COMPSAC 90), Chicago, Illinois, October 1990, pp. 424–429.

    Google Scholar 

  14. M. Young and R.N. Taylor: Combining Static Concurrency Analysis with Symbolic Execution. IEEE Transactions on Software Engineering 14, 10, 1499–1511.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Ian Sommerville Manfred Paul

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Cheung, S.C., Kramer, J. (1993). Tractable flow analysis for anomaly detection in distributed programs. In: Sommerville, I., Paul, M. (eds) Software Engineering — ESEC '93. ESEC 1993. Lecture Notes in Computer Science, vol 717. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57209-0_20

Download citation

  • DOI: https://doi.org/10.1007/3-540-57209-0_20

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57209-1

  • Online ISBN: 978-3-540-47972-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics