1 / 9

Testing Inheritance & Polymorphism in OO Software using Formal Specification

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

sylvia
Download Presentation

Testing Inheritance & Polymorphism in OO Software using Formal Specification

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. 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

  3. 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]

  4. 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]

  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]

  6. 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.

  7. 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

  8. References • 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 2001. • Roger T. Alexander, A. Jefferson Offutt, "Criteria for Testing Polymorphic Relationships," 11th International Symposium on Software Reliability Engineering (ISSRE'00), issre,pp.15, 2000 • Roger T. Alexander, A. Jefferson Offutt, "Testing the Polymorphic Relationships", 2003 • Roger T. Alexander. “Testing the Polymorphic Relationships of Object-oriented Programs”. Phd. Dissertation, George Mason University, 2001. • 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, 2002. IEEE Computer Society. • Siros Supavita and Taratip Suwannasart, “Adequacy Criteria for Testing Polymorphism in the Context of Interactions”, 2004 • Atanas Rountev, Ana Milanova, Barbara G. Ryder, “Fragment Class Analysis for Testing of Polymorphism in Java Software”, 2003 • 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

  9. References: Continued… • Reddy, Mohanty, “Specification Based Testing of Inheritance: A Framework of a Tool”, 10th International Conference on Information Technology, (ICIT 2007), Dec. 2007, P:237 - 239 • Robert V. Binder, “Testing Object-Oriented Software: A Survey”. Journal of Software Testing, Verification and Reliability, 1996. 6(3/4): p. 125-252. • Bertrand Meyer, Object-Oriented Software Construction. 1997, Englewood Cliffs, New Jersey: Prentice Hall. • 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. 172-178. • 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 1994 • 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: 251-260, Canada, February 2003. • L. Gallagher and J. Offutt. “Integration testing of object-oriented components using finite state machines”, Journal of Software Testing, Verification and Reliability, P:215-266, January 2007.

More Related