Corpus-based analysis of domain-specific languages

As more domain-specific languages (DSLs) are designed and developed, the need to evaluate these languages becomes an essential part of the overall DSL life cycle. Corpus-based analysis can serve as an evaluation mechanism to identify characteristics of the language after it has been deployed by looking at how end-users employ it in practice. This analysis that is based on actual usage of the language brings a new perspective which can be considered by a language engineer when working toward improving the language. In this paper, we describe our utilization of corpus-based analysis techniques and exemplify them on the evaluation of the Puppet and ATL DSLs. We also outline an Eclipse plug-in, which is a generic corpus-based DSL analysis tool that can accommodate the evaluation of different DSLs.

[1]  Jean Bézivin,et al.  ATL: A model transformation tool , 2008, Sci. Comput. Program..

[2]  Jurriaan Hage,et al.  Neon: A Library for Language Usage Analysis , 2008, SLE.

[3]  Jeffrey G. Gray,et al.  Phoenix-based clone detection using suffix trees , 2006, ACM-SE 44.

[4]  Ralf Lämmel,et al.  Vivisection of a Non-Executable, Domain-Specific Language - Understanding (the Usage of) the P3P Language , 2010, 2010 IEEE 18th International Conference on Program Comprehension.

[5]  Eugene Miya,et al.  On "Software engineering" , 1985, SOEN.

[6]  Jordi Cabot,et al.  Cloning in DSLs: Experiments with OCL , 2011, SLE.

[7]  M Mernik,et al.  When and how to develop domain-specific languages , 2005, CSUR.

[8]  Jordi Cabot,et al.  UMLtoCSP: a tool for the formal verification of UML/OCL models using constraint programming , 2007, ASE.

[9]  Miguel Goulão,et al.  Do Software Languages Engineers Evaluate their Languages? , 2011, CIbSE.

[10]  Mario Piattini,et al.  Building measure-based prediction models for UML class diagram maintainability , 2007, Empirical Software Engineering.

[11]  Jan Recker,et al.  How Much Language Is Enough? Theoretical and Practical Use of the Business Process Modeling Notation , 2008, CAiSE.

[12]  Brian Berenbach,et al.  The evaluation of large, complex UML analysis and design models , 2004, Proceedings. 26th International Conference on Software Engineering.

[13]  Rainer Koschke,et al.  Empirical evaluation of clone detection using syntax suffix trees , 2008, Empirical Software Engineering.

[14]  Harald Störrle Towards clone detection in UML domain models , 2010, ECSA '10.

[15]  Marta Indulska,et al.  Measuring Method Complexity: UML versus BPMN , 2009, AMCIS.

[16]  Martin Glinz,et al.  Estimating footprints of model operations , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[17]  Jean-Marc Jézéquel,et al.  Model-driven generative development of measurement software , 2010, Software & Systems Modeling.

[18]  Giuliano Antoniol,et al.  Comparison and Evaluation of Clone Detection Tools , 2007, IEEE Transactions on Software Engineering.

[19]  R. Suganya,et al.  Data Mining Concepts and Techniques , 2010 .

[20]  T. Landauer,et al.  Indexing by Latent Semantic Analysis , 1990 .

[21]  Jeffrey Parsons,et al.  Dimensions of UML Diagram Use: A Survey of Practitioners , 2008, J. Database Manag..

[22]  Mark van den Brand,et al.  An exercise in iterative domain-specific language design , 2010, IWPSE-EVOL '10.

[23]  Arie van Deursen,et al.  Domain-Specific Languages in Practice: A User Study on the Success Factors , 2009, MoDELS.

[24]  Patrick Heymans,et al.  Evaluating a Textual Feature Modelling Language: Four Industrial Case Studies , 2010, SLE.

[25]  Dan Gusfield Algorithms on Strings, Trees, and Sequences - Computer Science and Computational Biology , 1997 .

[26]  Brenda S. Baker,et al.  On finding duplication and near-duplication in large software systems , 1995, Proceedings of 2nd Working Conference on Reverse Engineering.

[27]  Shinji Kusumoto,et al.  CCFinder: A Multilinguistic Token-Based Code Clone Detection System for Large Scale Source Code , 2002, IEEE Trans. Software Eng..

[28]  Cornelia Boldyreff,et al.  Developing Software Metrics Applicable to UML Models , 2002 .

[29]  Michel R. V. Chaudron,et al.  MetricViewEvolution: UML-based Views for Monitoring Model Evolution and Quality , 2007, 11th European Conference on Software Maintenance and Reengineering (CSMR'07).

[30]  Shinji Kusumoto,et al.  A metric-based approach to identifying refactoring opportunities for merging code clones in a Java software system , 2008 .

[31]  Jean Vanderdonckt,et al.  Usability Evaluation of User Interfaces Generated with a Model-Driven Architecture Tool , 2008, Maturing Usability.

[32]  Jeffrey G. Gray,et al.  An information retrieval process to aid in the analysis of code clones , 2009, Empirical Software Engineering.