CASET: Complexity Analysis using Simple Execution Traces for CS* submissions
Aaryen Mehta, Gagan Aryan

TL;DR
CASET is a novel tool that uses execution traces and machine learning to analyze and classify the time complexity of student algorithms, aiding automated grading and feedback in CS education.
Contribution
The paper introduces CASET, a new method combining dynamic execution traces and unsupervised learning to determine algorithm complexity without source code analysis.
Findings
Successfully classifies sorting, searching, and dynamic programming algorithms.
Helps tutors identify algorithms used without reading source code.
Enhances automated grading with complexity analysis.
Abstract
The most common method to auto-grade a student's submission in a CS1 or a CS2 course is to run it against a pre-defined test suite and compare the results against reference results. However, this technique cannot be used if the correctness of the solution goes beyond simple output, such as the algorithm used to obtain the result. There is no convenient method for the graders to identify the kind of algorithm used in solving a problem. They must read the source code and understand the algorithm implemented and its features, which makes the process tedious. We propose CASET(Complexity Analysis using Simple Execution Traces), a novel tool to analyze the time complexity of algorithms using dynamic traces and unsupervised machine learning. CASET makes it convenient for tutors to classify the submissions for a program into time complexity baskets. Thus, tutors can identify the algorithms used…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsScientific Computing and Data Management · Distributed systems and fault tolerance · Radiation Effects in Electronics
