Font Size: a A A

Managing the copy-and-paste programming practice

Posted on:2011-10-19Degree:Ph.DType:Dissertation
University:Clarkson UniversityCandidate:Deshane, PatriciaFull Text:PDF
GTID:1448390002962737Subject:Applied Mathematics
Abstract/Summary:
Programmers often copy and paste source code in order to reuse an existing solution in the completion of a current task. Copying and pasting results in code clones (similar code fragments) throughout a code base, which need to be properly maintained over time. Forgetting the cloning information and correspondence relationships within a piece of code can be problematic for the software maintainer. Furthermore, inconsistent editing to clones can introduce undetected bugs, decreasing the quality of the software.This dissertation presents a suite of software tools, Eclipse plug-ins named CnP, that aid the programmer during copy, paste, and modify programming. The purpose is to provide tool support throughout a clone's entire lifecycle, from its creation to its removal from the system. More than just traditional clone detection and removal, these clone tracking tools have a particular focus on clone editing. One CnP plug-in helps with consistent identifier renaming within clones (CReN), another one renames substrings consistently within clones (LexId), and a third plug-in in the CnP suite visualizes user edits within a clone for better clone comparison (CSeR). A user study was conducted on CnP's basic visualization, CReN, and LexId features with analysis in terms of task completion time, solution correctness, and method of completion.
Keywords/Search Tags:Completion, Code
Related items