Topics  Direct Predicate Characterization as an evaluation method.  Implementation and Testing of the Approach.  Conclusions and Future Work.

Slides:



Advertisements
Similar presentations
Software Testing Technique. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves.
Advertisements

Formal Methods in Software Engineering
Lecture 8: Testing, Verification and Validation
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
1 Enviromatics Spatial database systems Spatial database systems Вонр. проф. д-р Александар Маркоски Технички факултет – Битола 2008 год.
1 CODE TESTING Principles and Alternatives. 2 Testing - Basics goal - find errors –focus is the source code (executable system) –test team wants to achieve.
Illinois Institute of Technology
Testing an individual module
Chapter 18 Testing Conventional Applications
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Propositional Calculus Math Foundations of Computer Science.
Handouts Software Testing and Quality Assurance Theory and Practice Chapter 9 Functional Testing
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Software Systems Verification and Validation Laboratory Assignment 3
System/Software Testing
Access Control Problem A primary consideration in object- oriented design is to “separate the things that change from the things that stay.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Software Testing (Part 2)
CMSC 345 Fall 2000 Unit Testing. The testing process.
Testing Especially Unit Testing. V-model Wikipedia:
1 Software testing. 2 Testing Objectives Testing is a process of executing a program with the intent of finding an error. A good test case is in that.
CS /51 Illinois Institute of Technology CS487 Software Engineering Software Testing Techniques Mr. David A. Lash.
Ch6: Software Verification. 1 Decision table based testing  Applicability:  Spec. is described by a decision table.  Tables describe:  How combinations.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
1 Software Testing. 2 Path Testing 3 Structural Testing Also known as glass box, structural, clear box and white box testing. A software testing technique.
Test Drivers and Stubs More Unit Testing Test Drivers and Stubs CEN 5076 Class 11 – 11/14.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
White-box Testing.
1 Spatio-Temporal Predicates Martin Erwig and Markus Schneider IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING Presented by Mamadou Hassimiou Diallo.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
BASIS PATH TESTING.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
White Box and Black Box Testing
INTRODUCTION TO GIS  Used to describe computer facilities which are used to handle data referenced to the spatial domain.  Has the ability to inter-
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Engineering Saeed Akhtar The University of Lahore.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Software Quality Assurance and Testing Fazal Rehman Shamil.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Software Testing Reference: Software Engineering, Ian Sommerville, 6 th edition, Chapter 20.
SOFTWARE TESTING. SOFTWARE Software is not the collection of programs but also all associated documentation and configuration data which is need to make.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
Testing Integral part of the software development process.
BASIS PATH TESTING.
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
CS223: Software Engineering
Software Testing.
Software Engineering (CSI 321)
Structural testing, Path Testing
Dr. Clincy Professor of CS
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Introduction to Software Testing
CS Chapter 3 (3A and ) Part 3 of 8
Chapter 10 – Software Testing
CS Chapter 3 (3A and ) – Part 2 of 5
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
Software Verification and Validation
Dr. Clincy Professor of CS
Software Verification and Validation
Overview Functional Testing Boundary Value Testing (BVT)
CSE 1020:Software Development
UNIT-4 BLACKBOX AND WHITEBOX TESTING
By: Lecturer Raoof Talal
Unit III – Chapter 3 Path Testing.
Presentation transcript:

Topics  Direct Predicate Characterization as an evaluation method.  Implementation and Testing of the Approach.  Conclusions and Future Work.

Evaluation Phase  The Topological Feature flags contained in vF and vG (vectors) capture all topological situations between F and G (objects) and are different for different type combination.  Objective of Evaluation Phase is to use the output of Exploration phase (vF and vG) either for predicate verification or predicate determination.  Accommodate the feature vectors with an existing Topological Predicate

Direct Predicate Characterization as an Evaluation  Provides a “Direct Predicate Characterization” of all n topological predicates of each type combination (based on the feature flags).  We have to determine which topological flags must be turned on and which must be turned off so that a given topological predicate can be verified or determined. (region/region – check segment classes the segments of both objects belong to).  Define the characterization for each individual predicate for each type combination.  184(without converse) and 248(with converse).  Each characterization is a Boolean expression in conjunctive normal form expressed in terms of topological feature vectors vF and vG.

Meet predicate (p8) line/line Meet: both objects may only and must share boundary parts. (not allowed) intersections between both interiors. (not allowed) intersection between the boundary of one object and the interior of the other. Intersection between boundaries and each component of one object must interact with the exterior of the other object are allowed.

Inside predicate p7 region/region F must be located inside G Interior and boundary of F must be located in the interior of G : checked by whether [vf(1/2) or vF(2/1)] are true and whether all other vector fields are false (interior and boundary of F do not interact with the boundary and exterior of G i.e G’s segments must be situated outside F [vG(0/1) or vG(1/0)]is true ). And no segment of F shares common point with any segment of G.

 Predicate Characterizations can be read in both directions  Verification: left to right (explicit implementation of each individual predicate)  Determination: right to left (consecutively we evaluate the right side predicate characterizations by applying them to the given topological feature vectors and for the characterization that matches we look on its left side to obtain the name and number of the predicate.)

Predicate VerificationPredicate Determination

Implementation of the Approach  Implemented SPAL2D (algebra package for handling 2D spatial data) package and tested on the same.  This algebra includes the implementation of all six exploration algorithms mentioned.  Robustness of the geometric computation is ensured by a s/w library called RATIO (permits representation of and calculation with rational numbers of arbitrary, finite length).  Defined data-types are used.

Implementation of the Approach  TopPredExploration: This interface method is overloaded to accept two spatial objects of any type combination as input. The output consists of two topological feature vectors of the objects.  TopDirectPredcharacterization: Takes two topological vectors as input and evaluates/determines the topological predicate(184/248)

Testing  Grey-box: advantages of black box and white box.  Black-box: The functional behavior of the implementation is tested by designing a collection of test-cases to cover all types of combinations of spatial objects as inputs and all possible values for all topological feature flags as outputs.  White-box: Considers every single execution path and guarantees that each statement is executed at least once. (ensures that all special cases are specified and handled)  184 different scenes corresponding to the total number of topological predicates between spatial objects.  They all have been successfully tested.

 Special Test case generation technique has been leveraged to check the functionality of the exploration algorithms and correctness of the resulting values of the topological feature vectors.  The vector values have to be independent of the location of the two spatial objects involved.  This technique is able to generate arbitrarily many different orientations of a topologically identical scene of two spatial objects w.r.t the same sweepline and coordinate system. (idea: rotation)

 (at least)20,000 test-cases were generated for each of the six type combinations by our random scene rotation technique.  120,000 in total are generated, tested and checked

Conclusion  The design of efficient implementation for topological predicates has been neglected by GIS.  This approach can be implemented on any available commercial or public spatial extension package provided by GIS or database vendors.  Algorithms have been implemented as part of the SPAL2D s/w library and determined for an integration into extensible GIS and spatial databases.

Drawbacks  Depends on the number of topological predicates  In the worst case all the direct predicate characterizations w.r.t particular type combination have to be checked for predicate determination  Error-prone: difficult to ensure that each predicate characterization is correct and unique and that all predicate characterizations together are mutually exclusive and cover all topological relationships.

Next Paper : Efficient implementation Techniques for Topological Predicates on Complex Spatial Objects  Sophisticated and systematic evaluation methods that are robust, correct and independent of the number of topological predicates of a particular type combination and have a formal foundation.