ArduCode: Predictive Framework for Automation Engineering

09/06/2019
by   Arquimedes Canedo, et al.
0

Automation engineering is the task of integrating, via software, various sensors, actuators, and controls for automating a real-world process. Today, automation engineering is supported by a suite of software tools including integrated development environments (IDE), hardware configurators, compilers, and runtimes. These tools focus on the automation code itself, but leave the automation engineer unassisted in their decision making. This can lead to increased time for software development because of imperfections in decision making leading to multiple iterations between software and hardware. To address this, this paper defines multiple challenges often faced in automation engineering and propose solutions using machine learning to assist engineers tackle such challenges. We show that machine learning can be leveraged to assist the automation engineer in classifying automation, finding similar code snippets, and reasoning about the hardware selection of sensors and actuators. We validate our architecture on two real datasets consisting of 2,927 Arduino projects, and 683 Programmable Logic Controller (PLC) projects. Our results show that paragraph embedding techniques can be utilized to classify automation using code snippets with precision close to human annotation, giving an F1-score of 72 find similar code snippets with high accuracy. Finally, we use autoencoder models for hardware recommendation and achieve a p@3 of 0.79 and p@5 of 0.95.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/18/2020

The Danger of Reverse-Engineering of Automated Judicial Decision-Making Systems

In this paper we discuss the implications of using machine learning for ...
research
02/10/2023

Machine Learning Based Approach to Recommend MITRE ATT CK Framework for Software Requirements and Design Specifications

Engineering more secure software has become a critical challenge in the ...
research
05/08/2023

The GitHub Development Workflow Automation Ecosystems

Large-scale software development has become a highly collaborative and g...
research
04/27/2020

Data Engineering for Data Analytics: A Classification of the Issues, and Case Studies

Consider the situation where a data analyst wishes to carry out an analy...
research
05/21/2021

Changes from the Trenches: Should We Automate Them?

Code changes constitute one of the most important features of software e...
research
03/13/2020

QED at Large: A Survey of Engineering of Formally Verified Software

Development of formal proofs of correctness of programs can increase act...
research
09/18/2019

Corporate IT-support Help-Desk Process Hybrid-Automation Solution with Machine Learning Approach

Comprehensive IT support teams in large scale organizations require more...

Please sign up or login with your details

Forgot password? Click here to reset