ArchitectureTutor: An AST-Based Approach for Automated Design Pattern Recognition and Educational Feedback in Python
Understanding and implementing software design patterns is a critical milestone in computer science education and professional software engineering. However, verifying the correct structural implementation of these patterns typically relies on manual code reviews, which are time-consuming and prone to human error. While standard static analysis tools excel at identifying syntax and formatting issues, they generally fail to capture higher-level architectural structures. To bridge this gap, this paper introduces ArchitectureTutor, an automated, lightweight pedagogical tool designed to recognize structural design patterns in Python source code. By leveraging Abstract Syntax Tree (AST) parsing, the tool dynamically traverses raw code to identify programmatic structures indicative of specific design patterns. Successfully deployed and accessible as a public module on the Python Package Index (PyPI) [5], ArchitectureTutor provides an easily integrable solution for both educators grading architectural assignments and students seeking immediate, automated feedback on their software design choices.
Authors
- Shyamala R
- Naresh M
Institutions
- Indian Institute of Technology Bombay (IN)
- Yeshiva University (US)
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2026-09-04
- DOI
- https://doi.org/10.5281/zenodo.22296212
- Primary Topic
- Software Engineering Research
- Type
- preprint