{"id":"https://openalex.org/W2624703772","doi":"https://doi.org/10.1109/etfa.2017.8247574","title":"Exploring code clones in programmable logic controller software","display_name":"Exploring code clones in programmable logic controller software","publication_year":2017,"publication_date":"2017-09-01","ids":{"openalex":"https://openalex.org/W2624703772","doi":"https://doi.org/10.1109/etfa.2017.8247574","mag":"2624703772"},"language":"en","primary_location":{"id":"doi:10.1109/etfa.2017.8247574","is_oa":false,"landing_page_url":"https://doi.org/10.1109/etfa.2017.8247574","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)","raw_type":"proceedings-article"},"type":"article","indexed_in":["arxiv","crossref"],"open_access":{"is_oa":true,"oa_status":"green","oa_url":"https://arxiv.org/pdf/1706.03934","any_repository_has_fulltext":true},"authorships":[{"author_position":"first","author":{"id":null,"display_name":"Hannes Thaller","orcid":null},"institutions":[{"id":"https://openalex.org/I121883995","display_name":"Johannes Kepler University of Linz","ror":"https://ror.org/052r2xn60","country_code":"AT","type":"education","lineage":["https://openalex.org/I121883995"]}],"countries":["AT"],"is_corresponding":true,"raw_author_name":"Hannes Thaller","raw_affiliation_strings":["Institute for Software Systems Engineering, Johannes Kepler University, Linz, Austria"],"affiliations":[{"raw_affiliation_string":"Institute for Software Systems Engineering, Johannes Kepler University, Linz, Austria","institution_ids":["https://openalex.org/I121883995"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Rudolf Ramler","orcid":null},"institutions":[{"id":"https://openalex.org/I4210126338","display_name":"Software Competence Center Hagenberg (Austria)","ror":"https://ror.org/02ks3nr96","country_code":"AT","type":"company","lineage":["https://openalex.org/I4210126338"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Rudolf Ramler","raw_affiliation_strings":["Software Competence Center Hagenberg GmbH, Austria"],"affiliations":[{"raw_affiliation_string":"Software Competence Center Hagenberg GmbH, Austria","institution_ids":["https://openalex.org/I4210126338"]}]},{"author_position":"middle","author":{"id":null,"display_name":"Josef Pichler","orcid":null},"institutions":[{"id":"https://openalex.org/I4210126338","display_name":"Software Competence Center Hagenberg (Austria)","ror":"https://ror.org/02ks3nr96","country_code":"AT","type":"company","lineage":["https://openalex.org/I4210126338"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Josef Pichler","raw_affiliation_strings":["Software Competence Center Hagenberg GmbH, Austria"],"affiliations":[{"raw_affiliation_string":"Software Competence Center Hagenberg GmbH, Austria","institution_ids":["https://openalex.org/I4210126338"]}]},{"author_position":"last","author":{"id":null,"display_name":"Alexander Egyed","orcid":null},"institutions":[{"id":"https://openalex.org/I121883995","display_name":"Johannes Kepler University of Linz","ror":"https://ror.org/052r2xn60","country_code":"AT","type":"education","lineage":["https://openalex.org/I121883995"]}],"countries":["AT"],"is_corresponding":false,"raw_author_name":"Alexander Egyed","raw_affiliation_strings":["Institute for Software Systems Engineering, Johannes Kepler University, Linz, Austria"],"affiliations":[{"raw_affiliation_string":"Institute for Software Systems Engineering, Johannes Kepler University, Linz, Austria","institution_ids":["https://openalex.org/I121883995"]}]}],"institutions":[],"countries_distinct_count":1,"institutions_distinct_count":4,"corresponding_author_ids":[],"corresponding_institution_ids":["https://openalex.org/I121883995"],"apc_list":null,"apc_paid":null,"fwci":2.0203,"has_fulltext":false,"cited_by_count":8,"citation_normalized_percentile":{"value":0.8972035,"is_in_top_1_percent":false,"is_in_top_10_percent":false},"cited_by_percentile_year":{"min":89,"max":97},"biblio":{"volume":"2003 janua","issue":null,"first_page":"1","last_page":"8"},"is_retracted":false,"is_paratext":false,"is_xpac":false,"primary_topic":{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},"topics":[{"id":"https://openalex.org/T10260","display_name":"Software Engineering Research","score":0.9998999834060669,"subfield":{"id":"https://openalex.org/subfields/1710","display_name":"Information Systems"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T10639","display_name":"Advanced Software Engineering Methodologies","score":0.9973000288009644,"subfield":{"id":"https://openalex.org/subfields/1702","display_name":"Artificial Intelligence"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}},{"id":"https://openalex.org/T12127","display_name":"Software System Performance and Reliability","score":0.9962999820709229,"subfield":{"id":"https://openalex.org/subfields/1705","display_name":"Computer Networks and Communications"},"field":{"id":"https://openalex.org/fields/17","display_name":"Computer Science"},"domain":{"id":"https://openalex.org/domains/3","display_name":"Physical Sciences"}}],"keywords":[{"id":"https://openalex.org/keywords/clone","display_name":"clone (Java method)","score":0.5934000015258789},{"id":"https://openalex.org/keywords/software-maintenance","display_name":"Software maintenance","score":0.555400013923645},{"id":"https://openalex.org/keywords/software-development","display_name":"Software development","score":0.45190000534057617},{"id":"https://openalex.org/keywords/software","display_name":"Software","score":0.4381999969482422},{"id":"https://openalex.org/keywords/software-construction","display_name":"Software construction","score":0.40799999237060547},{"id":"https://openalex.org/keywords/software-system","display_name":"Software system","score":0.4032999873161316},{"id":"https://openalex.org/keywords/automation","display_name":"Automation","score":0.3937999904155731},{"id":"https://openalex.org/keywords/code-reuse","display_name":"Code reuse","score":0.38940000534057617},{"id":"https://openalex.org/keywords/correctness","display_name":"Correctness","score":0.3869999945163727}],"concepts":[{"id":"https://openalex.org/C41008148","wikidata":"https://www.wikidata.org/wiki/Q21198","display_name":"Computer science","level":0,"score":0.63919997215271},{"id":"https://openalex.org/C81089528","wikidata":"https://www.wikidata.org/wiki/Q5134986","display_name":"clone (Java method)","level":3,"score":0.5934000015258789},{"id":"https://openalex.org/C101317890","wikidata":"https://www.wikidata.org/wiki/Q940053","display_name":"Software maintenance","level":4,"score":0.555400013923645},{"id":"https://openalex.org/C199360897","wikidata":"https://www.wikidata.org/wiki/Q9143","display_name":"Programming language","level":1,"score":0.5340999960899353},{"id":"https://openalex.org/C115903868","wikidata":"https://www.wikidata.org/wiki/Q80993","display_name":"Software engineering","level":1,"score":0.5311999917030334},{"id":"https://openalex.org/C529173508","wikidata":"https://www.wikidata.org/wiki/Q638608","display_name":"Software development","level":3,"score":0.45190000534057617},{"id":"https://openalex.org/C2777904410","wikidata":"https://www.wikidata.org/wiki/Q7397","display_name":"Software","level":2,"score":0.4381999969482422},{"id":"https://openalex.org/C186846655","wikidata":"https://www.wikidata.org/wiki/Q3398377","display_name":"Software construction","level":4,"score":0.40799999237060547},{"id":"https://openalex.org/C149091818","wikidata":"https://www.wikidata.org/wiki/Q2429814","display_name":"Software system","level":3,"score":0.4032999873161316},{"id":"https://openalex.org/C115901376","wikidata":"https://www.wikidata.org/wiki/Q184199","display_name":"Automation","level":2,"score":0.3937999904155731},{"id":"https://openalex.org/C2778583558","wikidata":"https://www.wikidata.org/wiki/Q771245","display_name":"Code reuse","level":3,"score":0.38940000534057617},{"id":"https://openalex.org/C55439883","wikidata":"https://www.wikidata.org/wiki/Q360812","display_name":"Correctness","level":2,"score":0.3869999945163727},{"id":"https://openalex.org/C2779343474","wikidata":"https://www.wikidata.org/wiki/Q3109175","display_name":"Context (archaeology)","level":2,"score":0.3864000141620636},{"id":"https://openalex.org/C37374048","wikidata":"https://www.wikidata.org/wiki/Q188674","display_name":"Programmable logic controller","level":2,"score":0.3849000036716461},{"id":"https://openalex.org/C121050878","wikidata":"https://www.wikidata.org/wiki/Q5135020","display_name":"Cloning (programming)","level":2,"score":0.38199999928474426},{"id":"https://openalex.org/C206588197","wikidata":"https://www.wikidata.org/wiki/Q846574","display_name":"Reuse","level":2,"score":0.38040000200271606},{"id":"https://openalex.org/C2776760102","wikidata":"https://www.wikidata.org/wiki/Q5139990","display_name":"Code (set theory)","level":3,"score":0.37229999899864197},{"id":"https://openalex.org/C2777655017","wikidata":"https://www.wikidata.org/wiki/Q1501161","display_name":"Toolbox","level":2,"score":0.3257000148296356},{"id":"https://openalex.org/C76518257","wikidata":"https://www.wikidata.org/wiki/Q271680","display_name":"Software framework","level":5,"score":0.32190001010894775},{"id":"https://openalex.org/C149635348","wikidata":"https://www.wikidata.org/wiki/Q193040","display_name":"Embedded system","level":1,"score":0.31520000100135803},{"id":"https://openalex.org/C180152950","wikidata":"https://www.wikidata.org/wiki/Q2904257","display_name":"Software development process","level":4,"score":0.30640000104904175},{"id":"https://openalex.org/C152752567","wikidata":"https://www.wikidata.org/wiki/Q116877","display_name":"Code refactoring","level":3,"score":0.305400013923645},{"id":"https://openalex.org/C43126263","wikidata":"https://www.wikidata.org/wiki/Q128751","display_name":"Source code","level":2,"score":0.295199990272522},{"id":"https://openalex.org/C133162039","wikidata":"https://www.wikidata.org/wiki/Q1061077","display_name":"Code generation","level":3,"score":0.29019999504089355},{"id":"https://openalex.org/C177264268","wikidata":"https://www.wikidata.org/wiki/Q1514741","display_name":"Set (abstract data type)","level":2,"score":0.2888999879360199},{"id":"https://openalex.org/C199519371","wikidata":"https://www.wikidata.org/wiki/Q942695","display_name":"Source lines of code","level":3,"score":0.2743000090122223},{"id":"https://openalex.org/C21491501","wikidata":"https://www.wikidata.org/wiki/Q430253","display_name":"Backporting","level":5,"score":0.2721000015735626},{"id":"https://openalex.org/C111919701","wikidata":"https://www.wikidata.org/wiki/Q9135","display_name":"Operating system","level":1,"score":0.2637999951839447},{"id":"https://openalex.org/C117447612","wikidata":"https://www.wikidata.org/wiki/Q1412670","display_name":"Software quality","level":4,"score":0.25699999928474426}],"mesh":[],"locations_count":2,"locations":[{"id":"doi:10.1109/etfa.2017.8247574","is_oa":false,"landing_page_url":"https://doi.org/10.1109/etfa.2017.8247574","pdf_url":null,"source":null,"license":null,"license_id":null,"version":"publishedVersion","is_accepted":true,"is_published":true,"raw_source_name":"2017 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA)","raw_type":"proceedings-article"},{"id":"pmh:oai:arXiv.org:1706.03934","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1706.03934","pdf_url":"https://arxiv.org/pdf/1706.03934","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"}],"best_oa_location":{"id":"pmh:oai:arXiv.org:1706.03934","is_oa":true,"landing_page_url":"http://arxiv.org/abs/1706.03934","pdf_url":"https://arxiv.org/pdf/1706.03934","source":{"id":"https://openalex.org/S4306400194","display_name":"arXiv (Cornell University)","issn_l":null,"issn":null,"is_oa":true,"is_in_doaj":false,"is_core":false,"host_organization":"https://openalex.org/I205783295","host_organization_name":"Cornell University","host_organization_lineage":["https://openalex.org/I205783295"],"host_organization_lineage_names":[],"type":"repository"},"license":null,"license_id":null,"version":"submittedVersion","is_accepted":false,"is_published":false,"raw_source_name":null,"raw_type":"text"},"sustainable_development_goals":[],"awards":[],"funders":[],"has_content":{"grobid_xml":false,"pdf":false},"content_urls":null,"referenced_works_count":33,"referenced_works":["https://openalex.org/W1159006237","https://openalex.org/W1698439592","https://openalex.org/W1973650376","https://openalex.org/W2031425482","https://openalex.org/W2043758305","https://openalex.org/W2061141931","https://openalex.org/W2063085086","https://openalex.org/W2067377566","https://openalex.org/W2067724039","https://openalex.org/W2068394987","https://openalex.org/W2090432523","https://openalex.org/W2097118212","https://openalex.org/W2107321288","https://openalex.org/W2107592392","https://openalex.org/W2109943392","https://openalex.org/W2112890525","https://openalex.org/W2118869973","https://openalex.org/W2119887272","https://openalex.org/W2128698639","https://openalex.org/W2128888088","https://openalex.org/W2131477050","https://openalex.org/W2132990876","https://openalex.org/W2153029781","https://openalex.org/W2155760407","https://openalex.org/W2157532207","https://openalex.org/W2164030845","https://openalex.org/W4236813767","https://openalex.org/W4239812996","https://openalex.org/W4247511377","https://openalex.org/W4249744258","https://openalex.org/W6677903169","https://openalex.org/W6685521039","https://openalex.org/W6697318023"],"related_works":[],"abstract_inverted_index":{"The":[0],"reuse":[1,49],"of":[2,66,116,159,179,185,194],"code":[3,18,45,67,123,160],"fragments":[4],"by":[5],"copying":[6],"and":[7,15,31,52,60,83,97,137,157,166,177,189,197],"pasting":[8],"is":[9,21,40,54,78,99],"widely":[10,142],"practiced":[11],"in":[12,17,43,50,125,162,182],"software":[13,39,88,105,129],"development":[14,51],"results":[16],"clones.":[19],"Cloning":[20],"considered":[22],"an":[23],"anti-pattern":[24],"as":[25,48,86],"it":[26,77,190],"negatively":[27],"affects":[28],"program":[29],"correctness":[30],"increases":[32],"maintenance":[33,53],"efforts.":[34],"Programmable":[35],"Logic":[36],"Controller":[37],"(PLC)":[38],"no":[41],"exception":[42],"the":[44,64,87,154,163,175,183,192],"clone":[46,95,146,180],"discussion":[47],"frequently":[55],"achieved":[56],"through":[57],"copy,":[58],"paste,":[59],"modification.":[61],"Even":[62],"though":[63],"presence":[65],"clones":[68,85,124,161],"may":[69],"not":[70,100],"necessary":[71],"be":[72],"a":[73,113,126,141],"problem":[74],"per":[75],"se,":[76],"important":[79],"to":[80,109],"detect,":[81],"track":[82],"manage":[84],"system":[89,130,165],"evolves.":[90],"Unfortunately,":[91],"tool":[92,144],"support":[93],"for":[94,103,145,169,200],"detection":[96,147,181,196],"management":[98,198],"commonly":[101],"available":[102],"PLC":[104,128],"systems":[106,188],"or":[107],"limited":[108],"generic":[110],"tools":[111,199],"with":[112,148],"reduced":[114],"set":[115],"features.":[117],"In":[118],"this":[119],"paper,":[120],"we":[121,152],"investigate":[122],"real-world":[127],"based":[131],"on":[132,174],"IEC":[133,201],"61131-3":[134],"Structured":[135],"Text":[136],"C/C++.":[138],"We":[139],"extended":[140],"used":[143],"normalization":[149],"support.":[150],"Furthermore,":[151],"evaluated":[153],"different":[155],"types":[156],"natures":[158],"studied":[164],"their":[167],"relevance":[168],"refactoring.":[170],"Results":[171],"shed":[172],"light":[173],"applicability":[176],"usefulness":[178],"context":[184],"industrial":[186],"automation":[187],"demonstrates":[191],"benefit":[193],"adapting":[195],"611313-3":[202],"languages.":[203]},"counts_by_year":[{"year":2024,"cited_by_count":1},{"year":2023,"cited_by_count":2},{"year":2022,"cited_by_count":1},{"year":2020,"cited_by_count":3},{"year":2019,"cited_by_count":1}],"updated_date":"2026-03-20T23:20:44.827607","created_date":"2017-06-23T00:00:00"}
