Coverage Testing SDL Models

Similar documents
Coverage Testing SDL Models

Coverage Testing Architectural Design in SDL

Adaptive Random Testing

Dataflow-based Coverage Criteria

Review of Regression Test Case Selection Techniques

Application Testability for Fault Detection Using Dependency Structure Algorithm

Statisticians in the Federal Government: Producing Data on the Criminal Justice System

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Efficient Regression Test Model for Object Oriented Software

Developing a Model for Cyber Security Maturity Assessment

Execution of UML models Present and Future of Research and Practice

Introduction to Telelogic Tau SDL Suite

SOFTWARE ENGINEERING

Examination Questions Time allowed: 1 hour 15 minutes

SOFTWARE ENGINEERING

Effective program debugging based on execution slices and inter-block data dependency

SEGUE DISCOVERY PARTICIPATION IN DISCOVERY DISCOVERY DELIVERABLES. Discovery

BRANCH COVERAGE BASED TEST CASE PRIORITIZATION

Verification and Validation of Models for Embedded Software Development Prashant Hegde MathWorks India Pvt. Ltd.

SOFTWARE ENGINEERING IT 0301 Semester V B.Nithya,G.Lakshmi Priya Asst Professor SRM University, Kattankulathur

Class 17. Discussion. Mutation analysis and testing. Problem Set 7 discuss Readings

Part I: Preliminaries 24

NERC Staff Organization Chart 2015 Budget

Testing. CMSC 433 Programming Language Technologies and Paradigms Spring A Real Testing Example. Example (Black Box)?

CHAPTER 5 GENERATING TEST SCENARIOS AND TEST CASES FROM AN EVENT-FLOW MODEL

People tell me that testing is

The President s Spectrum Policy Initiative

Information and Software Technology

Application for Advancement to Senior Member and Fellow Status

REPROTOOL Workflow (Textual documents in SW development) D3S Seminar

Security Task Group. Presented by Richard Newell Vice-Chair May 9, th RISC-V Workshop, Barcelona

Graphic Arts Special Interest Group

The IETF as a model for the IGF. Avri Doria 1

ISTQB Advanced Level (CTAL)

National Science and Technology Council Committee on Science Subcommittee on Forensic Science. Initial Overview Briefing

How To Establish A Compliance Program. Richard E. Mackey, Jr. SystemExperts Corporation

The State of Streaming Video in Professional and Scholarly Communications. STM Digital Publishing, London - December 5, 2017

MANUAL OF UNIVERSITY POLICIES PROCEDURES AND GUIDELINES. Applies to: faculty staff students student employees visitors contractors

High Confidence Transportation Cyber-Physical Systems: Automotive, Aviation, and Rail

High Performance Computing Environment for Research on Restricted Data. Dr. Erik Deumens Rob Adams Dr. Alin Dobra

Testing Process and Methods. CS 490MT/5555, Spring 2017, Yongjie Zheng

Quote by Bruce Sterling, from: A Software Testing Primer, Nick Jenkins

Web Security Vulnerabilities: Challenges and Solutions

Student Union Social Programming Board Constitution

10. Software Testing Fundamental Concepts

Technical presentation

Keynote Speakers CyberC 2010

USTGlobal INNOVATION INFORMATION TECHNOLOGY. Using a Test Design Tool to become a Digital Organization

BINTEST Binary Search-based Test Case Generation

An Environment for Training Computer Science Students on Software Testing

Specification and design of distributed embedded middleware applications with SDL Dr. Eckhardt Holz. Humboldt-Universität zu Berlin

Office of Human Resources. Hiring Adjuncts CREATING THE POSTING (NO POSITION DESCRIPTION REQUIRED!)

NERC Staff Organization Chart Budget 2018

From Global Warming to Identity Theft: NTIS is a One-Stop Database

An Experiment in Visual Clustering Using Star Glyph Displays

Integration Testing. Conrad Hughes School of Informatics. Slides thanks to Stuart Anderson

SHARE Repository Framework: Component Specification and Ontology. Jean Johnson and Curtis Blais Naval Postgraduate School

Introduction to Software Testing

Multi-Region Registered Entity Coordinated Oversight Program

Journal of Information Technology Impact

ECE-492 SENIOR ADVANCED DESIGN PROJECT

DUNS CAGE 5T5C3

Rhinoback Online Backup. In-File Delta

Simulator. Chapter 4 Tutorial: The SDL

Hybrid 2.0 In search of the holy grail

DIXON / POLONIOUS TAKING MISCONDUCT ONLINE

Orifice Flow Meter

Integration Testing. Unit Test vs Integration Testing 1. Unit Testing vs Integration Testing 2. Unit testing: isolation, stub/mock objects

Software Testing part II (white box) Lecturer: Giuseppe Santucci

Our Vision Professional Community

NERC Staff Organization Chart Budget

The Africa Utilities Telecom Council Johannesburg CC, South Africa 1 st December, 2015

What is Usability? What is the Current State? Role and Activities of NIST in Usability Reactions from Stakeholders What s Next?

Practical experiences with Research Quality Exercises DAG ITWG - August 18, David Groenewegen ARROW Project Manager

PragmaDev. change request. Emmanuel Gaudin. PragmaDev ITU-T SG17 change request Grimstad June 24,

CSC 562: Graduate Introduction to Game Engine Design

Compliance Program Assessment Overview of Findings. Report to the Audit and Risk Committee of the Teachers Retirement Board June 8, 2016

Cort Tafoya, Digital Marketing Consultant

ASHRAE. Strategic Plan STARTING

TEST CASE PRIORITIZATION ALGORITHM BASED UPON MODIFIED CODE COVERAGE IN REGRESSION TESTING

Dynamic scenario-based approach to re-engineering of legacy telecommunication software 1

Portable Building Utilization Report

Transformations Reflections, and Rotations

NERC Staff Organization Chart Budget 2019

42 Editing MSC Diagrams

Class-Component Testability Analysis

Curriculum for the Bachelor's Degree Programme in Software Development National section

Curriculum Outcome Assesment using Subject Matter on the FE Examination.

Empirical Studies of Test Case Prioritization in a JUnit Testing Environment

Web Applications Testing. Ario Nejad, Christopher Choi

Comparison Study of Software Testing Methods and Levels- A Review

Sharing Knowledge for Green Growth

Test Driven Development Building a fortress in a greenfield (or fortifying an existing one) Dr. Hale University of Nebraska at Omaha

Answers NOT TO BE PRINTED

Sample Exam Syllabus

Constitution Towson University Sport Clubs Organization Campus Recreation Services. Article I Name. Article II Membership

NERC Staff Organization Chart Budget 2019

White Box Testing III

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

ASHRAE. Strategic Plan STARTING APPROVED BY ASHRAE BOARD OF DIRECTORS JUNE 24, 2014

Transcription:

Coverage Testing SDL Models W. Eric Wong Department of Computer Science The University of Texas at Dallas ewong@utdallas.edu http://www.utdallas.edu/~ewong 1 Speaker Biographical Sketch Professor & Director of International Outreach Department of Computer Science University of Texas at Dallas Guest Researcher Computer Security Division National Institute of Standards and Technology (NIST) Vice President, IEEE Reliability Society Secretary, ACM SIGAPP (Special Interest Group on Applied Computing) Principal Investigator, NSF TUES (Transforming Undergraduate Education in Science, Technology, Engineering and Mathematics) Project Incorporating Software Testing into Multiple Computer Science and Software Engineering Undergraduate Courses Founder & Steering Committee co-chair for the SERE conference (IEEE International Conference on Software Security and Reliability) (http://paris.utdallas.edu/sere13) 2

Software Development 3 Our Vision Workflow Specification Petri Specification UML Specification SDL Specification... (semi)automatic Assessment and Diagnosis of Architecture/Designs as well as Source Code Architecture/ Design-Based Analysis of SDL C/C++/Java Program Program- Based Analysis of C/C++/Java Trace (Dynamic Run-time Information) 4

Software Architecture Design in SDL SDL (Specification and Description Language) is an object-oriented, formal language for designing complex, real-time, and communicating systems Visit http://www.sdl-forum.org for more details The architectural design of a software system in SDL can be viewed as a collection of blocks and processes communicating with each other by exchanging signals through channels. An SDL specification provides a process view of a system's architectural design 5 Life of an SDL Specification 6

Graphical and Textual Representations The graphical representation is called GR and the textual representation is called PR (Phrase Representation). Automatic translation between GR and PR can be done 7 Coverage Testing SDL Specifications (1) The textual representation of SDL specifications can be viewed as programs in a specification and description language, just like programs in C. All the testing methods applied to C programs, including random testing and functional testing (both are black box oriented) as well as control flow-based and data flow-based white box coverage testing, can also be applied to SDL specifications. How much of the design specification is currently tested? What is missing? Need help in creating tests? our tool Analyzing the control-flow graph of an SDL specification to find the dominant blocks, decisions, etc. For example, when a test case covers highly dominant blocks it will cover many other blocks. W. E. Wong et al., Coverage Testing Software Architectural Design in SDL, Journal of Computer Networks, 42(3):359-374, June 2003. 8

Coverage Testing SDL Specifications (2) Visualizing coverage in SDL specification and its control-flow graph the textual representation the corresponding control flow graph A control flow graph is generated for each SDL process The textual representation displays the SDL source code, whereas the control flow graph makes its flow of control more evident 9 Coverage Testing SDL Specifications (3) 10

Design Philosophy for Testing/Maintenance Tools When you develop a testing/maintenance tool, you should consider Ease of use Visualization Prioritization Granularity Incrementability Extensibility Portability etc. 11 Alternating Bit Protocol (1) The alternating bit protocol, which is a simple form of the sliding window protocol with a window size of 1, is used as the example. It can be used to provide reliable communication over non-reliable network channels through a one-bit sequence number (which alternates between 0 and 1) in each message. 12

Alternating Bit Protocol (2) The alternating bit protocol is constituted by a sender and a receiver who exchange messages through two channels, Medium1 and Medium 2. When the sender sends a message (containing a protocol bit, 0 or 1) to the receiver through Medium 1, it sends the message repeatedly (with the corresponding protocol bit) until receiving an acknowledgment from the receiver that contains the same protocol bit as the message being sent. When the receiver receives a message, it sends an acknowledgment to the sender through Medium 2 and includes the protocol bit of the message received. The first time the message is received, the protocol delivers the message for processing. Subsequent messages with the same bit are simply acknowledged. When the sender receives an acknowledgment containing the same bit as the message it is currently transmitting, it stops transmitting that message, flips the protocol bit, and repeats the protocol for the next message. This implies that the sender associates each message with a protocol bit which is alternated between 0 and 1 to differentiate consecutive messages. 13 Alternating Bit Protocol (3) put( world ) put( hello ) from: env [put] [get] bit: 10 bit: 10 sender start dm( world, dm( hello, 0) 1) from:sender [dm] medium1 start wait_dm dm( hello, dm( world, medium_error 0) 1) from:medium1 medium1 [dm, medium_error] get( hello ) get( world ) from:receiver receiver start wait_put medium2 wait_dm start wait_am medium_error am(0) am(1) from: medium2 [am, medium_error] wait_am am(1) am(0) from: receiver [am] Next 14

Questions Do you know how much of your SDL code has been tested? What is still missing? How to generate additional test cases to execute the uncovered code in an effective way? 15 CAT SDL : A Coverage Analysis Tool for SDL Specifications SDL Given an SDL specification, CAT SDL performs instrumentation on it by inserting a probe, a user-defined function, at appropriate locations. The resulting instrumented specification is then exported to an SDL simulator, (Telelogic Tau in our case) for simulation. A file is created to record the trace information during the simulation. As subsequent simulation continues, the trace information is appended to the trace file which is then exported back to CAT SDL for coverage analysis. 16

CAT SDL Demo SDL Previous Next 17 Return 18

Return 19 Return 20

Return 21 Return 22

Return 23 Research Issues on Coverage Testing (1) How to reduce the amount of instrumentation? That is, how to reduce the number of probes inserted in the source code? One probe per line of code One probe per block One probe per superblock What are the pros and cons? What kind of information should be collected at run time? Executed or not executed Execution counts of each testable attribute Execution sequence What kind of information should be collected at parsing? Number of testable attributes Locations of each testable attribute Can the techniques used for coverage testing software on Windows be applied to coverage testing embedded software? Real-time applications? 24

Research Issues on Coverage Testing (2) In addition to reporting what has been tested and what is still missing, we would also like to Decompose coverage information based on users needs (do not just report a single number with respect to all the tests for the entire program) Provide useful hints for efficient test generation to effectively increase the coverage of the program being tested Use coverage as a filter to show how the number of test cases can be reduced significantly without sacrificing the overall code coverage Test cases in the reduced subset have a higher priority to be executed when revalidating the program during the regression testing Conduct effective fault localization based on how the program is executed by each test 25