Metamorphic testing of OpenStreetMap

Abstract Context: OpenStreetMap represents a collaborative effort of many different and unrelated users to create a free map of the world. Although contributors follow some general guidelines, unsupervised additions are prone to include erroneous information. Unfortunately, it is impossible to automatically detect most of these issues because there does not exist an oracle to evaluate whether the information is correct or not. Metamorphic testing has shown to be very useful in assessing the correctness of very heterogeneous artifacts when oracles are not available. Objective: The main goal of our work is to provide a (fully implemented) framework, based on metamorphic testing, that will support the analysis of the information provided in OpenStreetMap with the goal of detecting faulty information. Method: We defined a general metamorphic testing framework to deal with OpenStreetMap. We identified a set of good metamorphic relations. In order to have as much automation as possible, we paid special attention to the automatic selection of follow-up inputs because they are fundamental to diminish manual testing. In order to assess the usefulness of our framework, we applied it to analyze maps of four cities in different continents. The rationale is that we would be dealing with different problems created by different contributors. Results: We obtained experimental evidence that shows the potential value of our framework. The application of our framework to the analysis of the chosen cities revealed errors in all of them and in all the considered categories. Conclusion: The experiments showed the usefulness of our framework to identify potential issues in the information appearing in OpenStreetMap. Although our metamorphic relations are very helpful, future users of the framework might identify other relations to deal with specific situations not covered by our relations. Since we provide a general pattern to define metamorphic relations, it is relatively easy to extend the existing framework. In particular, since all our metamorphic relations are implemented and the code is freely available, users have a pattern to implement new relations.

[1]  Tsong Yueh Chen,et al.  Fault-based testing without the need of oracles , 2003, Inf. Softw. Technol..

[2]  Rodolphe Devillers,et al.  Improving Volunteered Geographic Information Quality Using a Tag Recommender System: The Case of OpenStreetMap , 2015, OpenStreetMap in GIScience.

[3]  Manuel Núñez,et al.  TEA-Cloud: A Formal Framework for Testing Cloud Computing Systems , 2021, IEEE Transactions on Reliability.

[4]  Jesús Manuel Almendros-Jiménez,et al.  Integrating and Querying OpenStreetMap and Linked Geo Open Data , 2019, Comput. J..

[5]  A. Jefferson Offutt,et al.  Introduction to Software Testing , 2008 .

[6]  Giles M. Foody,et al.  Crowdsourced geospatial data quality: challenges and future directions , 2019, Int. J. Geogr. Inf. Sci..

[7]  Esther Guerra,et al.  Wodel-Test: a model-based framework for language-independent mutation testing , 2020, Software and Systems Modeling.

[8]  Carsten Keßler,et al.  Trust as a Proxy Measure for the Quality of Volunteered Geographic Information in the Case of OpenStreetMap , 2013, AGILE Conf..

[9]  Marco Minghini,et al.  OpenStreetMap history for intrinsic quality assessment: Is OSM up-to-date? , 2019, Open Geospatial Data, Software and Standards.

[10]  Sergio Segura,et al.  A Survey on Metamorphic Testing , 2016, IEEE Transactions on Software Engineering.

[11]  Robert M. Hierons,et al.  A tool supported methodology to passively test asynchronous systems with multiple users , 2018, Inf. Softw. Technol..

[12]  Juan de Lara,et al.  A tool for domain-independent model mutation , 2018, Sci. Comput. Program..

[13]  Tim Kraska,et al.  XQuery Reloaded , 2009, Proc. VLDB Endow..

[14]  Elaine J. Weyuker,et al.  On Testing Non-Testable Programs , 1982, Comput. J..

[15]  Tsong Yueh Chen,et al.  Semiautomated Metamorphic Testing Approach for Geographic Information Systems: An Empirical Study , 2020, IEEE Transactions on Reliability.

[16]  Eliseo Clementini,et al.  Data trustworthiness and user reputation as indicators of VGI quality , 2018, Geo spatial Inf. Sci..

[17]  Alastair F. Donaldson,et al.  Many-core compiler fuzzing , 2015, PLDI.

[18]  Robert M. Hierons,et al.  Bounded Reordering in the Distributed Test Architecture , 2018, IEEE Transactions on Reliability.

[19]  Jacek Malczewski,et al.  Quality Evaluation of Volunteered Geographic Information: The Case of OpenStreetMap , 2017 .

[20]  Jaiteg Singh,et al.  Assessing OpenStreetMap Data Using Intrinsic Quality Indicators: An Extension to the QGIS Processing Toolbox , 2017, Future Internet.

[21]  Jesús Manuel Almendros-Jiménez,et al.  Analyzing the Tagging Quality of the Spanish OpenStreetMap , 2018, ISPRS Int. J. Geo Inf..

[22]  Mark Harman,et al.  The Oracle Problem in Software Testing: A Survey , 2015, IEEE Transactions on Software Engineering.

[23]  Alexander Zipf,et al.  A taxonomy of quality assessment methods for volunteered and crowdsourced geographic information , 2018, Trans. GIS.

[24]  Robert M. Hierons,et al.  Passive testing with asynchronous communications and timestamps , 2018, Distributed Computing.

[25]  Juan de Lara,et al.  An expert system for checking the correctness of memory systems using simulation and metamorphic testing , 2019, Expert Syst. Appl..

[26]  Vyron Antoniou,et al.  How Many Volunteers Does it Take to Map an Area Well? The Validity of Linus’ Law to Volunteered Geographic Information , 2010 .

[27]  Yang-Wai Chow,et al.  Metamorphic Testing of Mapping Software , 2019 .

[28]  Tsong Yueh Chen,et al.  Metamorphic Testing for Software Quality Assessment: A Study of Search Engines , 2016, IEEE Transactions on Software Engineering.

[29]  Peter Mooney,et al.  Characteristics of Heavily Edited Objects in OpenStreetMap , 2012, Future Internet.

[30]  Jeffrey M. Voas,et al.  Metamorphic Testing for Cybersecurity , 2016, Computer.

[31]  Glenford J. Myers,et al.  Art of Software Testing , 1979 .

[32]  Alireza Chehreghan,et al.  Improving the Quality of Citizen Contributed Geodata through Their Historical Contributions: The Case of the Road Network in OpenStreetMap , 2018, ISPRS Int. J. Geo Inf..

[33]  Raghu Kacker,et al.  Systematic Testing of Post-Quantum Cryptographic Implementations Using Metamorphic Testing , 2019, 2019 IEEE/ACM 4th International Workshop on Metamorphic Testing (MET).

[34]  Pascal Neis,et al.  Analyzing the Contributor Activity of a Volunteered Geographic Information Project - The Case of OpenStreetMap , 2012, ISPRS Int. J. Geo Inf..

[35]  Huai Liu,et al.  How Effectively Does Metamorphic Testing Alleviate the Oracle Problem? , 2014, IEEE Transactions on Software Engineering.

[36]  Peter Mooney,et al.  Has OpenStreetMap a role in Digital Earth applications? , 2014, Int. J. Digit. Earth.

[37]  Huai Liu,et al.  Metamorphic Testing , 2018, ACM Comput. Surv..

[38]  Jaiteg Singh,et al.  Extending Processing Toolbox for assessing the logical consistency of OpenStreetMap data , 2019, Trans. GIS.

[39]  Megan M. Olsen,et al.  Increasing Validity of Simulation Models Through Metamorphic Testing , 2019, IEEE Transactions on Reliability.

[40]  Pascal Neis,et al.  A Comprehensive Framework for Intrinsic OpenStreetMap Quality Analysis , 2014, Trans. GIS.

[41]  Dave Towey,et al.  Metamorphic Relations for Enhancing System Understanding and Use , 2020, IEEE Transactions on Software Engineering.

[42]  Sergio Segura,et al.  Metamorphic Testing: Testing the Untestable , 2020, IEEE Software.

[43]  Tsong Yueh Chen,et al.  Metamorphic Testing: A New Approach for Generating Next Test Cases , 2020, ArXiv.

[44]  Yang-Wai Chow,et al.  Metamorphic Testing of Navigation Software: A Pilot Study with Google Maps , 2018, HICSS.

[45]  Zhi Quan Zhou,et al.  Metamorphic Relations for Data Validation: A Case Study of Translated Text Messages , 2019, 2019 IEEE/ACM 4th International Workshop on Metamorphic Testing (MET).