Software Change

14,000,000 Leading Edge Experts on the ideXlab platform

Scan Science and Technology

Contact Leading Edge Experts & Companies

Scan Science and Technology

Contact Leading Edge Experts & Companies

The Experts below are selected from a list of 174582 Experts worldwide ranked by ideXlab platform

Jeffrey D. Kymer - One of the best experts on this subject based on the ideXlab platform.

  • Automated classification of Software Change messages by semi-supervised Latent Dirichlet Allocation
    Information and Software Technology, 2015
    Co-Authors: Ying Fu, Meng Yan, Ling Xu, Xiaohong Zhang, Dan Yang, Jeffrey D. Kymer
    Abstract:

    Context: Topic models such as probabilistic Latent Semantic Analysis (pLSA) and Latent Dirichlet Allocation (LDA) have demonstrated success in mining Software repository tasks. Understanding Software Change messages described by the unstructured nature-language text is one of the fundamental challenges in mining these messages in repositories. Objective: We seek to present a novel automatic Change message classification method characterized by semi-supervised topic semantic analysis. Method: In this work, we present a semi-supervised LDA based approach to automatically classify Change messages. We use domain knowledge of Software Changes to make labeled samples which are added to build the semi-supervised LDA model. Next, we verify the cross-project analysis application of our method on three open-source projects. Our method has two advantages over existing Software Change classification methods: First of all, it mitigates the issue of how to set the appropriate number of latenttopics. We do not have to choose the number of latent topics in our method, because it corresponds to the number of class labels. Second, this approach utilizes the information provided by the label samples in the training set. Results: Our method automatically classified about 85% of the Change messages in our experiment and our validation survey showed that 70.56% of the time our automatic classification results were in agreement with developer opinions. Conclusion: Our approach automatically classifies most of the Change messages which record the cause of the Software Change and the method is applicable to cross-project analysis of Software Change messages.

Ying Fu - One of the best experts on this subject based on the ideXlab platform.

  • Automated classification of Software Change messages by semi-supervised Latent Dirichlet Allocation
    Information and Software Technology, 2015
    Co-Authors: Ying Fu, Meng Yan, Ling Xu, Xiaohong Zhang, Dan Yang, Jeffrey D. Kymer
    Abstract:

    Context: Topic models such as probabilistic Latent Semantic Analysis (pLSA) and Latent Dirichlet Allocation (LDA) have demonstrated success in mining Software repository tasks. Understanding Software Change messages described by the unstructured nature-language text is one of the fundamental challenges in mining these messages in repositories. Objective: We seek to present a novel automatic Change message classification method characterized by semi-supervised topic semantic analysis. Method: In this work, we present a semi-supervised LDA based approach to automatically classify Change messages. We use domain knowledge of Software Changes to make labeled samples which are added to build the semi-supervised LDA model. Next, we verify the cross-project analysis application of our method on three open-source projects. Our method has two advantages over existing Software Change classification methods: First of all, it mitigates the issue of how to set the appropriate number of latenttopics. We do not have to choose the number of latent topics in our method, because it corresponds to the number of class labels. Second, this approach utilizes the information provided by the label samples in the training set. Results: Our method automatically classified about 85% of the Change messages in our experiment and our validation survey showed that 70.56% of the time our automatic classification results were in agreement with developer opinions. Conclusion: Our approach automatically classifies most of the Change messages which record the cause of the Software Change and the method is applicable to cross-project analysis of Software Change messages.

Yanngael Gueheneuc - One of the best experts on this subject based on the ideXlab platform.

  • an exploratory study of the impact of code smells on Software Change proneness
    Working Conference on Reverse Engineering, 2009
    Co-Authors: Foutse Khomh, Massimiliano Di Penta, Yanngael Gueheneuc
    Abstract:

    Code smells are poor implementation choices, thought to make object-oriented systems hard to maintain. In this study, we investigate if classes with code smells are more Change-prone than classes without smells. Specifically, we test the general hypothesis: classes with code smells are not more Change prone than other classes. We detect 29 code smells in 9 releases of Azureus and in 13 releases of Eclipse, and study the relation between classes with these code smells and class Change-proneness. We show that, in almost all releases of Azureus and Eclipse, classes with code smells are more Change-prone than others, and that specific smells are more correlated than others to Change-proneness. These results justify a posteriori previous work on the specification and detection of code smells and could help focusing quality assurance and testing activities.

Stefano Di Alesio - One of the best experts on this subject based on the ideXlab platform.

  • What are the effects of history length and age on mining Software Change impact?
    Empirical Software Engineering, 2018
    Co-Authors: Leon Moonen, Thomas Rolfsnes, Dave Binkley, Stefano Di Alesio
    Abstract:

    The goal of Software Change Impact Analysis is to identify artifacts (typically source-code files or individual methods therein) potentially affected by a Change. Recently, there has been increased interest in mining Software Change impact based on evolutionary coupling. A particularly promising approach uses association rule mining to uncover potentially affected artifacts from patterns in the system’s Change history. Two main considerations when using this approach are the history length , the number of transactions from the Change history used to identify the impact of a Change, and history age , the number of transactions that have occurred since patterns were last mined from the history. Although history length and age can significantly affect the quality of mining results, few guidelines exist on how to best select appropriate values for these two parameters. In this paper, we empirically investigate the effects of history length and age on the quality of Change impact analysis using mined evolutionary coupling. Specifically, we report on a series of systematic experiments using three state-of-the-art mining algorithms that involve the Change histories of two large industrial systems and 17 large open source systems. In these experiments, we vary the length and age of the history used to mine Software Change impact, and assess how this affects precision and applicability. Results from the study are used to derive practical guidelines for choosing history length and age when applying association rule mining to conduct Software Change impact analysis.

  • SCAM - Exploring the Effects of History Length and Age on Mining Software Change Impact
    2016 IEEE 16th International Working Conference on Source Code Analysis and Manipulation (SCAM), 2016
    Co-Authors: Leon Moonen, Thomas Rolfsnes, Stefano Di Alesio, Dave Binkley
    Abstract:

    The goal of Software Change Impact Analysis is to identify artifacts (typically source-code files) potentially affected by a Change. Recently, there is an increased interest in mining Software Change impact based on evolutionary coupling. A particularly promising approach uses association rule mining to uncover potentially affected artifacts from patterns in the system's Change history. Two main considerations when using this approach are the history length, the number of transactions from the Change history used to identify the impact of a Change, and history age, the number of transactions that have occurred since patterns were last mined from the history. Although history length and age can significantly affect the quality of mining results, few guidelines exist on how to best select appropriate values for these two parameters. In this paper, we empirically investigate the effects of history length and age on the quality of Change impact analysis using mined evolutionary couplings. Specifically, we report on a series of systematic experiments involving the Change histories of two large industrial systems and 17 large open source systems. In these experiments, we vary the length and age of the history used to mine Software Change impact, and assess how this affects precision and applicability. Results from the study are used to derive practical guidelines for choosing history length and age when applying association rule mining to conduct Software Change impact analysis.

  • SANER - Generalizing the Analysis of Evolutionary Coupling for Software Change Impact Analysis
    2016 IEEE 23rd International Conference on Software Analysis Evolution and Reengineering (SANER), 2016
    Co-Authors: Thomas Rolfsnes, Stefano Di Alesio, Razieh Behjati, Leon Moonen, Dave Binkley
    Abstract:

    Software Change impact analysis aims to find arti- facts potentially affected by a Change. Typical approaches apply language-specific static or dynamic dependence analysis, and are thus restricted to homogeneous systems. This restriction is a ma- jor drawback given today's increasingly heterogeneous Software. Evolutionary coupling has been proposed as a language-agnostic alternative that mines relations between source-code entities from the system's Change history. Unfortunately, existing evolutionary coupling based techniques fall short. For example, using Singular Value Decomposition (SVD) quickly becomes computationally expensive. An efficient alternative applies targeted association rule mining, but the most widely known approach (ROSE) has restricted applicability: experiments on two large industrial systems, and four large open source systems, show that ROSE can only identify dependencies about 25% of the time. To overcome this limitation, we introduce TARMAQ, a new al- gorithm for mining evolutionary coupling. Empirically evaluated on the same six systems, TARMAQ performs consistently better than ROSE and SVD, is applicable 100% of the time, and runs orders of magnitude faster than SVD. We conclude that the pro- posed algorithm is a significant step forward towards achieving robust Change impact analysis for heterogeneous systems. through static and dynamic dependence analysis, in that they are based on how the Software system has evolved over time. Using this information in essence attempts to tap into the developer's inherent knowledge of the inner workings of the system. This knowledge can manifest itself in several ways, for example through commit-comments, bug-reports, context- switches in an IDE etc. In this paper we consider co-Change as a basis for establishing evolutionary couplings. Co-Change information can be extracted from a project's version control system, its issue tracking system, or both, depending on how the project maintains its Software revision history.

  • generalizing the analysis of evolutionary coupling for Software Change impact analysis
    IEEE International Conference on Software Analysis Evolution and Reengineering, 2016
    Co-Authors: Thomas Rolfsnes, Stefano Di Alesio, Razieh Behjati, Leon Moonen, Dave Binkley
    Abstract:

    Software Change impact analysis aims to find artifacts potentially affected by a Change. Typical approaches apply language-specific static or dynamic dependence analysis, and are thus restricted to homogeneous systems. This restriction is a major drawback given today's increasingly heterogeneous Software. Evolutionary coupling has been proposed as a language-agnostic alternative that mines relations between source-code entities from the system's Change history. Unfortunately, existing evolutionary coupling based techniques fall short. For example, using Singular Value Decomposition (SVD) quickly becomes computationally expensive. An efficient alternative applies targeted association rule mining, but the most widely known approach (ROSE) has restricted applicability: experiments on two large industrial systems, and four large open source systems, show that ROSE can only identify dependencies about 25% of the time. To overcome this limitation, we introduce TARMAQ, a new algorithm for mining evolutionary coupling. Empirically evaluated on the same six systems, TARMAQ performs consistently better than ROSE and SVD, is applicable 100% of the time, and runs orders of magnitude faster than SVD. We conclude that the proposed algorithm is a significant step forward towards achieving robust Change impact analysis for heterogeneous systems.

  • SANER - Generalizing the Analysis of Evolutionary Coupling for Software Change Impact Analysis
    2016 IEEE 23rd International Conference on Software Analysis Evolution and Reengineering (SANER), 2016
    Co-Authors: Thomas Rolfsnes, Stefano Di Alesio, Razieh Behjati, Leon Moonen, Dave Binkley
    Abstract:

    Software Change impact analysis aims to find artifacts potentially affected by a Change. Typical approaches apply language-specific static or dynamic dependence analysis, and are thus restricted to homogeneous systems. This restriction is a major drawback given today's increasingly heterogeneous Software. Evolutionary coupling has been proposed as a language-agnostic alternative that mines relations between source-code entities from the system's Change history. Unfortunately, existing evolutionary coupling based techniques fall short. For example, using Singular Value Decomposition (SVD) quickly becomes computationally expensive. An efficient alternative applies targeted association rule mining, but the most widely known approach (ROSE) has restricted applicability: experiments on two large industrial systems, and four large open source systems, show that ROSE can only identify dependencies about 25% of the time. To overcome this limitation, we introduce TARMAQ, a new algorithm for mining evolutionary coupling. Empirically evaluated on the same six systems, TARMAQ performs consistently better than ROSE and SVD, is applicable 100% of the time, and runs orders of magnitude faster than SVD. We conclude that the proposed algorithm is a significant step forward towards achieving robust Change impact analysis for heterogeneous systems.

Sheela Ramanna - One of the best experts on this subject based on the ideXlab platform.

  • Towards a Software Change Classification System: A Rough Set Approach
    Software Quality Journal, 2003
    Co-Authors: James F. Peters, Sheela Ramanna
    Abstract:

    The basic contribution of this paper is the presentation of two methods that can be used to design a practical Software Change classification system based on data mining methods from rough set theory. These methods incorporate recent advances in rough set theory related to coping with the uncertainty in making Change decisions either during Software development or during post-deployment of a Software system. Two well-known Software engineering data sets have been used as means of benchmarking the proposed classification methods, and also to facilitate comparison with other published studies on the same data sets. Two technologies in computation intelligence (CI) are used in the design of the Software Change classification systems described in this paper, namely, rough sets (a granular computing technology) and genetic algorithms. Using 10-fold cross validated paired t -test, this paper also compares the rough set classification learning method with the Waikato Environment for Knowledge Analysis (WEKA) classification learning method. The contribution of this paper is the presentation of two models for Software Change classification based on two CI technologies.