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
{"_id":"tHLg76bCo3Tzo3kvj","bibbaseid":"stevens-deroover-queryingthehistoryofsoftwareprojectsusingqwalkeko-2014","author_short":["Stevens, R.","De Roover, C."],"bibdata":{"bibtype":"inproceedings","type":"inproceedings","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":[{"firstnames":["Reinout"],"propositions":[],"lastnames":["Stevens"],"suffixes":[]},{"propositions":[],"lastnames":["De Roover"],"firstnames":["Coen"],"suffixes":[]}],"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)","bibtex":"@inproceedings{5e2ca7da2ebb4db9be25de7f67b5cc6b,\n title = \"Querying the History of Software Projects using QwalKeko\",\n 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.\",\n keywords = \"history querying tool, program querying tool, mining software repositories\",\n author = \"Reinout Stevens and {De Roover}, Coen\",\n year = \"2014\",\n language = \"English\",\n isbn = \"978-1-4799-6146-7\",\n series = \"Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2014)\",\n publisher = \"IEEE\",\n pages = \"585--588\",\n booktitle = \"Proceedings of the IEEE International Conference on Software Maintenance and Evolution (ICSME 2014)\",\n}","author_short":["Stevens, R.","De Roover, C."],"key":"5e2ca7da2ebb4db9be25de7f67b5cc6b","id":"5e2ca7da2ebb4db9be25de7f67b5cc6b","bibbaseid":"stevens-deroover-queryingthehistoryofsoftwareprojectsusingqwalkeko-2014","role":"author","urls":{},"keyword":["history querying tool","program querying tool","mining software repositories"],"metadata":{"authorlinks":{}}},"bibtype":"inproceedings","biburl":"http://soft.vub.ac.be/~cderoove/works.bib","dataSources":["abyQtmN3vDJoFXPPD"],"keywords":["history querying tool","program querying tool","mining software repositories"],"search_terms":["querying","history","software","projects","using","qwalkeko","stevens","de roover"],"title":"Querying the History of Software Projects using QwalKeko","year":2014}