Exploratory Metamorphic Testing for Scientific Software

Scientific model developers are able to verify and validate their software via metamorphic testing (MT), even when the expected output of a given test case is not readily available. The tenet is to check whether certain relations hold among the expected outputs of multiple-related inputs. Contemporary approaches require the relations to be defined before tests. Our experience shows that it is often straightforward to first define the multiple iterations of tests for performing continuous simulations, and then keep multiple and even competing metamorphic relations open for investigating the testing-result patterns. We call this new approach exploratory MT, and report our experience of applying it to detect bugs, mismatches, and constraints in automatically calibrating parameters for the United States Environmental Protection Agency's Storm Water Management Model.

[1]  Paul F. Dubois Testing Scientific Programs , 2012, Computing in Science & Engineering.

[2]  Linda Newman,et al.  Advancing Repeated Research in Requirements Engineering: A Theoretical Replication of Viewpoint Merging , 2016, 2016 IEEE 24th International Requirements Engineering Conference (RE).

[3]  Tsong Yueh Chen,et al.  Metamorphic testing of programs on partial differential equations: a case study , 2002, Proceedings 26th Annual International Computer Software and Applications.

[4]  James M. Bieman,et al.  Testing scientific software: A systematic literature review , 2014, Inf. Softw. Technol..

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

[6]  Nan Niu,et al.  Hierarchical Metamorphic Relations for Testing Scientific Software , 2018, 2018 IEEE/ACM 13th International Workshop on Software Engineering for Science (SE4Science).

[7]  Dongmei Zhang,et al.  An application of metamorphic testing for testing scientific software , 2016, MET@ICSE.

[8]  Nan Niu,et al.  Gray links in the use of requirements traceability , 2016, SIGSOFT FSE.

[9]  Bohn Stafleu van Loghum,et al.  Online … , 2002, LOG IN.

[10]  Bruce McMillin,et al.  Software engineering: What is it? , 2018, 2018 IEEE Aerospace Conference.

[11]  Hongfang Liu,et al.  An investigation of the effect of module size on defect prediction using static measures , 2005, PROMISE@ICSE.

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

[13]  Dongmei Zhang,et al.  An Application of Metamorphic Testing for Testing Scientific Software , 2016, 2016 IEEE/ACM 1st International Workshop on Metamorphic Testing (MET).

[14]  Douglass E. Post,et al.  Software Project Management and Quality Engineering Practices for Complex, Coupled Multiphysics, Massively Parallel Computational Simulations: Lessons Learned From ASCI , 2004, Int. J. High Perform. Comput. Appl..

[15]  Xiaoyu Jin,et al.  A novel coupling pattern in computational science and engineering software , 2017 .

[16]  S. L. Eddins,et al.  Automated Software Testing for Matlab , 2009, Computing in Science & Engineering.

[17]  Xiaoyu Jin,et al.  A Novel Coupling Pattern in Computational Science and Engineering Software , 2017, 2017 IEEE/ACM 12th International Workshop on Software Engineering for Science (SE4Science).

[18]  Michael K. Stenstrom,et al.  Automatic Calibration of the U.S. EPA SWMM Model for a Large Urban Catchment , 2008 .

[19]  Robert G. Traver,et al.  Multiyear and Seasonal Variation of Infiltration from Storm-Water Best Management Practices , 2008 .

[20]  Barbara Paech,et al.  System Testing a Scientific Framework Using a Regression-Test Environment , 2012, Computing in Science & Engineering.