Home > Research > Publications & Outputs > Mining Patterns from Change Logs to Support Reu...

Links

Text available via DOI:

View graph of relations

Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Published

Standard

Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures. / Ahmad, Aakash; Pahl, Claus; Altamimi, Ahmed B. et al.
In: Journal of Computer Science and Technology, Vol. 33, No. 6, 01.11.2018, p. 1278-1306.

Research output: Contribution to Journal/MagazineJournal articlepeer-review

Harvard

Ahmad, A, Pahl, C, Altamimi, AB & Alreshidi, A 2018, 'Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures', Journal of Computer Science and Technology, vol. 33, no. 6, pp. 1278-1306. https://doi.org/10.1007/s11390-018-1887-3

APA

Ahmad, A., Pahl, C., Altamimi, A. B., & Alreshidi, A. (2018). Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures. Journal of Computer Science and Technology, 33(6), 1278-1306. https://doi.org/10.1007/s11390-018-1887-3

Vancouver

Ahmad A, Pahl C, Altamimi AB, Alreshidi A. Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures. Journal of Computer Science and Technology. 2018 Nov 1;33(6):1278-1306. doi: 10.1007/s11390-018-1887-3

Author

Ahmad, Aakash ; Pahl, Claus ; Altamimi, Ahmed B. et al. / Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures. In: Journal of Computer Science and Technology. 2018 ; Vol. 33, No. 6. pp. 1278-1306.

Bibtex

@article{3f8a787f54fb430c9423ade21ae05b67,
title = "Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures",
abstract = "Modern software systems are subject to a continuous evolution under frequently varying requirements and changes in systems{\textquoteright} operational environments. Lehman{\textquoteright}s law of continuing change demands for long-living and continuously evolving software to prolong its productive life and economic value by accommodating changes in existing software. Reusable knowledge and practices have proven to be successful for continuous development and evolution of the software effectively and efficiently. However, challenges such as empirical acquisition and systematic application of the reusable knowledge and practices must be addressed to enable or enhance software evolution. We investigate architecture change logs — mining histories of architecture-centric software evolution — to discover change patterns that 1) support reusability of architectural changes and 2) enhance the efficiency of the architecture evolution process. We model architecture change logs as a graph and apply graph-based formalism (i.e., graph mining techniques) to discover software architecture change patterns. We have developed a prototype that enables tool-driven automation and user decision support during software evolution. We have used the ISO-IEC-9126 model to qualitatively evaluate the proposed solution. The evaluation results suggest that the proposed solution 1) enables the reusability of frequent architectural changes and 2) enhances the efficiency of architecture-centric software evolution process. The proposed solution promotes research efforts to exploit the history of architectural changes to empirically discover knowledge that can guide architecture-centric software evolution.",
keywords = "evolution pattern, repository mining, software architecture, software maintenance and evolution",
author = "Aakash Ahmad and Claus Pahl and Altamimi, {Ahmed B.} and Abdulrahman Alreshidi",
note = "Publisher Copyright: {\textcopyright} 2018, Springer Science+Business Media, LLC, part of Springer Nature.",
year = "2018",
month = nov,
day = "1",
doi = "10.1007/s11390-018-1887-3",
language = "English",
volume = "33",
pages = "1278--1306",
journal = "Journal of Computer Science and Technology",
issn = "1000-9000",
publisher = "Springer New York",
number = "6",

}

RIS

TY - JOUR

T1 - Mining Patterns from Change Logs to Support Reuse-Driven Evolution of Software Architectures

AU - Ahmad, Aakash

AU - Pahl, Claus

AU - Altamimi, Ahmed B.

AU - Alreshidi, Abdulrahman

N1 - Publisher Copyright: © 2018, Springer Science+Business Media, LLC, part of Springer Nature.

PY - 2018/11/1

Y1 - 2018/11/1

N2 - Modern software systems are subject to a continuous evolution under frequently varying requirements and changes in systems’ operational environments. Lehman’s law of continuing change demands for long-living and continuously evolving software to prolong its productive life and economic value by accommodating changes in existing software. Reusable knowledge and practices have proven to be successful for continuous development and evolution of the software effectively and efficiently. However, challenges such as empirical acquisition and systematic application of the reusable knowledge and practices must be addressed to enable or enhance software evolution. We investigate architecture change logs — mining histories of architecture-centric software evolution — to discover change patterns that 1) support reusability of architectural changes and 2) enhance the efficiency of the architecture evolution process. We model architecture change logs as a graph and apply graph-based formalism (i.e., graph mining techniques) to discover software architecture change patterns. We have developed a prototype that enables tool-driven automation and user decision support during software evolution. We have used the ISO-IEC-9126 model to qualitatively evaluate the proposed solution. The evaluation results suggest that the proposed solution 1) enables the reusability of frequent architectural changes and 2) enhances the efficiency of architecture-centric software evolution process. The proposed solution promotes research efforts to exploit the history of architectural changes to empirically discover knowledge that can guide architecture-centric software evolution.

AB - Modern software systems are subject to a continuous evolution under frequently varying requirements and changes in systems’ operational environments. Lehman’s law of continuing change demands for long-living and continuously evolving software to prolong its productive life and economic value by accommodating changes in existing software. Reusable knowledge and practices have proven to be successful for continuous development and evolution of the software effectively and efficiently. However, challenges such as empirical acquisition and systematic application of the reusable knowledge and practices must be addressed to enable or enhance software evolution. We investigate architecture change logs — mining histories of architecture-centric software evolution — to discover change patterns that 1) support reusability of architectural changes and 2) enhance the efficiency of the architecture evolution process. We model architecture change logs as a graph and apply graph-based formalism (i.e., graph mining techniques) to discover software architecture change patterns. We have developed a prototype that enables tool-driven automation and user decision support during software evolution. We have used the ISO-IEC-9126 model to qualitatively evaluate the proposed solution. The evaluation results suggest that the proposed solution 1) enables the reusability of frequent architectural changes and 2) enhances the efficiency of architecture-centric software evolution process. The proposed solution promotes research efforts to exploit the history of architectural changes to empirically discover knowledge that can guide architecture-centric software evolution.

KW - evolution pattern

KW - repository mining

KW - software architecture

KW - software maintenance and evolution

U2 - 10.1007/s11390-018-1887-3

DO - 10.1007/s11390-018-1887-3

M3 - Journal article

AN - SCOPUS:85056862575

VL - 33

SP - 1278

EP - 1306

JO - Journal of Computer Science and Technology

JF - Journal of Computer Science and Technology

SN - 1000-9000

IS - 6

ER -