Testing Inheritance & Polymorphism in OO Software using Formal Specification Presented by : Mahreen Aziz Ahmad (Center for Software Dependability, MAJU)

Slides:



Advertisements
Similar presentations
Hong Zhu Department of Computing and Communication Technologies Oxford Brookes University, Oxford OX33 1HX, UK COMPSAC 2012 PANEL.
Advertisements

Data Flow Coverage. Reading assignment L. A. Clarke, A. Podgurski, D. J. Richardson and Steven J. Zeil, "A Formal Evaluation of Data Flow Path Selection.
Systems V & V, Quality and Standards
Towards Self-Testing in Autonomic Computing Systems Tariq M. King, Djuradj Babich, Jonatan Alava, and Peter J. Clarke Software Testing Research Group Florida.
Krishna Neelakanta University of Colorado, Colorado Springs Fall 2009 Page1.
Of 23 Generating Automated Tests from Behavioral Models Jeff Offutt (Research with Dr. Nan Li, currently with MediData Solutions) Software Engineering.
Systems Analysis and Design 8th Edition
1 Practical Object-sensitive Points-to Analysis for Java Ana Milanova Atanas Rountev Barbara Ryder Rutgers University.
Software Engineering Techniques for the Development of System of Systems Seminar of “Component Base Software Engineering” course By : Marzieh Khalouzadeh.
Recall The Team Skills 1. Analyzing the Problem 2. Understanding User and Stakeholder Needs 3. Defining the System 4. Managing Scope 5. Refining the System.
Software Engineering Metrics for Object Oriented Programming Developed by – Shrijit Joshi.
PowerPoint Presentation for Dennis, Wixom & Tegarden Systems Analysis and Design Copyright 2001 © John Wiley & Sons, Inc. All rights reserved. Slide 1.
Systems Analysis & Design Sixth Edition Systems Analysis & Design Sixth Edition Toolkit Part 5.
Strategic Directions in Real- Time & Embedded Systems Aatash Patel 18 th September, 2001.
Software Testing and Quality Assurance: Introduction and Terminology
Supplement 02CASE Tools1 Supplement 02 - Case Tools And Franchise Colleges By MANSHA NAWAZ.
Department of Computer Science & Engineering College of Engineering Dr. Betty H.C. Cheng, Laura A. Campbell, Sascha Konrad The demand for distributed real-time.
Introduction to Software Testing
Architectural Design.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Software Faults and Fault Injection Models --Raviteja Varanasi.
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Quality Assurance for Component- Based Software Development Cai Xia (Mphil Term1) Supervisor: Prof. Michael R. Lyu 5 May, 2000.
Introduction to Software Testing Chapter 9.3 Challenges in Testing Software Test Criteria and the Future of Testing Paul Ammann & Jeff Offutt
GENERAL CONCEPTS OF OOPS INTRODUCTION With rapidly changing world and highly competitive and versatile nature of industry, the operations are becoming.
An Approach to Test Autonomic Containers Ronald Stevens (IEEE Computer Society & ACM Student Member) August 1, 2006 REU Sponsored by NSF.
Introduction to Software Testing Chapter 2.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
Introduction to Software Testing Chapter 7.1 Engineering Criteria for Technologies Paul Ammann & Jeff Offutt
Lecture Notes - Copyright © S. C. Kothari, All rights reserved.1 Summary Lecture CPRE 416-Software Evolution and Maintenance-Lecture 6.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
Analyzing and Detecting Network Security Vulnerability Weekly report 1Fan-Cheng Wu.
Software Testing and Maintenance Lecture 4 Graph Coverage for Design Element Paul Ammann & Jeff Offutt Instructor: Hossein Momeni Mazandaran.
Software Quality Assurance SE Software Quality Assurance What is “quality”?
Programming in Java Unit 3. Learning outcome:  LO2:Be able to design Java solutions  LO3:Be able to implement Java solutions Assessment criteria: 
Slide 1 Construction (Testing) Chapter 15 Alan Dennis, Barbara Wixom, and David Tegarden John Wiley & Sons, Inc. Slides by Fred Niederman Edited by Solomon.
Abstract We present two Model Driven Engineering (MDE) tools, namely the Eclipse Modeling Framework (EMF) and Umple. We identify the structure and characteristic.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
Systems Analysis & Design 7 th Edition Chapter 5.
1 The Modular Structure of Complex Systems Presented by: SeyedMasoud Sadjadi and Wei Zhu David L. Parnas, Paul C. Clement, and David M. Weiss ICSE 1984.
1 Graph Coverage (4). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section
In Future of Software Engineering, 22 nd Conference on Software Engineering, June Testing: A Roadmap Marry J. Harrold College of Computing Georgia.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Introduction to Software Testing (2nd edition) Chapter 7.4 Graph Coverage for Design Elements Paul Ammann & Jeff Offutt
A Self-Configuring Test Harness for Web Applications Jairo Pava School of Computing and Information Sciences Florida International University Courtney.
Testing Implementation Conformance with respect to its Architectural specification Software Architectures and Testing Begin Antonia Bertolino IEI - CNR,
Method Engineering Fiona Gelink Group 3.  The method  Advantages of the method  Related literature  PDD  Steps of the method  References.
Introduction to Software Testing Chapter 7.1 Engineering Criteria for Technologies Paul Ammann & Jeff Offutt
 Many models have been proposed to deal with the problems of defining activities and associating them with each other  The first model proposed was the.
Survey of Tools to Support Safe Adaptation with Validation Alain Esteva-Ramirez School of Computing and Information Sciences Florida International University.
Business Applications with Object-Oriented Paradigm (Modeling Concepts) Professor Chen School of Business Gonzaga University Spokane, WA
5/7/03ICSE Fragment Class Analysis for Testing of Polymorphism in Java Software Atanas (Nasko) Rountev Ohio State University Ana Milanova Barbara.
Yu, et al.’s “A Model-Driven Development Framework for Enterprise Web Services” In proceedings of the 10 th IEEE Intl Enterprise Distributed Object Computing.
Coupling-based Criteria for Integration Testing Journal of Software Testing, Verification, and Analysis, 8(3): , September 1998, Jenny Jin and Jeff.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
1 Visual Computing Institute | Prof. Dr. Torsten W. Kuhlen Virtual Reality & Immersive Visualization Till Petersen-Krauß | GUI Testing | GUI.
Introduction to Software Testing (2nd edition) Chapter 5 Criteria-Based Test Design Paul Ammann & Jeff Offutt
Laurea Triennale in Informatica – Corso di Ingegneria del Software I – A.A. 2006/2007 Andrea Polini XVIII. Software Testing.
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Testing Object-Oriented Software Test Coverage Criteria
Software Quality and Testing (CSC 4133)
Graph Coverage for Design Elements CS 4501 / 6501 Software Testing
Paul Ammann & Jeff Offutt
Paul Ammann & Jeff Offutt
Introduction to Software Testing
Software Quality Assurance Lecture 1
Graph Coverage for Design Elements CS 4501 / 6501 Software Testing
Presentation transcript:

Testing Inheritance & Polymorphism in OO Software using Formal Specification Presented by : Mahreen Aziz Ahmad (Center for Software Dependability, MAJU) Supervised by : Dr. Aamir Nadeem

Introduction Shift of paradigm: Procedure oriented software to object-oriented software Testing is an umbrella activity in SDLC How we test software needs to change Testing of OO software presents new challenges due to features such as inheritance & polymorphism Less emphasis on unit testing and more on integration testing Due to specification based testing, testing can be done at earlier stage like, at the time of software specification

Previous\ Related Work Offutt et al. have presented a fault model for object oriented programs and discusses specific categories of inheritance and polymorphic faults, as shown in table [1]

Related Work continued… Reddy and Mohanty have addressed the problem of testing having inherited code [9] Nadeem and Lyu have proposed a technique for generation of test cases for inheritance testing, using a VDM++ formal specification [8] Alexander and Offutt have introduced new testing criteria that caters the impact of inheritance and polymorphism [2] Alexander and Offutt have discussed techniques for analyzing and testing the polymorphic relationships [3] [4] Alexander et al. has also demonstrated the relative effectiveness of several coupling-based OO testing criteria and branch coverage [5]

Related Work continued… Supavita and Suwannasart have proposed five adequacy criteria in the view of inheritance and polymorphism. Wu et al. have evaluated certain critical test elements for component based software [14] Gallagher et al. have extended the idea of data flow graphs for inter class testing, finding paths between pairs of definitions, detecting some infeasible paths, and automatically generating tests for an arbitrary number of classes and components [15]

Problem Area Inheritance and polymorphism is an important mechanism in object-oriented paradigm Inheritance and polymorphism errors may lead to subtle bugs such as due to overridden functionality, and dynamic binding. A lot of work has been done in the area of testing OO programs using formal specifications Few authors have discussed inheritance testing issues using formal specifications [8] [9]. So far, no well known work has been done on testing polymorphism using formal specifications.

Proposed Solution The significance of formal methods is not just limited to avoidance of specification errors A formal specification is also beneficial in generating test cases Using the advantages of black box testing, the fault model presented by Offutt [1], and the previous work done on testing inheritance and polymorphic behavior, we plan to extend the work using formal specification This thesis focuses on detecting faults in polymorphic and inheritance relationships in object oriented software using formal specifications

References 1.Offutt J., Alexander R., W. Ye, X. Quansheng, H. Chuck, “A Fault Model for Subtype Inheritance and Polymorphism”, The Twelfth IEEE International Symposium on Software Reliability Engineering (ISSRE ’01), pages 84–95, Hong Kong, PRC, November Roger T. Alexander, A. Jefferson Offutt, "Criteria for Testing Polymorphic Relationships," 11th International Symposium on Software Reliability Engineering (ISSRE'00), issre,pp.15, Roger T. Alexander, A. Jefferson Offutt, "Testing the Polymorphic Relationships", Roger T. Alexander. “Testing the Polymorphic Relationships of Object-oriented Programs”. Phd. Dissertation, George Mason University, Roger T. Alexander, Jeff Offutt, and James M. Bieman. “Fault detection capabilities of coupling-based OO testing”. In Thirteenth International Symposium on Software Reliability Engineering (ISSRE '02), Annapolis, Maryland, IEEE Computer Society. 6.Siros Supavita and Taratip Suwannasart, “Adequacy Criteria for Testing Polymorphism in the Context of Interactions”, Atanas Rountev, Ana Milanova, Barbara G. Ryder, “Fragment Class Analysis for Testing of Polymorphism in Java Software”, Aamer Nadeem; Michael R. Lyu, “A Framework for Inheritance Testing from VDM++ Specifications”, 12th Pacific Rim International Symposium on Dependable Computing, PRDC., Dec. 2006, P:81 – 88

References: Continued… 9.Reddy, Mohanty, “Specification Based Testing of Inheritance: A Framework of a Tool”, 10th International Conference on Information Technology, (ICIT 2007), Dec. 2007, P: Robert V. Binder, “Testing Object-Oriented Software: A Survey”. Journal of Software Testing, Verification and Reliability, (3/4): p Bertrand Meyer, Object-Oriented Software Construction. 1997, Englewood Cliffs, New Jersey: Prentice Hall. 12.R. T. Alexander and A. J. Offutt, “Analysis Techniques for Testing Polymorphic Relationships”, Proceedings of the Sixth IEEE International Conference on Engineering of Complex Computer Systems (ICECCS '00), Tokyo, Japan, 2000, pp Paul Ammann and Jeff Offutt. “Using Formal Methods to Derive Test Frames in Category-Partition Testing”. Ninth Annual Conference on Computer Assurance (COMPASS 94), pages 69-80, Gaithersburg, Maryland, June Ye Wu, Mei-Hwa Chen and Jeff Offutt, “UML-based Integration Testing for Component-based Software”, The 2nd International Conference on COTS- Based Software Systems (ICCBSS), P: , Canada, February L. Gallagher and J. Offutt. “Integration testing of object-oriented components using finite state machines”, Journal of Software Testing, Verification and Reliability, P: , January 2007.