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

Motoshi Saeki - One of the best experts on this subject based on the ideXlab platform.

  • Search-Based Refactoring Detection from Source Code Revisions
    IEICE Transactions on Information and Systems, 2010
    Co-Authors: Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki
    Abstract:

    This paper proposes a technique for detecting the occurrences of refactoring from source code revisions. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that detecting refactorings from the differences between two Versions stored in a software Version Archive is not usually an easy process. In order to detect these impure refactorings, we model the detection within a graph search. Our technique considers a Version of a program as a state and a refactoring as a transition between two states. It then searches for the path that approaches from the initial to the final state. To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state. Through case studies, we show that our approach is feasible to detect combinations of refactorings.

  • APSEC - Detecting Occurrences of Refactoring with Heuristic Search
    2008 15th Asia-Pacific Software Engineering Conference, 2008
    Co-Authors: Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki
    Abstract:

    This paper proposes a novel technique to detect the occurrences of refactoring from a Version Archive, in order to reduce the effort spent in understanding what modifications have been applied. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that understanding the differences between two Versions stored in the Archive is not usually an easily process. In order to detect these impure refactorings, we model the detection within a graph search. Our technique considers a Version of a program as a state and a refactoring as a transition. It then searches for the path that approaches from the initial to the final state. To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state. We have clearly demonstrated the feasibility of our approach through a case study.

Shinpei Hayashi - One of the best experts on this subject based on the ideXlab platform.

  • Search-Based Refactoring Detection from Source Code Revisions
    IEICE Transactions on Information and Systems, 2010
    Co-Authors: Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki
    Abstract:

    This paper proposes a technique for detecting the occurrences of refactoring from source code revisions. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that detecting refactorings from the differences between two Versions stored in a software Version Archive is not usually an easy process. In order to detect these impure refactorings, we model the detection within a graph search. Our technique considers a Version of a program as a state and a refactoring as a transition between two states. It then searches for the path that approaches from the initial to the final state. To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state. Through case studies, we show that our approach is feasible to detect combinations of refactorings.

  • APSEC - Detecting Occurrences of Refactoring with Heuristic Search
    2008 15th Asia-Pacific Software Engineering Conference, 2008
    Co-Authors: Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki
    Abstract:

    This paper proposes a novel technique to detect the occurrences of refactoring from a Version Archive, in order to reduce the effort spent in understanding what modifications have been applied. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that understanding the differences between two Versions stored in the Archive is not usually an easily process. In order to detect these impure refactorings, we model the detection within a graph search. Our technique considers a Version of a program as a state and a refactoring as a transition. It then searches for the path that approaches from the initial to the final state. To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state. We have clearly demonstrated the feasibility of our approach through a case study.

Alexander Pepper - One of the best experts on this subject based on the ideXlab platform.

  • Bflinks: Reliable Bugfix Links via Bidirectional References and Tuned Heuristics.
    International scholarly research notices, 2014
    Co-Authors: Lutz Prechelt, Alexander Pepper
    Abstract:

    Background. Data from software Version Archives and defect databases can be used for defect insertion circumstance analysis and defect prediction. The first step in such analyses is identifying defect-correcting changes in the Version Archive (bugfix commits) and enriching them with additional metadata by establishing bugfix links to corresponding entries in the defect database. Candidate bugfix commits are typically identified via heuristic string matching on the commit message. Research Questions. Which filters could be used to obtain a set of bugfix links? How to tune their parameters? What accuracy is achieved? Method. We analyze a modular set of seven independent filters, including new ones that make use of reverse links, and evaluate visual heuristics for setting cutoff parameters. For a commercial repository, a product expert manually verifies over 2500 links to validate the results with unprecedented accuracy. Results. The heuristics pick a very good parameter value for five filters and a reasonably good one for the sixth. The combined filtering, called bflinks, provides 93% precision and only 7% results loss. Conclusion. Bflinks can provide high-quality results and adapts to repositories with different properties.

  • Why software repositories are not used for defect-insertion circumstance analysis more often: A case study
    Information and Software Technology, 2014
    Co-Authors: Lutz Prechelt, Alexander Pepper
    Abstract:

    Context: Root-cause analysis is a data-driven technique for developing software process improvements in mature software organizations. The search for individual process correlates of high defect densities, which we call defect insertion circumstance analysis (DICA), is potentially both effective and cost-efficient as one approach to be used when attempting a general defect root cause analysis. In DICA, data from existing repositories (Version Archive, bug tracker) is evaluated largely automatically in order to determine conditions (such as the people, roles, components, or time-periods involved) that correlate with higher-than-normal defect insertion frequencies. Nevertheless, no reports of industrial use of DICA have been published. Objective: Determine the reasons why DICA is not used more often by practitioners. Method: We use a single-case, typical-case, revelatory-type case study to evaluate in parallel the importance of six plausible reasons (R1-R6). The case is based on 11years of repository data from a small but mature software company building a product in the high-end content management system domain and describes a four person-months effort to make use of these data. Results: While DICA required non-negligible effort (R3) and some degree of inventiveness (R2), the most relevant roadblock was insufficient reliability of the results (R6) combined with the difficulty of assessing this reliability (R5). We identify three difficulties that led to this outcome. Conclusion: Current repository mining methods are too immature for successful DICA. Gradual improvements are unlikely to help; different principles of operation will be required. Even with such different techniques, issues with input data quality may continue to make good results difficult-to-have.

Yasuyuki Tsuda - One of the best experts on this subject based on the ideXlab platform.

  • Search-Based Refactoring Detection from Source Code Revisions
    IEICE Transactions on Information and Systems, 2010
    Co-Authors: Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki
    Abstract:

    This paper proposes a technique for detecting the occurrences of refactoring from source code revisions. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that detecting refactorings from the differences between two Versions stored in a software Version Archive is not usually an easy process. In order to detect these impure refactorings, we model the detection within a graph search. Our technique considers a Version of a program as a state and a refactoring as a transition between two states. It then searches for the path that approaches from the initial to the final state. To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state. Through case studies, we show that our approach is feasible to detect combinations of refactorings.

  • APSEC - Detecting Occurrences of Refactoring with Heuristic Search
    2008 15th Asia-Pacific Software Engineering Conference, 2008
    Co-Authors: Shinpei Hayashi, Yasuyuki Tsuda, Motoshi Saeki
    Abstract:

    This paper proposes a novel technique to detect the occurrences of refactoring from a Version Archive, in order to reduce the effort spent in understanding what modifications have been applied. In a real software development process, a refactoring operation may sometimes be performed together with other modifications at the same revision. This means that understanding the differences between two Versions stored in the Archive is not usually an easily process. In order to detect these impure refactorings, we model the detection within a graph search. Our technique considers a Version of a program as a state and a refactoring as a transition. It then searches for the path that approaches from the initial to the final state. To improve the efficiency of the search, we use the source code differences between the current and the final state for choosing the candidates of refactoring to be applied next and estimating the heuristic distance to the final state. We have clearly demonstrated the feasibility of our approach through a case study.

Lutz Prechelt - One of the best experts on this subject based on the ideXlab platform.

  • Bflinks: Reliable Bugfix Links via Bidirectional References and Tuned Heuristics.
    International scholarly research notices, 2014
    Co-Authors: Lutz Prechelt, Alexander Pepper
    Abstract:

    Background. Data from software Version Archives and defect databases can be used for defect insertion circumstance analysis and defect prediction. The first step in such analyses is identifying defect-correcting changes in the Version Archive (bugfix commits) and enriching them with additional metadata by establishing bugfix links to corresponding entries in the defect database. Candidate bugfix commits are typically identified via heuristic string matching on the commit message. Research Questions. Which filters could be used to obtain a set of bugfix links? How to tune their parameters? What accuracy is achieved? Method. We analyze a modular set of seven independent filters, including new ones that make use of reverse links, and evaluate visual heuristics for setting cutoff parameters. For a commercial repository, a product expert manually verifies over 2500 links to validate the results with unprecedented accuracy. Results. The heuristics pick a very good parameter value for five filters and a reasonably good one for the sixth. The combined filtering, called bflinks, provides 93% precision and only 7% results loss. Conclusion. Bflinks can provide high-quality results and adapts to repositories with different properties.

  • Why software repositories are not used for defect-insertion circumstance analysis more often: A case study
    Information and Software Technology, 2014
    Co-Authors: Lutz Prechelt, Alexander Pepper
    Abstract:

    Context: Root-cause analysis is a data-driven technique for developing software process improvements in mature software organizations. The search for individual process correlates of high defect densities, which we call defect insertion circumstance analysis (DICA), is potentially both effective and cost-efficient as one approach to be used when attempting a general defect root cause analysis. In DICA, data from existing repositories (Version Archive, bug tracker) is evaluated largely automatically in order to determine conditions (such as the people, roles, components, or time-periods involved) that correlate with higher-than-normal defect insertion frequencies. Nevertheless, no reports of industrial use of DICA have been published. Objective: Determine the reasons why DICA is not used more often by practitioners. Method: We use a single-case, typical-case, revelatory-type case study to evaluate in parallel the importance of six plausible reasons (R1-R6). The case is based on 11years of repository data from a small but mature software company building a product in the high-end content management system domain and describes a four person-months effort to make use of these data. Results: While DICA required non-negligible effort (R3) and some degree of inventiveness (R2), the most relevant roadblock was insufficient reliability of the results (R6) combined with the difficulty of assessing this reliability (R5). We identify three difficulties that led to this outcome. Conclusion: Current repository mining methods are too immature for successful DICA. Gradual improvements are unlikely to help; different principles of operation will be required. Even with such different techniques, issues with input data quality may continue to make good results difficult-to-have.