Generating Random Well-Typed Featherweight Java Programs Using QuickCheck

Samuel da Silva Feitosa, Rodrigo Geraldo Ribeiro, André Rauber Du Bois · Electronic Notes in Theoretical Computer Science · 2019

Currently, Java is one of the most used programming language, being adopted in many large projects, where applications reach a level of complexity for which manual testing and human inspection are not enough to guarantee quality in software development. Even when using automated unit tests, such tests rarely cover all interesting cases of code, which means that a bug could never be discovered, once the code is tested against the same set of rules over and over again. This paper addresses the problem of generating random well-typed programs in the context of Featherweight Java, a well-known object-oriented calculus, using QuickCheck, a Haskell library for property-based testing.

Read the paper · More papers on PaperTik