%0 Conference Proceedings %T Inspecting Code Churns to Prioritize Test Cases %+ University of Naples Federico II = Università degli studi di Napoli Federico II %A Altiero, Francesco %A Corazza, Anna %A Di Martino, Sergio %A Peron, Adriano %A Starace, Luigi %Z Part 4: Testing Methods and Automation %< avec comité de lecture %( Lecture Notes in Computer Science %B 32th IFIP International Conference on Testing Software and Systems (ICTSS) %C Naples, Italy %Y Valentina Casola %Y Alessandra De Benedictis %Y Massimiliano Rak %I Springer International Publishing %3 Testing Software and Systems %V LNCS-12543 %P 272-285 %8 2020-12-09 %D 2020 %R 10.1007/978-3-030-64881-7_17 %K Regression testing %K Test prioritization %K Code churn. %Z Computer Science [cs] %Z Computer Science [cs]/Networking and Internet Architecture [cs.NI]Conference papers %X Within the context of software evolution, due to time-to-market pressure, it is not uncommon that a company has not enough time and/or resources to re-execute the whole test suite on the new software version, to check for non-regression. To face this issue, many Regression Test Prioritization techniques have been proposed, aimed at ranking test cases in a way that tests more likely to expose faults have higher priority. Some of these techniques exploit code churn metrics, i.e. some quantification of code changes between two subsequent versions of a software artifact, which have been proven to be effective indicators of defect-prone components. In this paper, we first present three new Regression Test Prioritization strategies, based on a novel code churn metric, that we empirically assessed on an open source software system. Results highlighted that the proposal is promising, but that it might be further improved by a more detailed analysis on the nature of the changes introduced between two subsequent code versions. To this aim, in this paper we also sketch a more refined approach we are currently investigating, that quantifies changes in a code base at a finer grained level. Intuitively, we seek to prioritize tests that stress more fault-prone changes (e.g., structural changes in the control flow), w.r.t. those that are less likely to introduce errors (e.g., the renaming of a variable). To do so, we propose the exploitation of the Abstract Syntax Tree (AST) representation of source code, and to quantify differences between ASTs by means of specifically designed Tree Kernel functions, a type of similarity measure for tree-based data structures, which have shown to be very effective in other domains, thanks to their customizability. %G English %Z TC 6 %Z WG 6.1 %2 https://inria.hal.science/hal-03239823/document %2 https://inria.hal.science/hal-03239823/file/497758_1_En_17_Chapter.pdf %L hal-03239823 %U https://inria.hal.science/hal-03239823 %~ IFIP-LNCS %~ IFIP %~ IFIP-TC %~ IFIP-WG %~ IFIP-TC6 %~ IFIP-WG6-1 %~ IFIP-ICTSS %~ IFIP-LNCS-12543