Abstract
We describe a case study where novel program analysis technology has been used to pinpoint a subtle bug in a formally developed control program for an embedded system. The main technology amounts to first defining a process algebra (called behaviours) suited to the programming language used (in our case CML) and secondly to devise an annotated type and effect system for extracting behaviours from programs in a such a manner that an automatic inference algorithm can be developed. The case study is a control program developed for the “Karlsruhe Production Cell” and our analysis of the behaviours shows that one of the safety conditions fails to hold.
Chapter PDF
References
T. Amtoft, F. Nielson, and H. R. Nielson. Polymorphic subtyping for side effects. Book manuscript, DAIMI PB-529, Aarhus Univesity, 1997.
T. Amtoft, H. R. Nielson, and F. Nielson. Behaviour analysis for validating communication patterns. DAIMI PB-527, Aarhus University, 1997.
K. L. S. Gasser, F. Nielson, and H. R. Nielson. Systematic realisation of control flow analyses for CML. In Proceedings of ICFP'97, pages 38–51. ACM Press, 1997.
C. Lewerentz and T. Lindner. Formal Development of Reactive Systems, Case Study “Production Cell”. SLNCS vol 891, Springer Verlag, 1995.
R. Milner, M. Tofte, and R. Harper. The definition of Standard ML. MIT Press, 1990.
F. Nielson, H. R. Nielson, and C. L. Hankin. Principles of Program Analysis: Flows and Effects. To appear, 1999.
H. R. Nielson and F. Nielson. Higher-Order Concurrent Programs with Finite Communication Topology. In Proc. POPL '94, 1994.
H. R. Nielson and F. Nielson. Communication analysis for Concurrent ML. In ML with Concurrency, Monographs in Computer Science. Springer-Verlag, 1997.
J.H. Reppy. Concurrent ML: Design, application and semantics. In Proc. Functional programming, Concurrency, Simulation and Automated Reasoning, SLNCS 693, pages 165–19, 1993.
H. Rischel and H. Sun. Design and prototyping of real-time systems using CSP and CML. In Proc. 9th Euromicro Workshop on Real-Time Systems, pages 121–127. IEEE Computer Society Press, 1997.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Nielson, H.R., Amtoft, T., Nielson, F. (1998). Behaviour analysis and safety conditions: A case study in CML. In: Astesiano, E. (eds) Fundamental Approaches to Software Engineering. FASE 1998. Lecture Notes in Computer Science, vol 1382. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0053595
Download citation
DOI: https://doi.org/10.1007/BFb0053595
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64303-6
Online ISBN: 978-3-540-69723-7
eBook Packages: Springer Book Archive