Bibliographic Information: Mehta, A., & Aryan, G. (2024). CASET: Complexity Analysis using Simple Execution Traces for CS∗submissions. arXiv preprint arXiv:2410.15419v1.
Research Objective: This paper proposes and evaluates CASET (Complexity Analysis using Simple Execution Traces), a novel tool designed to automatically analyze the time complexity of student-submitted code in introductory computer science courses (CS1/CS2).
Methodology: CASET utilizes the Valgrind instrumentation framework to generate dynamic execution traces of programs run against a predefined test suite. These traces are then analyzed using unsupervised machine learning techniques, specifically curve fitting, to classify the program's time complexity into predetermined categories.
Key Findings: The authors demonstrate the effectiveness of CASET by analyzing the time complexity of various algorithms, including sorting, searching, and dynamic programming examples. The results show that CASET can accurately classify the time complexity of these algorithms based on their dynamic execution traces.
Main Conclusions: CASET offers a promising solution for automating the time complexity analysis of student code submissions, addressing a significant challenge in automated grading for CS1/CS2 courses. The tool can help instructors identify incorrect algorithm implementations, even if the program produces correct output for some test cases.
Significance: This research contributes to the field of computer science education by providing a practical tool for improving the efficiency and effectiveness of grading programming assignments. By automating the time complexity analysis, CASET can free up instructor time for other tasks, such as providing personalized feedback to students.
Limitations and Future Research: The current implementation of CASET relies on Valgrind, which can be computationally expensive for generating dynamic traces. The authors acknowledge this limitation and suggest exploring alternative instrumentation frameworks for improved performance. Future research could also investigate the application of CASET to a wider range of algorithms and data structures, as well as its integration into existing learning management systems.
Na inny język
z treści źródłowej
arxiv.org
Głębsze pytania