A Java static and dynamic analysis framework designed specifically for computer science education, automated grading, and instructional feedback.
fka Java Testing Framework
This project has been evolving for the better part of the last decade. It has morphed, not always cleanly and with no design document as a guide, based upon my needs for any arbitrary lab assignment I gave my students. Bottom line, it's a bit of a mess but it's time to put it out there.
I used JUnit to test the correctness of the results of my students' code. While a very useful tool in industry, students such as mine (I primarily teach foundation-level courses: CS1, CS2, Data Structures) do not have the experience or insights to effectively use the results of those tests. These tests also tend to be at a high level, only testing accessible/visible methods; they do not exercise private methods and they require that the entire implementation be in-place. Generally not a problem for CS1. Learning object-oriented programming in CS2 introduces new challenges for the students and the tests - properly structured objects can't be interrogated by external code due to encapsulation/visibility constraints.
[come back soon - I'm workin' on it 8~]
This work is in affiliation with Wentworth Institute of Technology, School of Computing and Data Science.
Copyright © 2016-2026 David M Rosenberg, The Software Toolsmith
This project is licensed under the Apache License, Version 2.0.
See the LICENSE file for details.