(IJACSA) International Journal of Advanced Computer Science and Applications, Vol. 11, No. 8, 2020 An Automated Framework for Detecting Change in the Source Code and Test Case Change Recommendation Niladri Shekar Dey 1 , Purnachand Kollapudi 2 , M V Narayana 3 , I Govardhana Rao 4 Associate Professor, Department of CSE, B V Raju Institute of Technology, Narsapur, Medak Dist.Telangana State, India 1, 2 Professor, Department of CSE, Guru Nanak Institutions Technical Campus, Hyderabad, India 3 Assistant Professor, Department of CSE, Osmania University, Hyderabad, India 4 Abstract—Improvements and acceleration in software development has contributed towards high quality services in all domains and all fields of industry causing increasing demands for high quality software developments. In order to match with the high-quality software development demands, the software development industry is adopting human resources with high skills, advanced methodologies and technologies for accelerating the development life cycle. In the software development life cycle, one of the biggest challenges is the change management between versions of the source codes. The versing of the source code can be caused by various reasons such as change in the requirements or adaptation of functional update or technological upgradations. The change management does not only affect the correctness of the release for the software service, rather also impact the number of test cases. It is often observed that, the development life cycle is delayed due to lack of proper version control and due to the improver version control, the repetitive testing iterations. Hence the demand for better version control driven test case reduction methods cannot be ignored. A number of version control mechanisms are proposed by the parallel research attempts. Nevertheless, most of the version controls are criticized for not contributing towards the test case generation of reduction. Henceforth, this work proposes a novel probabilistic refactoring detection and rule-based test case reduction method in order to simplify the testing and version control mechanism for the software development. The refactoring process is highly adopted by the software developers for making efficient changes such as code structure, functionality or apply change in the requirements. This work demonstrates a very high accuracy for change detection and management. This results into a higher accuracy for test case reductions. The final outcome of this work is to reduce the development time for the software for making the software development industry a better and efficient world. Keywords—Change detection; pre-requisite detection; feature detection; functionality detection and test case change recommendation I. INTRODUCTION The improvements in the code development is a must to be performed task for all software development cycles, due to the continuous changing client requirements. The improvements or the changes in the software source code can be done in various ways such as version control or requirement tracking or using third party tools. Nonetheless, the most frequent and highly adopted method is the refactoring method as suggested by M. Fowler et al. [1]. The effect of refactoring on the software source code is highly compatible with the change management process and further with the other phases of software development life cycle. The notable outcome by the work of E. R. Murphy-Hill et al. [2] have listed the standard phases of refactoring of source code, which deeply influences the adaptation of the process. The detailed comparative analysis of other versioning methods with refactoring is performed by N. Tsantalis et al. [3] highlighting the benefits of refactoring over other methods. The challenges of refactoring process for any source code cannot be ignored and can cause higher complexity during versioning in case of improper management as demonstrated by M. Kim et al. [4]. Another study focuses on the software development improvisation by Microsoft, suggesting similar measures as documented by Miryung Kim et al. [5]. Also, the similar study is conducted on another open source tool, GitHub, by D. Silva et al. [6] and the result is same as the previous studies recommending similar measures to be followed for safe refactoring of the source code (Fig. 1). Therefore, understanding that the refactoring (Fig. 2) of the source code can be highly helpful for source code changing, most of the development practices uses this method. Nevertheless, the process of refactoring the code can be helpful for making controlled changes into the code, but these changes results into further changes of testing process and test case management. Hence, the demand for change detection and test case verification without repeating the test cases for the features, which has not changed during the refactoring process, is highly prioritized by the industry practitioners and researchers. Thus, this work attempts to provide a solution to the change detection and test case reductions. The rest of the work is furnished such as in the Section II, the outcomes from the parallel researcher are analyzed, in Section III, problem definition and the scope for improvements are listed, in Section IV, the proposed change detection algorithm is discussed, in Section V, the proposed test case detection and reduction algorithm is elaborated, in the Section VI, the proposed complete automated framework is furnished, in the Section VII, the results are discussed, in the Section VIII, the comparative analysis for understanding the improvements are discussed and in the Section IX, this work presents the final conclusion. 270 | Page www.ijacsa.thesai.org