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

Institutions

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
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
preprint

ArchitectureTutor: An AST-Based Approach for Automated Design Pattern Recognition and Educational Feedback in Python

Shyamala R, Naresh M
Zenodo (CERN European Organization for Nuclear Research)
Software Engineering Research
preprint

ArchitectureTutor: An AST-Based Approach for Automated Design Pattern Recognition and Educational Feedback in Python

Shyamala R, Naresh M
preprint en

Abstract

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.

Zenodo (CERN European Organization for Nuclear Research)
Indian Institute of Technology Bombay (IN), Yeshiva University (US)
Quality Education
Software Engineering Research
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.