Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3021460.3021481acmotherconferencesArticle/Chapter ViewAbstractPublication PagesisecConference Proceedingsconference-collections
research-article

Using Structured Text Source Code Metrics and Artificial Neural Networks to Predict Change Proneness at Code Tab and Program Organization Level

Published: 05 February 2017 Publication History

Abstract

Structured Text (ST) is a high-level text-based programming language which is part of the IEC 61131-3 standard. ST is widely used in the domain of industrial automation engineering to create Programmable Logic Controller (PLC) programs. ST is a Domain Specific Language (DSL) which is specialized to the Automation Engineering (AE) application domain. ST has specialized features and programming constructs which are different than general purpose programming languages. We define, develop a tool and compute 10 source code metrics and their correlation with each-other at the Code Tab (CT) and Program Organization Unit (POU) level for two real-world industrial projects at a leading automation engineering company. We study the correlation between the 10 ST source code metrics and their relationship with change proneness at the CT and POU level by creating experimental dataset consisting of different versions of the system. We build predictive models using Artificial Neural Network (ANN) based techniques to predict change proneness of the software. We conduct a series of experiments using various training algorithms and measure the performance of our approach using accuracy and F-measure metrics. We also apply two feature selection techniques to select optimal features aiming to improve the overall accuracy of the classifier.

References

[1]
Janez Demšar. Statistical comparisons of classifiers over multiple data sets. Journal of Machine learning research, 7(Jan):1--30, 2006.
[2]
Farideh Fazayeli, Lipo Wang, and Jacek Mandziuk. Feature selection based on the rough set theory and expectation-maximization clustering algorithm. Rough Sets and Current Trends in Computing RSCTC, pages 272--282, 2008.
[3]
Karl-Heinz John and Michael Tiegelkamp. IEC 61131-3: programming industrial automation systems: concepts and programming languages, requirements for programming systems, decision-making aids. Springer Science & Business Media, 2010.
[4]
A Güneş Koru and Hongfang Liu. Identifying and characterizing change-prone classes in two large-scale open-source products. Journal of Systems and Software, 80(1):63--73, 2007.
[5]
Lov Kumar, Raoul Jetley, and Ashish Sureka. Source code metrics for programmable logic controller (plc) ladder diagram (ld) visual programming language. In Workshop on Emerging Trends in Software Metrics, WETSoM, pages 15--21. ACM, 2016.
[6]
Lov Kumar, Santanu Rath, and Ashish Sureka. Predicting quality of service (qos) parameters using extreme learning machines with various kernel methods. In Workshop on Quantitative Approaches to Software Quality (QuASoQ 2016) co-located to (APSEC 2016). CEUR, 2016.
[7]
Hongmin Lu, Yuming Zhou, Baowen Xu, Hareton Leung, and Lin Chen. The ability of object-oriented metrics to predict change-proneness: a meta-analysis. Empirical Software Engineering, 17(3):200--242, 2012.
[8]
FJ Malian, JLCM Barbancho, C Leon, A Malian, and A Gomez. Using industrial standards on plc programming learning. In Control & Automation, 2007. MED'07. Mediterranean Conference on, pages 1--6. IEEE, 2007.
[9]
A. Nair. Product metrics for iec 61131-3 languages. In Conference on Emerging Technologies Factory Automation (ETFA), pages 1--8, Sept 2012.
[10]
Andreas Otto and Klas Hellmann. Iec 61131: A general overview and emerging trends. Industrial Electronics Magazine, IEEE, 3(4):27--31, 2009.
[11]
Herbert Prähofer, Florian Angerer, Rudolf Ramler, Hermann Lacheiner, and Friedrich Grillenberger. Opportunities and challenges of static code analysis of iec 61131-3 programs. In ETFA, pages 1--8. IEEE, 2012.
[12]
Daniele Romano and Martin Pinzger. Using source code metrics to predict change-prone java interfaces. In Conference on Software Maintenance (ICSM), pages 303--312. IEEE, 2011.
[13]
Nieke Roos. Programming plcs using structured text. In International Multiconference on Computer Science and Information Technology, pages 20--22. Citeseer, 2008.

Cited By

View all
  • (2025)A conversion tool for translating Python-based machine learning models to structured text codesSoftwareX10.1016/j.softx.2024.10200529(102005)Online publication date: Feb-2025
  • (2023)Complexity of Structured Text in IEC 61499 Function Blocks: A Survey.2023 IEEE 28th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA54631.2023.10275434(1-8)Online publication date: 12-Sep-2023
  • (2022)A Text Mining Framework for Analyzing Change Impact and Maintenance Effort of Software Bug ReportsInternational Journal of Information Retrieval Research10.4018/IJIRR.29597412:1(1-18)Online publication date: 1-Jan-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ISEC '17: Proceedings of the 10th Innovations in Software Engineering Conference
February 2017
235 pages
ISBN:9781450348560
DOI:10.1145/3021460
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • iSOFT: iSOFT

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 February 2017

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Artificial Neural Networks (ANN)
  2. Change Proneness Prediction
  3. Machine Learning Applications in Software Engineering
  4. Programmable Logic Controller (PLC) Applications
  5. Source Code Analysis
  6. Source Code Metrics
  7. Structured Text (ST)

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ISEC '17

Acceptance Rates

ISEC '17 Paper Acceptance Rate 25 of 81 submissions, 31%;
Overall Acceptance Rate 76 of 315 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)10
  • Downloads (Last 6 weeks)1
Reflects downloads up to 25 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2025)A conversion tool for translating Python-based machine learning models to structured text codesSoftwareX10.1016/j.softx.2024.10200529(102005)Online publication date: Feb-2025
  • (2023)Complexity of Structured Text in IEC 61499 Function Blocks: A Survey.2023 IEEE 28th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA54631.2023.10275434(1-8)Online publication date: 12-Sep-2023
  • (2022)A Text Mining Framework for Analyzing Change Impact and Maintenance Effort of Software Bug ReportsInternational Journal of Information Retrieval Research10.4018/IJIRR.29597412:1(1-18)Online publication date: 1-Jan-2022
  • (2020)Goal-Lever-Indicator-Principle to Derive Recommendations for Improving IEC 61131-3 Control Software2020 IEEE International Conference on Industrial Engineering and Engineering Management (IEEM)10.1109/IEEM45057.2020.9309738(1131-1136)Online publication date: 14-Dec-2020
  • (2020)Software Defect Categorization based on Maintenance Effort and Change Impact using Multinomial Naïve Bayes Algorithm2020 8th International Conference on Reliability, Infocom Technologies and Optimization (Trends and Future Directions) (ICRITO)10.1109/ICRITO48877.2020.9198037(1068-1073)Online publication date: Jun-2020
  • (2018)Feature Selection Techniques to Counter Class Imbalance Problem for Aging Related Bug PredictionProceedings of the 11th Innovations in Software Engineering Conference10.1145/3172871.3172872(1-11)Online publication date: 9-Feb-2018
  • (2017)Transfer Learning for Cross-Project Change-Proneness Prediction in Object-Oriented Software SystemsACM SIGSOFT Software Engineering Notes10.1145/3127360.312736842:3(1-11)Online publication date: 5-Sep-2017
  • (2017)Aging Related Bug Prediction using Extreme Learning Machines2017 14th IEEE India Council International Conference (INDICON)10.1109/INDICON.2017.8487925(1-6)Online publication date: Dec-2017
  • (2017)Analyzing fault prediction usefulness from cost perspective using source code metrics2017 Tenth International Conference on Contemporary Computing (IC3)10.1109/IC3.2017.8284297(1-7)Online publication date: Aug-2017

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media