Portland, Oregon
June 23, 2024
June 23, 2024
June 26, 2024
NSF Grantees Poster Session
5
10.18260/1-2--46930
https://peer.asee.org/46930
63
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
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.
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
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