American Journal of Software Engineering and Applications

| Peer-Reviewed |

A Feature Based Methodology for Variable Requirements Reverse Engineering

Received: Feb. 12, 2019    Accepted: Mar. 18, 2019    Published: Apr. 03, 2019
Views:       Downloads:

Share This Article

Abstract

In the past years, software reverse engineering dealt with source code understanding. Nowadays, it is levered to software requirements abstract level, supported by feature model notations, language independent, and simpler than the source code reading. The recent relevant approaches face the following insufficiencies: lack of a complete integrated methodology, adapted feature model, feature patterns recognition, and Graph based slicing. This work aims to provide some solutions to the above challenges through an integrated methodology. The following results are unique. Elementary and configuration features are specified in a uniform way by introducing semantics specific attributes. The reverse engineering supports feature pattern recognition and requirements feature model graph-based slicing. The slicing criteria are rich enough to allow answering questions of software requirements maintainers. A comparison of this proposed methodology, based on effective criteria, with the similar works, seems to be valuable and competitive: the enrichment of the feature model and feature pattern recognition were never approached and the proposed slicing technique is more general, effective, and practical.

DOI 10.11648/j.ajsea.20190801.11
Published in American Journal of Software Engineering and Applications ( Volume 8, Issue 1, June 2019 )
Page(s) 1-7
Creative Commons

This is an Open Access article, distributed under the terms of the Creative Commons Attribution 4.0 International License (http://creativecommons.org/licenses/by/4.0/), which permits unrestricted use, distribution and reproduction in any medium or format, provided the original work is properly cited.

Copyright

Copyright © The Author(s), 2024. Published by Science Publishing Group

Keywords

Requirements Engineering, Reverse Engineering, Requirements Variability, Feature Model, Pattern Recognition, Graph-Based Slicing

References
[1] Font Jaime, Arcega Lorena, Haugen Oystein, and Cetina Carlos, (2017). Leveraging variability modeling to address metamodel revisions in Model-based Software Product Lines, Computer Languages, Systems & Structures, Elsevier, vol. 48, pp. 20-38.
[2] Cognini Riccardo, Corradini Flavio, Polini Andrea, and Re Barbara, (2016). Business Process Feature Model: An Approach to Deal with Variability of Business Processes, Domain-Specific Conceptual Modeling, Springer International Publishing, pp. 171-194.
[3] Becan Guillaume, Acher Mathieu, Baudry Benoit, and Ben N Sana, (2016). Breathing ontological knowledge into feature model synthesis: an empirical study, Empirical Software Engineering, vol. 21, pp. 1794-1841.
[4] Sanfilippo Emilio and Borgo Stefano, (2016). What are features? An ontology-based review of the literature, Computer Aided Design, Elsevier, vol. 80, pp. 9-18.
[5] Sepulveda Samuel, Cravero Ania, and Cachero Cristina, (2016). Requirements modeling languages for software product lines: A systematic literature review, Information & Software Technology, Elsevier, vol. 69, pp. 16-36.
[6] Washizaki Hironori, Gueheneuc Yann-Gael, and Khomh Foutse, (2016). A taxonomy for program metamodels, program reverse engineering Proceedings, IEEE International Conference on Software Maintenance and Evolution, pp. 1-12.
[7] Varoy Elliot, Burrows John, Sun Jing, and Manoharan Sathiamoorthy, (2017). Code to Design: A Reverse Engineering Approach, Proceedings of the IEEE International Conference on Engineering of Complex Computer Systems, pp. 181-186.
[8] Ibraheem Sumaya and Ghoul Said, (2017). Feature-based Variability Modelling in Software Evolution, journal of software engineering, vol. 11, no. 1, pp. 12-21.
[9] Dasgupta Annwesa, and Purzer Senay, (2016). No patterns in pattern recognition: A systematic literature review, In Frontiers in Education Conference (FIE), IEEE, pp. 1-3.
[10] Homenda Wladyslaw, and Lesinski Wojciech, (2014). Imbalanced pattern recognition: Concepts and evaluations, Neural Networks (IJCNN), International Joint Conference, pp. 3488-3495.
[11] Singh Jagannath, Khilar P. M., and Mohapatra D. P., (2017). Dynamic slicing of distributed Aspect-Oriented Programs: A context-sensitive approach, Computer Standards & Interfaces, Elsevier, vol. 52, pp.71-84.
[12] Ward Martin and Zedan Hussein, (2017). The formal semantics of program slicing for nonterminating computations, Journal of Software: Evolution and Process, vol. 29, no. 1.
[13] Krieter Sebastian, Schröter Reimar, Thüm Thomas, Fenske Wolfram, and Saake Gunter, (2016). Comparing algorithms for efficient feature-model slicing, Proceedings of the 20th International Systems and Software Product Line Conference, ACM, pp. 60-64.
[14] Tamanna and Singh Sukhvir, (2015). A Review of Model Based Slicing, (IJCSIT) International Journal of Computer Science and Information Technologies, vol. 6, no. 4, pp. 3396-3399.
[15] Almsiedeen RaFat, Huchard Marianne, Seriai Abdelhak, Urtado Christelle, and Vauttier Sylvain, (2014). Reverse Engineering Feature Models from Software Configurations using Formal Concept Analysis, Concept Lattices and their Applications, Slovakia, 11th International Conference on Concept Lattices and Their Applications, CEUR-Workshop, vol. 1252, pp. 95-106.
[16] Acher Mathieu, Baudry Benoit, Heymans Patrick, Cleve Anthony, and Hainaut Jean-Luc, (2013). Support for reverse engineering and maintaining feature models, Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems, ACM, vol. 51, pp. 20.
[17] Lopez-Herrejon Roberto, Linsbauer Lukas, Galindo José, Parejo José, Benavides David, Segura Sergio, and Egyed Alexander, (2015). An assessment of search-based techniques for reverse engineering feature models, Journal of Systems and Software, Elsevier, vol. 103, pp. 353-369.
[18] Yue Jianan, (2014). Transition from EBNF to Xtext, PSRC@MoDELs, Alternation, CEUR-WS.org, vol. 1258, pp. 75-80.
[19] Raibulet, C., Arcelli Fontana, F., Zanoni, M. (2017). Model-driven reverse engineering approaches: A systematic literature review; IEEE Access 5, 7997723, pp. 14516-14542.
[20] Buonamici, F., Carfagni, M., Furferi, R., (...), Lapini, A., Volpe, Y. (2018) Reverse engineering modeling methods and tools: a survey; Computer-Aided Design and Applications 15(3), pp. 443-464.
[21] Niu, N., Brinkkemper, S., Franch, X., Partanen, J., Savolainen, J. (2018). Requirements engineering and continuous deployment, IEEE Software, 35(2), pp. 86-90.
[22] Curcio, K., Navarro, T., Malucelli, A., Reinehr, S. (2018). Requirements engineering: A systematic mapping study in agile software development; Journal of Systems and Software, 139, pp. 32-50.
Cite This Article
  • APA Style

    Anas Alhamwieh, Said Ghoul. (2019). A Feature Based Methodology for Variable Requirements Reverse Engineering. American Journal of Software Engineering and Applications, 8(1), 1-7. https://doi.org/10.11648/j.ajsea.20190801.11

    Copy | Download

    ACS Style

    Anas Alhamwieh; Said Ghoul. A Feature Based Methodology for Variable Requirements Reverse Engineering. Am. J. Softw. Eng. Appl. 2019, 8(1), 1-7. doi: 10.11648/j.ajsea.20190801.11

    Copy | Download

    AMA Style

    Anas Alhamwieh, Said Ghoul. A Feature Based Methodology for Variable Requirements Reverse Engineering. Am J Softw Eng Appl. 2019;8(1):1-7. doi: 10.11648/j.ajsea.20190801.11

    Copy | Download

  • @article{10.11648/j.ajsea.20190801.11,
      author = {Anas Alhamwieh and Said Ghoul},
      title = {A Feature Based Methodology for Variable Requirements Reverse Engineering},
      journal = {American Journal of Software Engineering and Applications},
      volume = {8},
      number = {1},
      pages = {1-7},
      doi = {10.11648/j.ajsea.20190801.11},
      url = {https://doi.org/10.11648/j.ajsea.20190801.11},
      eprint = {https://download.sciencepg.com/pdf/10.11648.j.ajsea.20190801.11},
      abstract = {In the past years, software reverse engineering dealt with source code understanding. Nowadays, it is levered to software requirements abstract level, supported by feature model notations, language independent, and simpler than the source code reading. The recent relevant approaches face the following insufficiencies: lack of a complete integrated methodology, adapted feature model, feature patterns recognition, and Graph based slicing. This work aims to provide some solutions to the above challenges through an integrated methodology. The following results are unique. Elementary and configuration features are specified in a uniform way by introducing semantics specific attributes. The reverse engineering supports feature pattern recognition and requirements feature model graph-based slicing. The slicing criteria are rich enough to allow answering questions of software requirements maintainers. A comparison of this proposed methodology, based on effective criteria, with the similar works, seems to be valuable and competitive: the enrichment of the feature model and feature pattern recognition were never approached and the proposed slicing technique is more general, effective, and practical.},
     year = {2019}
    }
    

    Copy | Download

  • TY  - JOUR
    T1  - A Feature Based Methodology for Variable Requirements Reverse Engineering
    AU  - Anas Alhamwieh
    AU  - Said Ghoul
    Y1  - 2019/04/03
    PY  - 2019
    N1  - https://doi.org/10.11648/j.ajsea.20190801.11
    DO  - 10.11648/j.ajsea.20190801.11
    T2  - American Journal of Software Engineering and Applications
    JF  - American Journal of Software Engineering and Applications
    JO  - American Journal of Software Engineering and Applications
    SP  - 1
    EP  - 7
    PB  - Science Publishing Group
    SN  - 2327-249X
    UR  - https://doi.org/10.11648/j.ajsea.20190801.11
    AB  - In the past years, software reverse engineering dealt with source code understanding. Nowadays, it is levered to software requirements abstract level, supported by feature model notations, language independent, and simpler than the source code reading. The recent relevant approaches face the following insufficiencies: lack of a complete integrated methodology, adapted feature model, feature patterns recognition, and Graph based slicing. This work aims to provide some solutions to the above challenges through an integrated methodology. The following results are unique. Elementary and configuration features are specified in a uniform way by introducing semantics specific attributes. The reverse engineering supports feature pattern recognition and requirements feature model graph-based slicing. The slicing criteria are rich enough to allow answering questions of software requirements maintainers. A comparison of this proposed methodology, based on effective criteria, with the similar works, seems to be valuable and competitive: the enrichment of the feature model and feature pattern recognition were never approached and the proposed slicing technique is more general, effective, and practical.
    VL  - 8
    IS  - 1
    ER  - 

    Copy | Download

Author Information
  • Faculty of Information Technology, Research Laboratory on Bio-inspired Software Engineering, Philadelphia University, Amman, Jordan

  • Faculty of Information Technology, Research Laboratory on Bio-inspired Software Engineering, Philadelphia University, Amman, Jordan

  • Section