2013 17th European Conference on Software Maintenance and Reengineering 2013
DOI: 10.1109/csmr.2013.44
|View full text |Cite
|
Sign up to set email alerts
|

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

Abstract: 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 genera… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

2013
2013
2018
2018

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 10 publications
(11 citation statements)
references
References 13 publications
0
11
0
Order By: Relevance
“…qn. Here q is one of the regular path primitives provided by the Qwal library [33]: q=> skips a single node, q=>* skips zero or more nodes, and q=>+ skips one or more nodes on the path. Primitive qcurrent evaluates logic goals against the current node on the path, possibly involving one of the v1...vn logic variables.…”
Section: Predicatementioning
confidence: 99%
“…qn. Here q is one of the regular path primitives provided by the Qwal library [33]: q=> skips a single node, q=>* skips zero or more nodes, and q=>+ skips one or more nodes on the path. Primitive qcurrent evaluates logic goals against the current node on the path, possibly involving one of the v1...vn logic variables.…”
Section: Predicatementioning
confidence: 99%
“…qn. Here q is one of the regular path primitives provided by the QWAL library [23]: q=> skips a single node, q=> * skips zero or more nodes, and q=>+ skips one or more nodes on the path. Primitive qcurrent evaluates logic goals against the current node on the path, possibly involving one of the v 1 ...vn logic variables.…”
Section: ) Predicates Reifying Structural Relationsmentioning
confidence: 99%
“…Of the graph traversal predicates at the bottom of Table II, path/n is of special interest as it embodies the implementation of parametric regular path expressions [25], [26] in EKEKO (which we have applied in earlier work to query the history of versioned software [23]). Regular path expressions are an intuitive formalism for quantifying over the paths through a graph.…”
Section: ) Predicates Reifying Behavioral Relationsmentioning
confidence: 99%
“…Finally, in the last three lines we retrieve the corresponding compilation unit of the added file and verify whether it is a SELENIUM script. 1 Identifying whether a compilation unit is a SELENIUM script is done purely using EKEKO. On line 2 we define three new logic variables using fresh.…”
Section: A Identifying Selenium Scriptsmentioning
confidence: 99%
“…QWAL navigates through the graph, while EKEKO is used to specify source code characteristics that have to hold in a specific version. QWALKEKO has been applied successfully to detect refactorings [1] and classify changes made to SELENIUM scripts [2]. The source code, installation instructions 2 , code 3 and video used in this paper can be found on Github.…”
Section: Introductionmentioning
confidence: 99%