Abstract
Checking if the implementations conform to the requirement models is challenging. Most existing techniques for consistency checking either focus on requirement models (e.g., requirements consistency checking), or on the implementations (e.g., code-based testing) only. In this paper we propose an approach to checking behavioral consistency of implementations against requirement models directly to overcome these limitations. Our approach extracts two behavioral models represented by Labelled Transition Systems(LTS) from requirement models and implementations respectively, and checks the behavioral consistency between these two models based on behavioral simulation relation of LTS. The checking results of our approach provide evidence for behavioral inconsistency as well as inconsistent localization. A research prototype called BCCH and a case study are presented to give initial validation of this approach.
Similar content being viewed by others
References
Cheng B H, Atlee J M. Research directions in requirements engineering [C]// Proc of the Future of Software Engineering. Minneapolis: IEEE, 2007: 285–303.
Blanc X, Mounier I, Mougenot A. Detecting model inconsistency through operation-based model construction[C]// Proc of ACM/IEEE 30th International Conference on Software Engineering. Leipzig: IEEE,2008: 511–520.
Liu W, Easterbrook S, Mylopoulos J. Rule-based detection of inconsistency in uml models[C]// Proc of the 5th International Conference on the Unified Modelling Language (UML 02). Toront: Springer-Verlag, 2002:106–123.
Da Silva M A A, Mougenot A, Blanc X, et al. Towards automated inconsistency handling in design models[C]//Proc of Advanced Information Systems Engineering. Hammamet: Springer-Verlag, 2010: 348–362.
Egyed A. Instant consistency checking for the uml[C]// Proc of the 28th International Conference on Software Engineering. Shanghai: IEEE, 2006:381–390.
Clarke E M, Emerson E A, Sifakis J. Model checking: algorithmic verification and debugging[J]. Communications of ACM, 2009, 52(11):74–84.
Yao Y, Wu G Q, Wang L, et al. Behavior-oriented requirement description language[C]// International Conference on in Computational Intelligence and Software Engineering. Wuhan: IEEE, 2009:1–5.
Liang Z P, Wu G Q, Wang L. Lightweight behavior-based language for requirements modeling[J]. Journal of Software Engineering and Applications, 2010, 3(3): 245–254.
Cheng S, Wu G Q. Modeling and formal analysis of real-time system via ccs[C]// International Symposium on Computer Science and Computational Technology. Shanghai: IEEE, 2008: 321–324.
Potter B, Till D, Sinclair J. An Introduction to Formal Specification and Z [M]. New Jersey: Prentice Hall, 1996.
Xing Z, Stroulia E. Umldiff: An algorithm for object-oriented design differencing[C]// Proc of the 20th IEEE/ACM International Conference on Automated Software Engineering. New York: ACM, 2005: 54–65.
Xing Z, Sun J, Liu Y, et al. Differencing labeled transition systems[J]. Formal Methods and Software Engineering, 2011,6991: 537–552.
Bogdanov K, Walkinshaw N. Computing the structural difference between state-based models[C]// 16th Working Conference on Reverse Engineering. Lille: IEEE, 2009: 177–186.
Corbett J C, Dwyer M B, Hatcliff J, et al. Bandera: Extracting finite-state models from java source code[C]// Proc of International Conference on Software Engineering. Limerick: IEEE, 2000: 439–448.
Du Varney D C, Iyer S P. C wolf-a toolset for extracting models from C programs[J]. Formal Techniques for Networked and Distributed Sytems, 2002:260–275.
Chechik M, Cannon J. Automatic analysis of consistency between implementations and requirements: A case study[C]// Proc of the Tenth Annual Conference on Computer Assurance, Systems Integrity, Software Safety and Process Security. Gaithersburg: IEEE, 1995: 123–131.
Alspaugh T A, Faulk S R, Britton K H, et al. Software requirements for the a-7e aircraft[EB/OL]. [2014-05-10]. http://www.dtic.mil/dtic/tr/fulltext/u2/a255746.pdf.
Tretmans J. Model based testing with labelled transition systems[C]// Formal Methods and Testing. Berlin, Heidelberg: Springer-Verlag, 2008,4949: 1–38.
Bergstra J A, Ponse A, Smolka S A. Handbook of Process Algebra [M]. New York: Elsevier Science Inc, 2001.
Darke P, Shanks G. Stakeholder viewpoints in requirements definition: A framework for understanding viewpoint development approaches[J]. Requirements Engineering, 1996,1(2): 88–105.
De Moura L, Bjørner N. Z3: An efficient smt solver[C]// Tools and Algorithms for the Construction and Analysis of Systems.Berlin: Springer-Verlag, 2008,4963: 337–340.
Arnold D, Corriveau J P, Shi W. Modeling and validating requirements using executable cotnracts and scenarios[C]// Proc of Eighth ACIS International Conference on Software Engineering Research, Management and Applications. Montreal: IEEE, 2010: 311–320.
Author information
Authors and Affiliations
Corresponding author
Additional information
Foundation item: Supported by the National Natural Science Foundation of China (91118003, 61003071), the Fundamental Research Funds for the Central Universities (3101046, 201121102020006) and the Special Funds for Shenzhen Strategic New Industry Development (JCYJ20120616135936123)
Biography: XU Yong, male, Ph.D. candidate, research direction: software engineering.
Rights and permissions
About this article
Cite this article
Xu, Y., Ling, X., Wu, G. et al. Behavioral consistency checking between requirements and implementations. Wuhan Univ. J. Nat. Sci. 19, 477–488 (2014). https://doi.org/10.1007/s11859-014-1042-0
Received:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s11859-014-1042-0