Connectors as designs: Modeling, refinement and test case generation

被引:14
|
作者
Meng, Sun [1 ,2 ]
Arbab, Farhad [2 ]
Aichernig, Bernhard K. [3 ]
Astefanoaei, Lacramioara [2 ]
de Boer, Frank S. [2 ]
Rutten, Jan [2 ]
机构
[1] Peking Univ, Sch Math Sci, LMAM, Beijing 100871, Peoples R China
[2] CWI, NL-1009 AB Amsterdam, Netherlands
[3] Graz Univ Technol, Inst Software Technol, A-8010 Graz, Austria
关键词
Connector; Reo circuits; Timed data sequence; Design; Refinement; Test case generation; SEMANTICS; REO;
D O I
10.1016/j.scico.2011.04.002
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Over the past years, the need for high-confidence coordination mechanisms has intensified as new technologies have appeared for the development of service-oriented applications, making formalization of coordination mechanisms critical. Unifying Theories of Programming (UTP) provide a formal semantic foundation not only for programming languages but also for various expressive specification languages. A key concept in UTP is design: the familiar pre/post-condition pair that describes a contract. In this paper we use UTP to formalize Reo connectors, whereby connectors are interpreted as designs in UTP. This model can be used as a semantic foundation for proving properties of connectors, such as equivalence and refinement relations between connectors. Furthermore, it can be used as a reference document for developing tool support for Reo, such as test case generators. A fault-based method to generate test cases for component connectors from specifications is also provided in this paper. For connectors, faults are caused by possible errors during the development process, such as wrongly used channels, missing or redundant subcircuits, or circuits with wrongly constructed topology. We give test cases and connectors a unifying formal semantics by using the notion of design in UTP, and generate test cases by solving constraints obtained from a specification and a faulty implementation. A prototype serves to demonstrate the automatization of the approach. (c) 2011 Elsevier B.V. All rights reserved.
引用
收藏
页码:799 / 822
页数:24
相关论文
共 50 条
  • [1] Connectors as Designs
    Meng, Sun
    Arbab, Farhad
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2009, 255 : 119 - 135
  • [2] Refinement and Test Case Generation in UTP
    Aichernig, Bernhard K.
    He, Jifeng
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2007, 187 (125-143) : 125 - 143
  • [3] Fault-based Test Case Generation for Component Connectors
    Aichernig, Bernhard K.
    Arbab, Farhad
    Astefanoaei, Lacramioara
    de Boer, Frank S.
    Meng, Sun
    Rutten, Jan
    THIRD INTERNATIONAL SYMPOSIUM ON THEORETICAL ASPECTS OF SOFTWARE ENGINEERING, PROCEEDINGS, 2009, : 147 - 154
  • [4] Modeling and Analysis of Component Connectors in Coq
    Li, Yi
    Sun, Meng
    FORMAL ASPECTS OF COMPONENT SOFTWARE, 2014, 8348 : 273 - 290
  • [5] Modeling and Verification of Component Connectors
    Zhang, Xiyue
    FORMAL METHODS AND SOFTWARE ENGINEERING, ICFEM 2018, 2018, 11232 : 419 - 422
  • [6] Modeling and Test Case Generation of Inter-Component Communication in Android
    Jha, Ajay Kumar
    Lee, Sunghee
    Lee, Woo Jin
    2ND ACM INTERNATIONAL CONFERENCE ON MOBILE SOFTWARE ENGINEERING AND SYSTEMS MOBILESOFT 2015, 2015, : 113 - 116
  • [7] Modeling and verification of component connectors in Coq
    Li, Yi
    Sun, Meng
    SCIENCE OF COMPUTER PROGRAMMING, 2015, 113 : 285 - 301
  • [8] Automatic Test Case Generation for Interacting Services
    Kaschner, Kathrin
    Lohmann, Niels
    SERVICE-ORIENTED COMPUTING - ICSOC 2008 WORKSHOPS, 2009, 5472 : 66 - 78
  • [9] Test4Enforcers: Test Case Generation for Software Enforcers
    Guzman, Michell
    Riganelli, Oliviero
    Micucci, Daniela
    Mariani, Leonardo
    RUNTIME VERIFICATION (RV 2020), 2020, 12399 : 279 - 297
  • [10] Does this fault lead to failure? Combining refinement and input-output conformance checking in fault-oriented test-case generation
    Aichernig, Bernhard K.
    Joebstl, Elisabeth
    Tappler, Martin
    JOURNAL OF LOGICAL AND ALGEBRAIC METHODS IN PROGRAMMING, 2016, 85 (05) : 806 - 823