Grammar Inference Technology Applications in Software Engineering

softcom_logoZnakUMnsf        address





   Main Page



          Memetic Programming approach to recover DSLs

          Extensions and improvements to MARS system






          Graduate Students



       Contact Us                                                    

          Project Director

          Site Editor


     Other Links                                                  


         Computer and Information Science

         UAB Home Page

         University of Maribor




Recent Events

1.      Aug 31, ICGI Poster due.

2.     Sep 3, University of Nevada at Reno invited talk.

3.     Sep 9, CoRTA 2010 keynote (Braga, Portugal).

4.     Sep 15, ICGI 2010 presentation (Valencia, Spain).

5.     Sep 21, group meeting.




Qichao Doctor Symposium and Student Research Competition got accepted by SPLASH 10.






Project Summary

Grammar Inference (GI) is the process of learning a grammar from examples, either positive (i.e., the grammar generates the string) and/or negative (i.e., the grammar does not generate the string). While GI has been successfully applied to many diverse domains such as speech recognition and robotics, its application to software engineering has been limited. Because of the widespread use of context-free grammars (CFGs) in software system, there is a need to maintain and infer CFGs. The goal of the proposed research is to investigate the applicability of GI to software engineering and programming language (PL) development challenge problems, where GI offers an innovative solution to the problem, while remaining tractable and within the scope of that problem. Specifically, the following challenges are proposed for investigation:


1.                      Recovery of domain-specific language (DSL) specification

              from example DSL programs.

2.                      Recovery of a metamodel from instance models.



Acknowledgement: This material is based upon work supported by the National Science Foundation under Grant No. 0811630. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.



Latest Work

MARS with Extension

With the rapid development of model-driven engineering, modeling has become a widely used software development technique. Metamodels define the syntax of models and are needed to load model instances into a modeling tool. As a metamodel undergoes frequent evolution, previous model instances may become orphaned from the new definition. The metamodel may also be lost, resulting in the inability to load and view existing model instances. MARS, a metamodel recovery system using grammar inference, was developed to solve this problem. An overview of MARS is illustrated in the following Figure.


Copy (2) of mars2.JPG


However MARS could only infer metamodels with single-tiered domains, when it comes to multi-tiered domains which are more widely used in model-driven engineering, due to being able to represent larger models and enabling users to capture multiple viewpoints instead of a single one, the performance of MARS is not acceptable anymore. As a result MARS with extensions is presented to solve this problem and infer multi-tiered domain models (i.e., ESML models).







Copyright ©2008-2010 Dept. of Computer and Information Sciences, University of Alabama at Birmingham.

All rights reserved. Comments or suggestions to the site editor.

Last modified: Aug 25, 2010 by Qichao


Home URL: