Asee peer logo

Board 348: Poster - Unified Regular Expression Antipattern Language (UREAL)

Download Paper |

Conference

2024 ASEE Annual Conference & Exposition

Location

Portland, Oregon

Publication Date

June 23, 2024

Start Date

June 23, 2024

End Date

June 26, 2024

Conference Session

NSF Grantees Poster Session

Tagged Topic

NSF Grantees Poster Session

Page Count

5

DOI

10.18260/1-2--46930

Permanent URL

https://peer.asee.org/46930

Download Count

63

Paper Authors

author page

Joseph Roy Teahen Michigan Technological University

author page

Daniel Masker Michigan Technological University Orcid 16x16 orcid.org/0009-0009-3662-8354

biography

Leo C. Ureel II Michigan Technological University Orcid 16x16 orcid.org/0000-0002-2214-5468

visit author page

Leo C. Ureel II is an Assistant Professor in Computer Science and in Cognitive and Learning Sciences at Michigan Technological University. He has worked extensively in the field of educational software development. His research interests include intelligent learning environments, computer science education, and Artificial Intelligence

visit author page

author page

Laura E Brown Michigan Technological University

biography

Michelle E Jarvie-Eggart P.E. Michigan Technological University Orcid 16x16 orcid.org/0000-0002-6795-3899

visit author page

Dr. Jarvie-Eggart is a registered professional engineer with over a decade of experience as an environmental engineer. She is an Assistant Professor of Engineering Fundamentals at Michigan Technological University. Her research interests include technology adoption, problem based and service learning, and sustainability.

visit author page

biography

Jon Sticklen Michigan Technological University Orcid 16x16 orcid.org/0000-0003-1778-4027

visit author page

Jon Sticklen is an Associate Professor with the Engineering Fundamentals Department (EF) and Affiliated Faculty with the Department of Cognitive and Learning Sciences (CLS). He served as Chair of EF from 2014-2020, leading a successful effort to design a

visit author page

Download Paper |

Abstract

In this poster, we discuss the unification of regular expressions to find antipatterns in WebTA. WebTA is a multi-language code critic designed to detect, report, and explain novice antipatterns to beginner programmers across many engineering and computing disciplines. Novice antipatterns are mistakes made in code that seem correct, but contain logical and structural fallacies. WebTA finds these antipatterns, displays them to the student, and offers immediate and meaningful, novice-targeted feedback to fix the problem. WebTA currently supports Java, MATLAB, and Python, with more languages in development. Many of the antipatterns in WebTA are specified using regular expressions. Similar antipatterns appear across the different languages, with subtle differences based on the language’s representation of logical structures such as if, while, or operator statements. While these differences are syntactically different, they are semantically identical. For each language we add to WebTA, many antipatterns need to be rewritten due to these syntactical differences. This increases development time and lessens the effectiveness of new languages due to a lesser corpus of antipattern definitions. Unified Regular Expression Antipattern Language (UREAL) seeks to unify regular expression antipatterns where the only difference is syntax. UREAL captures syntactic differences by language through regex expression tokenization. Instead of specifying the specific regular expression for each code structure, we specify a UREAL token which is usable across languages. We then use these UREAL tokens to create the regular expression antipatterns. We are able to automatically substitute language-specific regular expressions into UREAL expressions when using them to parse a given language to find antipatterns. In effect, if the "shape" of a piece of source code in two different languages is similar, we are able to write one UREAL expression to match it. This design-based research is evaluated on the reduction of regular expressions that need to be produced when specifying similar antipatterns across separate languages. By unifying the regular expressions in this way, we are able to reduce development time for new languages, increasing the time that can be spent encoding new antipatterns and providing quality feedback. Increasing the effectiveness and language diversity of WebTA will help students improve their programming skills regardless of chosen language and will help instructors draw upon a deeper antipattern library.

Teahen, J. R., & Masker, D., & Ureel, L. C., & Brown, L. E., & Jarvie-Eggart, M. E., & Sticklen, J. (2024, June), Board 348: Poster - Unified Regular Expression Antipattern Language (UREAL) Paper presented at 2024 ASEE Annual Conference & Exposition, Portland, Oregon. 10.18260/1-2--46930

ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2024 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015