Learning requirements analysis to software design transformation rules by examples: Limitations of current ILP systems

Model transformation is defined as a central concept in model driven engineering. Identifying the transformation rules is nontrivial task, where it might be much easier for the experts to provide examples of the transformations rather than specifying complete and consistent rules. The examples provided by expert represent their knowledge in the domain. Thus, it is much beneficial to utilize a set of examples, i.e. pairs of transformation source and target models, in order to learn transformation rules. Machine learning (ML) techniques proved their ability of learning relations and concepts in various domains. In this paper, we aim to apply Inductive Logic Programming (ILP) for learning the transformation rules between the requirements analysis and software design based on a set of pairs of transformation analysis and design models. ALEPH and GILPS systems have been employed, individually, to induce the intended transformation rules; however the resultant rules don't accommodate the desire transformations. Thus, in this paper we focus on identifying the problem of analysis-design transformation and discussing the derived rules as well as the limitations of the current ILP systems.

[1]  Moataz A. Ahmed,et al.  Transition from Analysis to Software Design: A Review and New Perspective , 2014, ArXiv.

[2]  Dániel Varró,et al.  Automating model transformation by example using inductive logic programming , 2007, SAC '07.

[3]  Vítor Santos Costa,et al.  Inductive Logic Programming , 2013, Lecture Notes in Computer Science.

[4]  Moataz A. Ahmed,et al.  Using Prolog Rules to Detect Software Design Patterns: Strengths and Weaknesses (S) , 2013, SEKE.

[5]  Stephen Muggleton,et al.  Inverse entailment and progol , 1995, New Generation Computing.

[6]  Dániel Varró,et al.  Model transformation by example , 2006, MoDELS'06.

[7]  Luc De Raedt,et al.  Inductive Logic Programming: Theory and Methods , 1994, J. Log. Program..

[8]  Jeffrey J. P. Tsai,et al.  Machine learning applications in software engineering , 2005 .

[9]  Dániel Varró,et al.  Model transformation by example using inductive logic programming , 2008, Software & Systems Modeling.

[10]  Moataz A. Ahmed,et al.  Machine Learning-Based Software Quality Prediction Models: State of the Art , 2013, 2013 International Conference on Information Science and Applications (ICISA).

[11]  Moataz A. Ahmed,et al.  Machine learning approaches for predicting software maintainability: a fuzzy-based transparent model , 2013, IET Softw..

[12]  Sriram Sankaranarayanan,et al.  Mining library specifications using inductive logic programming , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.