Abstract
In this paper, we describe how formal specification is adopted to improve the commonly used verification and validation technique known as program inspection, in order to establish a more rigorous, repeatable, and efficient inspection process than the conventional practice. We present a systematic approach to inspecting program code on the basis of the relation between functional scenarios defined in a specification and execution paths implemented in its program. We report a prototype tool for the approach to support both forward and backward inspection strategies, and a case study of inspecting an Automatic Teller Machine system to evaluate the performance of the approach and the tool.
This work is supported by the Ministry of Education, Culture, Sports, Science, and Technology of Japan under Grant-in-Aid for Scientific Research on Priority Areas (No. 16016279).
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Fagan, M.E.: Design and Code Inspections to Reduce Errors in Program Development. IBM Systems Journal 15(3), 182–211 (1976)
Porter, A.A., Siy, H.P., Votta, L.G.: A Review of Software Inspections. Advances in Computers 42, 39–76 (1996)
Laitenberger, O., DeBaud, J.-M.: An Encompassing Life-Cycle Centric Survey of Software Inspection. Journal of Systems and Software 50(1), 5–31 (2000)
Gilb, T., Graham, D.: Software Inspection. Addison-Wesley, Reading (1993)
NASA. Software Formal Inspection Process Standard. NASASTD-2202-93 (1993)
Parnas, D.L., Weiss, D.M.: Active Design Reviews: Principles and Practice. In: 8th International Conference on Software Engineering, pp. 132–136 (1985)
Knight, J.C., Myers, E.A.: An Improved Inspection Technique. Communications of the ACM 36(11), 51–61 (1993)
Parnas, D.L., Lawford, M.: The Role of Inspection in Software Quality Assurance. IEEE Transactions on Software Engineering 29(8), 674–676 (2003)
Larsen, P.G., Fitzgerald, J., Brookes, T.: Applying Formal Specification in Industry. IEEE Software 13(3), 48–56 (1996)
Heitmeyer, C.L.: Applying the SCR Requirements Method to a Weapons Control Panel: an Experience Report. In: Proceedings of the Second Workshop on Formal Methods in Practice, pp. 92–102. ACM Press, New York (1998)
Babin, G., Lustman, F.: Application of Formal Methods to Scenario-based Requirements Engineering. International Journal of Computers and Applications 23(3), 141–151 (2001)
Sahara, S.: An Experience of Applying Formal Method on a Large Business Application (in Japanese). In: Proceedings of 2004 Symposium of Science and Technology on System Verification, Osaka, Japan, February 4-6, pp. 93–100. National Institute of Advanced Industrial Science and Technology, AIST (2004)
Parnas, D.L., Madey, J., Iglewski, M.: Precise Documentation of Well-Structured Programs. IEEE Transactions on Software Engineering 20(12), 948–976 (1994)
Goodrich, M.T., Tamassia, R.: Data Structures and Algorithms in Java. John Wiley & Sons, Inc., Chichester (2001)
Liu, S.: Formal Engineering for Industrial Software Development Using the SOFL Method. Springer, Heidelberg (2004)
Iwu, F.O., Galloway, A., Toyn, I., McDermid, J.A.: Practical Formal Specification for Embedded Control Systems. In: INCOM 2004: 11th IFAC Symposium on Information Control Problems in Manufacturing, p. 6 (April 2004); Special session on formal methods: promising solutions to improve industrial controllers’ dependability
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2005 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Liu, S., Nagoya, F., Chen, Y., Goya, M., McDermid, J.A. (2005). An Automated Approach to Specification-Based Program Inspection. In: Lau, KK., Banach, R. (eds) Formal Methods and Software Engineering. ICFEM 2005. Lecture Notes in Computer Science, vol 3785. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11576280_29
Download citation
DOI: https://doi.org/10.1007/11576280_29
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-29797-0
Online ISBN: 978-3-540-32250-4
eBook Packages: Computer ScienceComputer Science (R0)