Record: oai:ARNO:634574

AuteurM. Stijlaart
TitelTowards a Catalogue of Grammar Smells
BegeleiderVadim Zaytsev
FaculteitFaculteit der Natuurwetenschappen, Wiskunde en Informatica
OpleidingSoftware Engineering, MSc
Trefwoordengrammars; grammar engineering; code smells; catalogue
SamenvattingSoftware engineers have the notion of code smells to reason about code, discuss code with colleagues or identify refactoring opportunities. In grammar engineering - the art of working with grammars and grammar-dependent software - there is no notion of grammar smells. While software engineering is a complex task, software engineers require tools to reduce mistakes or structures that hinder the evolution of software. The same evolution hinders in grammar engineering. Some deficiencies are resolved by technology that parses and interprets grammars, but this does not take away the fact that it’s human beings themselves who have the task to engineer grammars. Engineers may have to select, rewrite or make incremental changes to grammars. In this work we analysed the original definition of code smells defined by Fowler and constructed a catalogue of 14 grammars smells. We’ve tested these smells against a corpus of 499 grammars and evaluated the effect of the detected violations on the subject grammars. For 12 of these smells we found significant results that show the grammars in the corpus do contain the deficiencies for which the smell descriptions warn the engineer. For the other two smells, we did not detect valid violations within the corpus. For 10 smells we identified that the readability or maintainability of the grammars improves when the violations are resolved. With the catalogue of grammar smells we propose, we extend the field of grammar engineering and widen the vocabulary of grammar engineers. This benefits the process of grammar engineering and will result in more readable and maintainable grammars, and a more professional discipline.
Soort document scriptie master