Programming language evolution via source code query languages

Raoul-Gabriel Urma, Alan Mycroft
2012 Proceedings of the ACM 4th annual workshop on Evaluation and usability of programming languages and tools - PLATEAU '12  
Programming languages evolve just like programs. Language features are added and removed, for example when programs using them are shown to be error-prone. When language features are modified, deprecated, removed or even deemed unsuitable for the project at hand, it is necessary to analyse programs to identify occurrences to refactor. Source code query languages in principle provide a good way to perform this analysis by exploring codebases. Such languages are often used to identify code to
more » ... ctor, bugs to fix or simply to understand a system better. This paper evaluates seven Java source code query languages: Java Tools Language, Browse-By-Query, SOUL, JQuery, .QL, Jackpot and PMD as to their power at expressing queries required by several use cases (such as code idioms to be refactored).
doi:10.1145/2414721.2414728 dblp:conf/oopsla/UrmaM12 fatcat:qm623dzdt5c47mptvwh4uhkpge