• DocumentCode
    1958933
  • Title

    A History Querying Tool and Its Application to Detect Multi-version Refactorings

  • Author

    Stevens, R. ; De Roover, Coen ; Noguera, Carlos ; Jonckers, Viviane

  • Author_Institution
    Software Languages Lab., Vrije Univ. Brussel, Brussels, Belgium
  • fYear
    2013
  • fDate
    5-8 March 2013
  • Firstpage
    335
  • Lastpage
    338
  • Abstract
    Version Control Systems (VCS) have become indispensable in developing software. In order to provide support for change management, they track the history of software projects. Tool builders can exploit this latent historical information to provide insights in the evolution of the project. For example, the information needed to identify when and where a particular refactoring was applied is implicitly present in the VCS. However, tool support for eliciting this information is lacking. So far, no general-purpose history querying tool capable of answering a wide variety of questions about the evolution of software exists. Therefore, we generalize the idea of a program querying tool to a history querying tool. A program querying tool reifies the program´s code into a knowledge base, from which it retrieves elements that exhibit characteristics specified through a user-provided program query. Our history querying tool, QwalKeko, enables specifying the evolution of source code characteristics across multiple versions of Java projects versioned in Git. We apply QwalKeko to the problem of detecting refactorings, specified as the code changes induced by each refactoring. These specifications stem from the literature, but are limited to changes between two successive versions. We demonstrate the expressiveness of our tool by generalizing the specifications such that refactorings can span multiple versions.
  • Keywords
    Java; configuration management; query processing; software maintenance; Java project; QwalKeko history querying tool; VCS; change management; history querying tool; multiversion refactoring detection; software development; user-provided program query; version control system; Control systems; Database languages; Europe; History; Java; Software maintenance; program comprehension tools; refactoring; software repositories;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Software Maintenance and Reengineering (CSMR), 2013 17th European Conference on
  • Conference_Location
    Genova
  • ISSN
    1534-5351
  • Print_ISBN
    978-1-4673-5833-0
  • Type

    conf

  • DOI
    10.1109/CSMR.2013.44
  • Filename
    6498483