Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.

Slides:



Advertisements
Similar presentations
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
Advertisements

Specification, Partitioning, and Composition Techniques for Web Applications in the Context of Event-B Abdolbaghi Rezazadeh Michael Butler University of.
Architecture Representation
Model based conformance testing of communication protocols in common programming language Nikolay Pakulin Senior Researcher, ISP RAS, Moscow
Alternate Software Development Methodologies
Run Time Monitoring of Reactive System Models Mikhail Auguston Naval Postgraduate School Mark Trakhtenbrot Holon Academic Institute of.
Error Management with Design Contracts Karlstad University Computer Science Error Management with Design Contracts Eivind J. Nordby, Martin Blom, Anna.
Automated creation of verification models for C-programs Yury Yusupov Saint-Petersburg State Polytechnic University The Second Spring Young Researchers.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Mi-Joung choi, Hong-Taek Ju, Hyun-Jun Cha, Sook-Hyang Kim and J
ISBN Chapter 1 Preliminaries. Copyright © 2004 Pearson Addison-Wesley. All rights reserved.1-2 Chapter 1 Topics Motivation Programming Domains.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
Programming Languages Structure
1 New Architectures Need New Languages A triumph of optimism over experience! Ian Watson 3 rd July 2009.
ISBN Chapter 1 Topics Motivation Programming Domains Language Evaluation Criteria Influences on Language Design Language Categories Language.
POP Configuration Microsoft Outlook What is POP? Short for Post Office Protocol, a protocol used to retrieve from a mail server. Most.
Basic Concepts The Unified Modeling Language (UML) SYSC System Analysis and Design.
IT 424 Networks2 IT 424 Networks2 Ack.: Slides are adapted from the slides of the book: “Computer Networking” – J. Kurose, K. Ross Chapter 2: Application.
TEST SUITE DEVELOPMENT FOR CONFORMANCE TESTING OF PROTOCOLS Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD Institute for System Programming.
Computer Networking From LANs to WANs: Hardware, Software, and Security Chapter 12 Electronic Mail.
1 Applications Electronic Mail. 2 Electronic Mail Many user applications use client-server architecture. Electronic mail client accepts mail.
K. Jamroendararasame*, T. Matsuzaki, T. Suzuki, and T. Tokuda Department of Computer Science, Tokyo Institute of Technology, JAPAN Two Generators of Secure.
Verification and Test Automation of UML Projects Nikita Voinov, Vsevolod Kotlyarov (Saint-Petersburg State Polytechnic University) The Third Spring Young.
1 Apache. 2 Module - Apache ♦ Overview This module focuses on configuring and customizing Apache web server. Apache is a commonly used Hypertext Transfer.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Ranga Rodrigo. The purpose of software engineering is to find ways of building quality software.
CSC-682 Cryptography & Computer Security Sound and Precise Analysis of Web Applications for Injection Vulnerabilities Pompi Rotaru Based on an article.
What is software testing? 1 What are the problems of software testing? 2 Time is limited Applications are complex Requirements are fluid.
Software Engineering Research paper presentation Ali Ahmad Formal Approaches to Software Testing Hierarchal GUI Test Case Generation Using Automated Planning.
(Business) Process Centric Exchanges
1 SMTP - Simple Mail Transfer Protocol –RFC 821 POP - Post Office Protocol –RFC 1939 Also: –RFC 822 Standard for the Format of ARPA Internet Text.
TTCN-3 MOST Challenges Maria Teodorescu
SIMPLE MAIL TRANSFER PROTOCOL. Introduction Simple Mail Transfer Protocol is the standard protocol on the Internet and part of the TCP/IP protocol.
1 Application of UniTESK Technology for Functional Testing of Infrastructural Grid Software Sergey Smolov, Institute for System Programming, RAS
Software Requirements: A More Rigorous Look 1. Features and Use Cases at a High Level of Abstraction  Helps to better understand the main characteristics.
1 Copyright © The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Dynamic Host Configuration Protocol (DHCP)
Week 14 Introduction to Computer Science and Object-Oriented Programming COMP 111 George Basham.
Karolina Muszyńska Based on: S. Wrycza, B. Marcinkowski, K. Wyrzykowski „Język UML 2.0 w modelowaniu SI”
MDD approach for the Design of Context-Aware Applications.
INTERNET PROTOCOLS. Microsoft’s Internet Information Server Home Page Figure IT2031 UNIT-3.
Automatic Testing of Neighbor Discovery Protocol Based on FSM and TTCN Zhiliang Wang, Xia Yin, Haibin Wang, Jianping Wu Department of Computer Science.
Generating Software Documentation in Use Case Maps from Filtered Execution Traces Edna Braun, Daniel Amyot, Timothy Lethbridge University of Ottawa, Canada.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
The Systems Development Environment Systems Analysis and Design II.
Software Quality and Safety Pascal Mbayiha.  software engineering  large, complex systems  functionality, changing requirements  development difficult.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
1 Contractual Consistency Between BON Static and Dynamic Diagrams Ali Taleghani July 30, 2004.
IBM Global Services © 2005 IBM Corporation SAP Legacy System Migration Workbench| March-2005 ALE (Application Link Enabling)
McGraw-Hill/Irwin© 2008 The McGraw-Hill Companies, All Rights Reserved Chapter 17 Object-Oriented Design and Modeling Using the UML.
Whole Test Suite Generation. Abstract Not all bugs lead to program crashes, and not always is there a formal specification to check the correctness of.
TRIUMF HLA Development High Level Applications Perform tasks of accelerator and beam control at control- room level, directly interfacing with operators.
Software testing with CTesK Study 5. Test development process 1.Decision on area and depth of testing 2.Development of behavior model to be tested 3.Structuring.
TTCN-3 Testing and Test Control Notation Version 3.
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
Business Process Execution Language (BPEL) Pınar Tekin.
Application Layer Functionality and Protocols Abdul Hadi Alaidi
Network Programming 10- SMTP-POP3
TTCN Case Study - InterWatch
Allow tool-specific code in TTCN-3 as well in conformance test suite
Distributed web based systems
Deploying and Configuring SSIS Packages
Lecture 6: TCP/IP Networking By: Adal Alashban
Working at a Small-to-Medium Business or ISP – Chapter 7
Working at a Small-to-Medium Business or ISP – Chapter 7
Simple Mail Transfer Protocol
Working at a Small-to-Medium Business or ISP – Chapter 7
Chapter 20 Object-Oriented Analysis and Design
Design Yaodong Bi.
Software Development Process Using UML Recap
Presentation transcript:

Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD

2/19 Internet Protocols Features  Internet protocols are underspecified  Internet protocols are nondeterministic  Internet protocols requirements differ in the level of obligations (MUST, SHOULD, MAY, …)  Protocol’s architecture is extensible

3/19 Architecture of Extensible Protocols Protocol Functions Basic are mandatory for all protocol implementations; specifies the basic protocol functionality, functions that are the basis for the protocol Extensions are optional, may be unsupported by implementations; add new functions without changing the basic protocol’s model; alter format of the protocol’s messages; alter basic protocol model, alter functionality of other extensions; alter protocol’s modus operandi

4/19 Conformance Testing Many implementations of protocols from different developers are functioning in the contemporary Internet The total reliability of data transfer substantially depends on implementations compatibility The basic method of attesting implementations compatibility is conformance testing (testing to conform to the standard) Protocol’s extensions may alter protocol’s standards

5/19 Traditional Methodology of Conformance Testing  Test suite consists of formal given tests which are not connected to the implementation  Test purposes describe situations to be tested. Test purpose is realized in one or several tests  Connections between requirements and test purposes and between test purposes and their tests are informal  Implementation is considered to conform to the standard if all test purposes have been passed

6/19 A Problem with Test Suites Extensions Basic Standard + few extensions Test Basic Standard + few extensions + one more extension How can we get a new test ? assume, that we already got it manually change the test suite constructing new test from a set of test units

7/19 A Problem with Adapting Test Suites to Implementations IUT1 extension 1 extension 2 IUT2 extension 1 extension 3 IUT3 extension 4 How can we compose tests for each implementation? Manually adapt the tests Set a number of options in the configuration file if (extension1) {…} else {… } Use specification and test units and automatically compose test suites for target set of extensions from that units

8/19 Requirements for Test Suite for Extensible Protocols Testing  For basic standards:  formal relation between requirements and tests  automated verdict assignment about the correctness of IUT behavior  automated tests generation depending on IUT responses  For extensions:  easily changing of a protocol model  the ability to combine specifications and tests from separate units

9/19 A Method for Extensible Protocols Testing  Constructing specification from units  Specification for implementation is a collection of specifications units (basic specification, extensions specifications).  Developing tests as units  The comprehensive test is a composition of units of tests for basic functionality and supported implementations.  Automated construction of model and tests for an arbitrary set of extensions

10/19 A Method for Extensible Protocols Testing. Features  Each specification unit do  check the postcondition  change the test state  assign a verdict concerning the correctness of IUT behavior  Test sequence iterator  test sequence generates automatically from test model and contract specifications  Automated coverage calculation  states and transitions may be labeled with marks and branches, in this case they will be represented in the test report.  Easily changing of a protocol model

11/19 Case Study. SMTP Protocol  SMTP – Simple Mail Transfer Protocol  SMTP protocol has 7 states:  DISCONNECTED  CONNECTED  AFTER HELLO  AFTER MAIL FROM  AFTER RCPT TO  AFTER DOT  AFTER DATA Transaction commands are allowed only from these states

12/19 Case Study. Changing SMTP Protocol Model  If AUTH extension is supported SMTP protocol has 8 states:  DISCONNECTED  CONNECTED  AFTER HELLO  AFTER AUTH  AFTER MAIL FROM  AFTER RCPT TO  AFTER DOT  AFTER DATA Several commands are allowed only after AUTH command was successfully handled

13/19 A Method for Extensible Protocols Testing. Protocol Model Model is an extended finite state machine command addition state addition a с t i o n s statesstates

14/19 A Method for Extensible Protocols Testing. Protocol Model Case Study Define 2 mappings :  allowed  denied Got 2 types of testing:  conformance (unknown transitions are considered as denied)  robustness (unknown transitions are considered as allowed)

15/19 A Method for Extensible Protocols Testing. Main Steps  Creation of requirements catalogues  Designing of extensible model for the protocol  Developing units with specifications and units with tests  Formalization of requirements  Developing test scenarios  Constructing a comprehensive test for target implementation, executing it and analyzing the results

16/19 Test Suite for SMTP Protocol  Basic Specification  model ~1250 strings  test scenario ~250 strings  DSN extension (Delivery Status Notifications)  Adds new functionality  Brings in new parameters into existing commands MAIL and RCPT, doesn’t change the protocol model.  model ~100 strings  test scenario ~ 50 strings  AUTH Extension (Authentication)  Alter basic functionality  Adds new state into the protocol model, adds new AUTH command or parameter for existing command MAIL, brings in new response codes.  model ~250 strings  test scenario ~120 strings

17/19 Future Work  Extend the method to develop tests for other types of protocols extensions  Dynamically construct the model of target implementation taking into account the profile of supported extensions  Extend test traces and improve test report generator

18/19 Conclusion  The method for model based conformance test suite development for extensible protocols is presented  method is model based  uses unit approach for modeling and specifying tests for protocols extensions  uses pure Java without any extensions  The prototype of test suite for SMTP protocol with extensions was developed using presented method. The developed test suite allows to find the following types of incompliances:  protocol rules violation  absence of supporting of required commands  wrong reply codes to protocol commands

19/19 Thank You!