English
Related papers

Related papers: Exploring Code Clones in Programmable Logic Contro…

200 papers

Source code clones pose risks ranging from intellectual property violations to unintended vulnerabilities. Effective and efficient scalable clone detection, especially for diverged clones, remains challenging. Large language models (LLMs)…

Software Engineering · Computer Science 2025-10-20 Muslim Chochlov , Gul Aftab Ahmed , James Vincent Patten , Yuanhua Han , Guoxian Lu , David Gregg , Jim Buckley

Developers introduce code clones to improve programming productivity. Many existing studies have achieved impressive performance in monolingual code clone detection. However, during software development, more and more developers write…

Software Engineering · Computer Science 2023-09-08 Jia Li , Chongyang Tao , Zhi Jin , Fang Liu , Jia Li , Ge Li

In industrial control systems, devices such as Programmable Logic Controllers (PLCs) are commonly used to directly interact with sensors and actuators, and perform local automatic control. PLCs run software on two different layers: a)…

Cryptography and Security · Computer Science 2017-02-20 Naman Govil , Anand Agrawal , Nils Ole Tippenhauer

In industrial control systems, the generation and verification of Programmable Logic Controller (PLC) code are critical for ensuring operational efficiency and safety. While Large Language Models (LLMs) have made strides in automated code…

Software Engineering · Computer Science 2024-12-30 Zihan Liu , Ruinan Zeng , Dongxia Wang , Gengyun Peng , Jingyi Wang , Qiang Liu , Peiyu Liu , Wenhai Wang

Software clone detection identifies similar code snippets. It has been an active research topic that attracts extensive attention over the last two decades. In recent years, machine learning (ML) based detectors, especially deep…

Software Engineering · Computer Science 2023-02-07 Weiwei Zhang , Shengjian Guo , Hongyu Zhang , Yulei Sui , Yinxing Xue , Yun Xu

Programmable Logic Controllers (PLCs) execute critical control software that drives Industrial Automation and Control Systems (IACS). PLCs can become easy targets for cyber-adversaries as they are resource-constrained and are usually built…

Cryptography and Security · Computer Science 2021-01-07 Awais Tanveer , Roopak Sinha , Stephen G. MacDonell , Paulo Leitao , Valeriy Vyatkin

Software debugging has been shown to utilize upwards of half of developers' time. Yet, machine programming (MP), the field concerned with the automation of software (and hardware) development, has recently made strides in both research and…

Software Engineering · Computer Science 2021-05-18 Niranjan Hasabnis , Justin Gottschlich

Software clones are beneficial to detect security gaps and software maintenance in one programming language or across multiple languages. The existing work on source clone detection performs well but in a single programming language.…

Software Engineering · Computer Science 2022-05-11 Mohammad A. Yahya , Dae-Kyoo Kim

Visual Programming Languages (VPLs), coupled with the high-level abstractions that are commonplace in visual programming environments, enable users with less technical knowledge to become proficient programmers. However, the lower skill…

Software Engineering · Computer Science 2021-07-16 Miguel Terra-Neves , João Nadkarni , Miguel Ventura , Pedro Resende , Hugo Veiga , António Alegria

Some approaches to increasing program reliability involve a disciplined use of programming languages so as to minimise the hazards introduced by error-prone features. This is realised by writing code that is constrained to a subset of the a…

Programming Languages · Computer Science 2007-11-06 Guillem Marpons-Ucero , Julio Mariño , Ángel Herranz , Lars-Åke Fredlund , Manuel Carro , Juan José Moreno-Navarro

Clone-and-own is a typical code reuse approach because of its simplicity and efficiency. Cloned software components are maintained independently by a new owner. These clone-and-own operations can be occurred sequentially, that is, cloned…

Software Engineering · Computer Science 2022-04-14 Hideaki Hata , Takashi Ishio

Slicing is a program analysis technique originally developed for imperative languages. It facilitates understanding of data flow and debugging. This paper discusses slicing of Constraint Logic Programs. Constraint Logic Programming (CLP) is…

Software Engineering · Computer Science 2007-05-23 Gyongyi Szilagyi , Tibor Gyimothy , Jan Maluszynski

Programmable Logic Controllers (PLC) are widely used for industrial automation including safety systems at CERN. The incorrect behaviour of the PLC control system logic can cause significant financial losses by damage of property or the…

Software Engineering · Computer Science 2022-04-01 Ignacio D. Lopez-Miguel , Jean-Charles Tournier , Borja Fernandez Adiego

To detect large-variance code clones (i.e. clones with relatively more differences) in large-scale code repositories is difficult because most current tools can only detect almost identical or very similar clones. It will make promotion and…

Software Engineering · Computer Science 2019-09-11 Ming Wu , Pengcheng Wang , Kangqi Yin , Haoyu Cheng , Yun Xu , Chanchal K. Roy

Copy & paste is a widespread practice when developing software and, thus, duplicated and subsequently modified code occurs frequently in software projects. Since such code clones, i.e., identical or similar fragments of code, can bloat…

Software Engineering · Computer Science 2026-02-03 Thomas S. Heinze , André Schäfer , Wolfram Amme

Cyber-physical systems (CPSs) are widespread in critical domains, and significant damage can be caused if an attacker is able to modify the code of their programmable logic controllers (PLCs). Unfortunately, traditional techniques for…

Cryptography and Security · Computer Science 2021-08-24 Yuqi Chen , Christopher M. Poskitt , Jun Sun

Software developers frequently reuse source code from repositories as it saves development time and effort. Code clones accumulated in these repositories hence represent often repeated functionalities and are candidates for reuse in an…

Software Engineering · Computer Science 2020-10-05 Muhammad Hammad , Önder Babur , Hamid Abdul Basit

Machine learning models trained on code and related artifacts offer valuable support for software maintenance but suffer from interpretability issues due to their complex internal variables. These concerns are particularly significant in…

Software Engineering · Computer Science 2024-07-15 Vahid Majdinasab , Amin Nikanjam , Foutse Khomh

An important aspect of many particle accelerators is the constant evolution and frequent configuration changes that are needed to perform the experiments they are designed for. This often leads to the design of configurable software that…

Machine programming (MP) is concerned with automating software development. According to studies, software engineers spend upwards of 50% of their development time debugging software. To help accelerate debugging, we present MP-CodeCheck…

Software Engineering · Computer Science 2022-04-18 Urs C. Muff , Celine Lee , Paul Gottschlich , Justin Gottschlich