Using narrowing to test maude specifications

  • Authors:
  • Adrián Riesco

  • Affiliations:
  • Facultad de Informática, Universidad Complutense de Madrid, Spain

  • Venue:
  • WRLA'12 Proceedings of the 9th international conference on Rewriting Logic and Its Applications
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Testing is one of the most important and most time-consuming tasks in the software developing process and thus techniques and systems to automatically generate and check test cases have become crucial. In previous work we have presented techniques to test membership equational logic specifications; these techniques consist of two steps: first several ground terms are generated by using all the available constructor symbols in a breadth-first search, and then these terms are processed to check whether they fulfill some properties. This approach presents the drawback of separating two related processes, thus examining several terms that are indistinguishable from the point of view of testing. We present here a narrowing-based test-case generator that improves the performance of the tool and extends its use to rewriting logic specifications. First, we present two mechanisms to improve the narrowing commands currently available in Maude to use conditional statements and equational modules. Then, we show how to use these new narrowing commands to perform three different approaches to testing for any Maude specification: code coverage, property-based testing, and conformance testing. Finally, we present trusting mechanisms to improve the performance of the tool. We illustrate the tool by means of an example.