Summary of our recent paper: Corpus-based Analysis of Domain-Specific Languages (to appear in the SoSym Journal, work co-authored with Robert Tairas )

Once a domain-specific language (DSL) is deployed and users start writing in the language, a growing corpus of instances of the DSL usage will become available. By analyzing the corpus, we can obtain valuable characteristics of the DSL based on actual usage of the language. These characteristics in turn can be used by the software language engineer to improve the DSL in the future. In this paper, we investigate several analysis techniques on DSL corpora (i.e., instance, relationship, and cloning). We have focused on generic techniques to accommodate as many DSLs as possible. An Eclipse plug-in was implemented that supports the analysis of DSLs and their instances that have an EMF representation.

We performed evaluation on two DSLs (i.e., ATL and Puppet). The corpora of these DSLs consisted of 189 and 708 models, respectively. Observations from the characteristics of these languages include the limited usage of the imperative parts of ATL (a positive sign because of ATL’s declarative nature) and the distributed instances of cloning in Puppet. A challenge for subsequent public analysis of DSLs is the availability of DSL corpora. We have noted that repositories of DSLs instances are hard to obtain compared to those of general purpose languages where source code repositories are widely available for the public.

A preprint of our paper can be found here.

Want to build better software faster?

Want to build better software faster?

Read about the latest trends on software modeling and low-code development

You have Successfully Subscribed!

Pin It on Pinterest

Share This