Releases: CS1371/autograder
Version 6.0.0
Welcome to Version 6.0.0! This includes a variety of bug fixes, performance enhancements, and API changes.
Bug Fixes
This version fixes the following bugs:
fclose all
would cause the engine to attach an unrelated error to the student feedback - now it simply causes the student to error- Cheat detection now requires fewer lines to trigger
Performance Enhancements
xlswrite
is no longer used;readcell
andwritecell
are far more performant and stable. The overload forxlswrite
was removed
Breaking Changes
dir
was removed as a banned function, and now is overloaded to prevent security vulnerabilities.
Signing Off
This will be my last release. I am happy to be handing this off to @jpetrillo3 and @mmurphy87, I trust they will take great care of this, as well as the rest of our software suite and toolchain. I saw the Autograder grow from a buggy, disorganized, and slow mess, to the juggernaut it is today. Since we started the rewrite, I have seen it gain:
- A respectable UI
- A robust grading engine
- A high-performance cheat detection engine
- Semantic Versioning
- Code review and organization
- Use of web APIs to automatically grab whatever it needs
- A strong foundation for documentation
- Actual version control
- Binary packages for use by end-users
- True plot evaluation
- Detailed static analysis of both student and our own code
- Actual coding standards
- Auto-updating and self-checking functionality
- Rich user interaction and a wonderful debugging environment
These are things I think we all can truly be proud of. I had high hopes for this software, and it has managed to surpass even those. It truly is a testament to what a well-run team of passionate individuals can do. We leave the course with great software, and in even greater hands.
Would the last one to leave, please turn out the lights.
- Alex
Version 5.1.0
Version 5.1.0 features robust compliance with the new rubric standard
Version 5.0.1
This version fixes minor issues found in Version 5, and has a few performance enhancements
Version 5
Welcome to Version 5!
Version 5 adds a slew of updates, bug fixes, performance improvements, and new features.
Cheat Detection
The Autograder's Cheat Detection is far superior in version 5:
- Cheat Detection Results are automatically exported
- Detection is much faster - results are often ready in under 10 minutes
- Results are additionally sorted into sections for ease of export
- Results are also sent to the Slack Recipients
Canvas Integration
The Autograder's relationship with Canvas is now complete:
- Canvas sections are automatically collected from both archives and online
- Student Canvas IDs are also stored, meaning faster communication about specific students with Canvas
- Canvas Feedback uploading is now perfectly compliant with the documentation
- Students are ordered via Canvas order
Added Protection
The Autograder has a suite of new protections for the host:
- The student can only open
txt
files - A new set of banned functions means fewer vectors of attacking the host
- Hijacked workers are detected and deleted after every student
- Students cannot crash MATLAB with infinite warnings (And this was filed as a bug report with MathWorks)
- Disk usage is measured, and if it becomes low, grading is suspended. In some cases, the Autograder can even free space
- The new
leaks
mode means that possibly damaging assignments are isolated for review before execution - Student submission size limits mean that the student cannot submit large files
- Student outputs are not rendered if they are too large
- Students are barred from making arrays larger than a percentage of available RAM
Miscellaneous Features
- Automatic updates means that the Autograder can install new versions on the user's behalf
- A new post processor means that the host can formally process a previously graded archive
- A new Test Case Parser means that the Autograder is ready for the new Homework Compiler, and is compatible with both legacy and next generation homework packages
- A new Plot Checker means plot grading is faster, more accurate, and delivers better feedback
Performance Improvements & Bug Fixes
As stated, version 5 includes many bug fixes and performance enhancements:
- Recursion checking is more performant and doesn't hang with mutual recursion
- Recursion checking is also more accurate, and can accurately trace mutual recursion among any number of member functions
- Banned function checking is unit tested and more accurate
- Local submission prompts inform the host of what exactly to select
- Image encoding means that feedback files are smaller
- Linking of resources means that feedback files are much smaller
- Student generation is now far faster
- There is much less implicit state
- Student Grades can be overridden
- Documentation is now much more accurate
- The move from MATLAB app files to code files means better
git
integration, and a far better debugging experience - Break mode is now the standard, and any error will activate break mode instead of exiting
As always, it is our pleasure to deliver an outstanding product. Should you find any bugs, or have any ideas about how to improve the autograder, please contact the CS 1371 Software Development Team
Version 4.8.2
This features a hotfix for if students submit non code files.
It also stops checking solutions for the use of banned functions.
Version 4.8.1
This version features a hotfix for students that print infinite warnings.
Version 4.8
This version adds new fixes and improvements
Automatic Updates
The autograder can now automatically detect and update to new releases
Student Selection
Student selection is now faster and more reliable
As usual, the normal bug fixes and performance enhancements
Version 4.7.4
This version has a hotfix for recursion checking
Version 4.7.3
This adds a hotfix for downloading from Canvas
Version 4.7.2
This version includes an improvement to the way file pickers are shown to the user.