Abstract
We propose a novel notion of data-flow coverage for testing declarative programs. Moreover, we extend an automatic test-case generator such that it can achieve data-flow coverage. The coverage information is obtained by instrumenting a program such that it collects coverage information during its execution. Finally, we show the benefits of data-flow based testing for a couple of example applications.
Supplemental Material
Available for Download
Supplemental material for: Data-flow testing of declarative programs
- Elvira Albert, Miguel Gómez-Zamalloa, Laurent Hubert, and Germán Puebla. Verification of Java bytecode using analysis and transformation of logic programs. In Proc. PADL, LNCS 4354, pages 124--139, 2007. Google Scholar
Digital Library
- B. Beizer. Black-Box Testing. Wiley, 1995.Google Scholar
- Olaf Chitil, Colin Runciman, and Malcolm Wallace. Transforming Haskell for tracing. In Ricardo Pena and Thomas Arts, editors, Implementation of Functional Languages: 14th International Workshop, IFL 2002, LNCS 2670, pages 165--181, March 2003. ISBN 3-540-40190-3. URL http://www.cs.kent.ac.uk/pubs/2003/1770. Madrid, Spain, 16-18 September 2002. Google Scholar
Digital Library
- Jan Christiansen and Sebastian Fischer. EasyCheck -- test data for free. In FLOPS '08: Proceedings of the 9th International Symposium on Functional and Logic Programming. Springer LNCS 4989, 2008. Google Scholar
Digital Library
- Koen Claessen and John Hughes. Quickcheck: a lightweight tool for random testing of Haskell programs. In Proc. ICFP, pages 268--279, 2000. Google Scholar
Digital Library
- T.H. Cormen, C.E. Leiserson, and R.L. Rivest. Introduction to Algorithms. McGraw Hill, 1990. Google Scholar
Digital Library
- Sebastian Fischer and Herbert Kuchen. Systematic generation of glass-box test cases for functional logic programs. In Proc. of the 9th International ACM SIGPLAN Symposium on Principles and Practice of Declarative Programming (PPDP 2007), pages 75--89. ACM Press, 2007. Google Scholar
Digital Library
- Andy Gill and Colin Runciman. Haskell program coverage. In Haskell '07: Proceedings of the ACM SIGPLAN workshop on Haskell workshop, pages 1--12, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-674-5. Google Scholar
Digital Library
- M. Hanus et al. Curry: An integrated functional logic language (version 0.8.2). Available at URL http://www.informatik.uni-kiel.de/~curry, 2006.Google Scholar
- Pieter W. M. Koopman, Artem Alimarine, Jan Tretmans, and Marinus J. Plasmeijer. Gast: Generic automated software testing. In Proc. IFL, LNCS 2670, pages 84--100, 2002. Google Scholar
Digital Library
- H. Kuchen and S. Fischer. CyTest benchmarks web pages. URL http://danae.uni-muenster.de/lehre/kuchen/ICFP08/, 2008.Google Scholar
- Fredrik Lindblad, Matthew Naylor, and Colin Runciman. A logic programming library for test-data generation. Available at http://www-users.cs.york.ac.uk/~mfn/lazysmallcheck/, 2007.Google Scholar
- Roger A. Müller, Christoph Lembeck, and Herbert Kuchen. A symbolic Java virtual machine for test-case generation. In IASTED Conf. on Software Engineering, pages 365--371, 2004.Google Scholar
- N. Mweze andW. Vanhoof. Automatic generation of test inputs for Mercury programs. In Proc. LOPSTR, 2006.Google Scholar
- Matthew Naylor. A logic programming library for test-data generation. Available at http://www-users.cs.york.ac.uk/~mfn/sparsecheck/, 2007.Google Scholar
- S. Peyton Jones, editor. Haskell 98 Language and Libraries-The Revised Report. Cambridge University Press, 2003.Google Scholar
- F. Rabhi and G. Lapalme. Algorithms -- A Functional Programming Approach. Addison Wesley, 1999. Google Scholar
Digital Library
- Don Stewart and Spencer Sjanssen. Xmonad. In Haskell '07: Proceedings of the ACM SIGPLAN workshop on Haskell workshop, pages 119--119, New York, NY, USA, 2007. ACM. ISBN 978-1-59593-674-5. Google Scholar
Digital Library
Index Terms
Data-flow testing of declarative programs
Recommendations
Data-flow testing of declarative programs
ICFP '08: Proceedings of the 13th ACM SIGPLAN international conference on Functional programmingWe propose a novel notion of data-flow coverage for testing declarative programs. Moreover, we extend an automatic test-case generator such that it can achieve data-flow coverage. The coverage information is obtained by instrumenting a program such that ...
Selection and Prioritization of Test Cases by Combining White-Box and Black-Box Testing Methods
ECBS-EERC '13: Proceedings of the 2013 3rd Eastern European Regional Conference on the Engineering of Computer Based SystemsIn this paper, we present a methodology that combines both white-box and black-box testing, in order to improve testing quality for a given class of embedded systems. The goal of this methodology is generation of test cases for the new functional ...
Reducing the Cost of Regression Testing by Identifying Irreplaceable Test Cases
ICGEC '12: Proceedings of the 2012 Sixth International Conference on Genetic and Evolutionary ComputingTest suite reduction techniques decrease the cost of software testing by removing the redundant test cases from the test suite while still producing a reduced set of tests that yields the same level of code coverage as the original suite. Most of the ...







Comments