Even though I am a software engineer I cleared the ISTQB Foundation Level Certification. Last week I had an opportunity to participate in a course and got an exam voucher. The course took two days and the exam was three days after the course. I decided to broaden my knowledge in quality assurance area and be more aware of basic testing principles.
This post is an extension to the Infinite loops, halting problem and FindBugs containing slightly refactored core code and prepared unit tests using Java SE 8 capabilities. The main extension point is the class LoopUtils which provides methods allowing to verify loops finiteness. Thanks to these methods it is possible to classify methods to finite and infinite. Finiteness is determined by a flexible defined timeout. When a single method’s execution time reaches value of timeout then an execution is classified as infinite. The new code takes advantages on few Java SE 8 new possibilities. The source code is in the same repository but in a dedicated java8enabled branch .