Abstract

Property-based testing of compilers or programming language semantics is difficult to accomplish because it is hard to design a random generator for valid programs. Most compiler test tools do not have a well-specified way for generating type-correct programs, which is a requirement for such testing activities. In this project, we formalize a type-directed procedure to generate random well-typed Java 8 programs in the context of Featherweight Java, extending it with interfaces, λ -expressions and default methods. We implement the approach using the Haskell programming language and verify it against relevant properties using QuickCheck, a library for property-based testing. • Definition of a type-directed algorithm for constructing random Java 8 programs. • Proving that the specification is sound with respect to Featherweight Java typing rules. • Using QuickCheck as a lightweight approach to verify safety properties. • Compiling generated code with Oracle Java compiler. • Checking code coverage using Haskell HPC tool.

Full Text
Paper version not known

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call