Are There Functionally Similar Code Clones in Practice?

03/28/2018
by   Verena Käfer, et al.
0

Having similar code fragments, also called clones, in software systems can lead to unnecessary comprehension, review and change efforts. Syntactically similar clones can often be encountered in practice. The same is not clear for only functionally similar clones (FSC). We conducted an exploratory survey among developers to investigate whether they encounter functionally similar clones in practice and whether there is a difference in their inclination to remove them to syntactically similar clones. Of the 34 developers answering the survey, 31 have experienced FSC in their professional work, and 24 have experienced problems caused by FSCs. We found no difference in the inclination and reasoning for removing FSCs and syntactically similar clones. FSCs exist in practice and should be investigated to bring clone detectors to the same quality as for syntactically similar clones, because being able to detect them allows developers to manage and potentially remove them.

READ FULL TEXT
research
05/05/2022

Shortcomings of Class-level Documentation: A Survey

To better understand the shortcomings of class-level documentation, we c...
research
01/25/2019

Unveiling Exception Handling Guidelines Adopted by Java Developers

Despite being an old language feature, Java exception handling code is o...
research
08/15/2022

"To Clean-Code or Not To Clean-Code" A Survey among Practitioners

Context: Writing Clean Code understandable by other collaborators has be...
research
02/26/2021

On the Naming of Methods: A Survey of Professional Developers

This paper describes the results of a large (+1100 responses) survey of ...
research
06/29/2022

Potential Technical Debt and Its Resolution in Code Reviews: An Exploratory Study of the OpenStack and Qt Communities

Technical Debt (TD) refers to the situation where developers make trade-...
research
03/12/2020

A survey on test practitioners' awareness of test smells

Developing test code may be a time-consuming task that usually requires ...
research
09/20/2018

Should I Bug You? Identifying Domain Experts in Software Projects Using Code Complexity Metrics

In any sufficiently complex software system there are experts, having a ...

Please sign up or login with your details

Forgot password? Click here to reset