“…However, maintenance activities have never been a straightforward task, it is considered as the most time/effort-consuming and complex task throughout the life cycle of software development [7]. The maintenance practices for traditional software systems have been extensively studied [8,9,10,11,7,12,13,14,15]. These studies focus on a broad range of areas, including examining source-code complexity and software enhancement effort [16], estimating the reliability in the maintenance phase [17], studying the distributions and evolution of technical debts [18,19,20,21], and predicting the prevalence of bugs using anti-patterns [22,23,24] among others.…”