A Mechanism for Automatically Extracting Reusable and Maintainable Code Idioms from Software Repositories

Argyrios Papoudakis, Thomas Karanikiotis, Andreas Symeonidis

2022

Abstract

The importance of correct, qualitative and evolvable code is non-negotiable, when considering the maintainability potential of software. At the same time, the deluge of software residing in code hosting platforms has led to a new component-based software development paradigm, where reuse of suitable software components/ snippets is important for software projects to be implemented as fast as possible. However, ensuring acceptable quality that will guarantee basic maintainability is also required. A condition for acceptable software reusability and maintainability is the use of idiomatic code, based on syntactic fragments that recur frequently across software projects and are characterized by high quality. In this work, we present a mechanism that employs the top repositories from GitHub in order to automatically identify reusable and maintainable code idioms. By extracting the Abstract Syntax Tree representation of each project we group code snippets that appear to have similar structural and semantic information. Preliminary evaluation of our methodology indicates that our approach can identify commonly used, reusable and maintainable code idioms that can be effectively given as actionable recommendations to the developers.

Download


Paper Citation


in Harvard Style

Papoudakis A., Karanikiotis T. and Symeonidis A. (2022). A Mechanism for Automatically Extracting Reusable and Maintainable Code Idioms from Software Repositories. In Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT, ISBN 978-989-758-588-3, pages 79-90. DOI: 10.5220/0011279300003266


in Bibtex Style

@conference{icsoft22,
author={Argyrios Papoudakis and Thomas Karanikiotis and Andreas Symeonidis},
title={A Mechanism for Automatically Extracting Reusable and Maintainable Code Idioms from Software Repositories},
booktitle={Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT,},
year={2022},
pages={79-90},
publisher={SciTePress},
organization={INSTICC},
doi={10.5220/0011279300003266},
isbn={978-989-758-588-3},
}


in EndNote Style

TY - CONF

JO - Proceedings of the 17th International Conference on Software Technologies - Volume 1: ICSOFT,
TI - A Mechanism for Automatically Extracting Reusable and Maintainable Code Idioms from Software Repositories
SN - 978-989-758-588-3
AU - Papoudakis A.
AU - Karanikiotis T.
AU - Symeonidis A.
PY - 2022
SP - 79
EP - 90
DO - 10.5220/0011279300003266