Exploring Code Clones in Programmable Logic Controller Software (bibtex)
by Hannes Thaller, Rudolf Ramler, Josef Pichler and Alexander Egyed
Abstract:
The reuse of code fragments by copying and pasting is widely practiced in software development and results in code clones. Cloning is considered an anti-pattern as it negatively affects program correctness and increases maintenance efforts. Programmable Logic Controller (PLC) software is no exception in the code clone discussion as reuse in development and maintenance is frequently achieved through copy, paste, and modification. Even though the presence of code clones may not necessary be a problem per se, it is important to detect, track and manage clones as the software system evolves. Unfortunately, tool support for clone detection and management is not commonly available for PLC software systems or limited to generic tools with a reduced set of features. In this paper, we investigate code clones in a real-world PLC software system based on IEC 61131-3 Structured Text and C/C++. We extended a widely used tool for clone detection with normalization support. Furthermore, we evaluated the different types and natures of code clones in the studied system and their relevance for refactoring. Results shed light on the applicability and usefulness of clone detection in the context of industrial automation systems and it demonstrates the benefit of adapting detection and management tools for IEC 611313-3 languages.
Reference:
Hannes Thaller, Rudolf Ramler, Josef Pichler and Alexander Egyed: Exploring Code Clones in Programmable Logic Controller Software, in CoRR, volume abs/1706.03934, 2017.
Bibtex Entry:
@Article{DBLP:journals/corr/ThallerRPE17,
  author    = {Hannes Thaller and Rudolf Ramler and Josef Pichler and Alexander Egyed},
  title     = {Exploring Code Clones in Programmable Logic Controller Software},
  journal   = {CoRR},
  year      = {2017},
  volume    = {abs/1706.03934},
  abstract  = {The reuse of code fragments by copying and pasting is widely practiced
	in software development and results in code clones. Cloning is considered
	an anti-pattern as it negatively affects program correctness and
	increases maintenance efforts. Programmable Logic Controller (PLC)
	software is no exception in the code clone discussion as reuse in
	development and maintenance is frequently achieved through copy,
	paste, and modification. Even though the presence of code clones
	may not necessary be a problem per se, it is important to detect,
	track and manage clones as the software system evolves. Unfortunately,
	tool support for clone detection and management is not commonly available
	for PLC software systems or limited to generic tools with a reduced
	set of features. In this paper, we investigate code clones in a real-world
	PLC software system based on IEC 61131-3 Structured Text and C/C++.
	We extended a widely used tool for clone detection with normalization
	support. Furthermore, we evaluated the different types and natures
	of code clones in the studied system and their relevance for refactoring.
	Results shed light on the applicability and usefulness of clone detection
	in the context of industrial automation systems and it demonstrates
	the benefit of adapting detection and management tools for IEC 611313-3
	languages.},
  biburl    = {http://dblp.uni-trier.de/rec/bib/journals/corr/ThallerRPE17},
  booktitle = {Proceedings of 22nd International Conference of Emerging Technologies and Factory Automation (ETFA 2017), Limassol, Cypres},
  file      = {:Conferences\\ETFA 2017 - Exploring Code Clones in Programmable Logic Controller Software\\Exploring Code Clones in Programmable Logic Controller Software-preprint.pdf:PDF},
  keywords  = {SCCH},
  timestamp = {Mon, 03 Jul 2017 13:29:02 +0200},
  url       = {http://arxiv.org/abs/1706.03934},
}
Powered by bibtexbrowser