Querying the History of Software Projects using QwalKeko. Stevens, R. & De Roover, C. In Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2014), pages 585–588, 2014. IEEE.
abstract   bibtex   
We present the QWALKEKO meta-programming library for Clojure that enables querying the history of versioned software projects in a declarative manner. Unique to this library is its support for regular path expressions within history queries. Regular path expressions are akin to regular expressions, except that they match a sequence of successive snapshots of a software project along which user-specified logic conditions must hold. Such logic conditions can concern the source code within a snapshot, versioning information associated with the snapshot, as well as patterns of source code changes with respect to other snapshots. We have successfully used the resulting multi-faceted queries to detect refactorings in project histories. In this paper, we discuss how applicative logic meta-programming enabled combining the heterogenous components of QWALKEKO into a uniform whole. We focus on the applicative logic interface to a new implementation of a well-known change distilling algorithm. We use the problem of detecting and categorizing changes made to SELENIUM-based test scripts for illustration purposes.
@inproceedings{5e2ca7da2ebb4db9be25de7f67b5cc6b,
  title     = "Querying the History of Software Projects using QwalKeko",
  abstract  = "We present the QWALKEKO meta-programming library for Clojure that enables querying the history of versioned software projects in a declarative manner. Unique to this library is its support for regular path expressions within history queries. Regular path expressions are akin to regular expressions, except that they match a sequence of successive snapshots of a software project along which user-specified logic conditions must hold. Such logic conditions can concern the source code within a snapshot, versioning information associated with the snapshot, as well as patterns of source code changes with respect to other snapshots. We have successfully used the resulting multi-faceted queries to detect refactorings in project histories. In this paper, we discuss how applicative logic meta-programming enabled combining the heterogenous components of QWALKEKO into a uniform whole. We focus on the applicative logic interface to a new implementation of a well-known change distilling algorithm. We use the problem of detecting and categorizing changes made to SELENIUM-based test scripts for illustration purposes.",
  keywords  = "history querying tool, program querying tool, mining software repositories",
  author    = "Reinout Stevens and {De Roover}, Coen",
  year      = "2014",
  language  = "English",
  isbn      = "978-1-4799-6146-7",
  series    = "Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2014)",
  publisher = "IEEE",
  pages     = "585--588",
  booktitle = "Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2014)",
}

Downloads: 0