Automated code development based on genetic programming in graphical programming language: A pilot study
Jazyk angličtina Země Spojené státy americké Médium electronic-ecollection
Typ dokumentu časopisecké články
PubMed
38452131
PubMed Central
PMC10919872
DOI
10.1371/journal.pone.0299456
PII: PONE-D-23-42234
Knihovny.cz E-zdroje
- MeSH
- algoritmy MeSH
- automatizace MeSH
- pilotní projekty MeSH
- programovací jazyk * MeSH
- software * MeSH
- Publikační typ
- časopisecké články MeSH
Continual technological advances associated with the recent automation revolution have tremendously increased the impact of computer technology in the industry. Software development and testing are time-consuming processes, and the current market faces a lack of specialized experts. Introducing automation to this field could, therefore, improve software engineers' common workflow and decrease the time to market. Even though many code-generating algorithms have been proposed in textual-based programming languages, to the best of the authors' knowledge, none of the studies deals with the implementation of such algorithms in graphical programming environments, especially LabVIEW. Due to this fact, the main goal of this study is to conduct a proof-of-concept for a requirement-based automated code-developing system within the graphical programming environment LabVIEW. The proposed framework was evaluated on four basic benchmark problems, encompassing a string model, a numeric model, a boolean model and a mixed-type problem model, which covers fundamental programming scenarios. In all tested cases, the algorithm demonstrated an ability to create satisfying functional and errorless solutions that met all user-defined requirements. Even though the generated programs were burdened with redundant objects and were much more complex compared to programmer-developed codes, this fact has no effect on the code's execution speed or accuracy. Based on the achieved results, we can conclude that this pilot study not only proved the feasibility and viability of the proposed concept, but also showed promising results in solving linear and binary programming tasks. Furthermore, the results revealed that with further research, this poorly explored field could become a powerful tool not only for application developers but also for non-programmers and low-skilled users.
Zobrazit více v PubMed
Gurung G, Shah R, Jaiswal DP. Software Development Life Cycle Models-A Comparative Study. int. j. sci. res. comput. sci. eng. inf. technol. 2020; 6: 30–37.
Ghafari M, Gross T, Fucci D, Felderer M. Why Research on Test-Driven Development is Inconclusive? Proceedings of the 14th ACM / IEEE International Symposium on ESEM. 2020; 1–10.
Basin D, Deville Y, Flener P, Hamfelt A, Fischer Nilsson J. Synthesis of programs in computational logic. In: Bruynooghe M, Lau K, editors. Program Development in Computational Logic: A Decade of Research Advances in Logic-Based Program Development. Heidelberg: Springer Berlin; 2004. pp. 30–65.
Liu Y, Tantithamthavorn CK, Liu Y, Li L. On the reliability and explainability of automated code generation approaches. ACM Trans. Softw. Eng. Methodol.2024. doi: 10.1145/3641540 DOI
Hu X, Li G, Xia X, Lo D, Jin Z. Deep code comment generation. Proceedings of the 26th ICPC. 2018; 200–210.
Zhu Z, Xue Z, Yuan Z. Automatic graphics program generation using attention-based hierarchical decoder. ACCV. 2018; 181–196.
Watson C, Tufano M, Moran K, Bavota G, Poshyvanyk D. On learning meaningful assert statements for unit test cases. Proc. ACM/IEEE 42nd Int. Conf. Softw. Eng. 2020; 1398–1409.
Gemmell C, Rossetto F, Dalton J. Relevance transformer: Generating concise code snippets with relevance feedback. Proc. 43rd Int. ACM SIGIR Conf. Res. Develop. Inf. Retr. 2020; 2005–2008.
Yang G, Chen X, Liu K, Chen Y. Fine-grained Pseudo-code Generation Method via Code Feature Extraction and Transformer. 2021 28th APSEC. 2021; 213–222.
Asiroglu B, et al.. Automatic HTML code generation from mock-up images using machine learning techniques. 2019 Proc. Sci. Meeting Elect.-Electron. Biomed. Eng. Comput. Sci. (EBBT). 2019; 1–4.
LeClair A, Haque S, Wu L, McMillan C. Improved code summarization via a graph neural network. Proc. 28th Int. Conf. Program Comprehension. 2020; 184–195.
Priya R, Wang X, Hu Y, Sun Y. A deep dive into automatic code generation using character based recurrent neural networks. 2017 International Conference CSCI. 2017; 369–374.
Vashishtha G, Kumar R. An effective health indicator for the Pelton wheel using a Levy flight mutated genetic algorithm. Meas. Sci. Technol. 2021; 32: 094003.
Câmara D. Bio-inspired networking. 1st ed. London: Iste Press Elsevier; 2015.
Banzhaf W, Francon DF, Keller RE, Nordin P. Genetic programming: An introduction: on the automatic evolution of computer programs and its applications. San Francisco: Morgan Kaufmann Publishers Inc.; 1998.
Banzhaf W. Evolutionary Computation and Genetic Programming. In: Lakhtakia A, Martín-Palma RJ, editors. Engineered Biomimicry. Amsterdam: Elsevier; 2013. pp. 429–447.
Vashishtha G, Kumar R. Unsupervised Learning Model of Sparse Filtering Enhanced Using Wasserstein Distance for Intelligent Fault Diagnosis. J. Vib. Eng. Technol. 2023; 11: 2985–3002.
Vashishtha G, Chauhan S, Yadav N, Kumar A, Kumar R. A two-level adaptive chirp mode decomposition and tangent entropy in estimation of single-valued neutrosophic cross-entropy for detecting impeller defects in centrifugal pump. Appl. Acoust. 2022; 197: 108905.
Hemberg E, Kelly JW, O’Reilly Una-May. On domain knowledge and novelty to improve program synthesis performance with grammatical evolution. Proceeding GECCO. 2019; 1039–1046.
Gulwani S, Hernández-Orallo J, Kitzelmann E, Muggleton SH, Schmid U, Zorn B. Inductive programming meets the real world. Commun. ACM. 2015; 58: 90–99.
Sobania D, Schweim D, Rothlauf F. A comprehensive survey on program synthesis with evolutionary algorithms. IEEE Trans. Evol. Comput. 2022; 27: 82–97.
Chauhan S, Vashishtha G. Mutation-based Arithmetic Optimization Algorithm for global optimization. 2021 CONIT. 2021; 1–6.
Chauhan S, Vashishtha G, Kumar A, Abualigah L. Conglomeration of Reptile Search Algorithm and Differential Evolution Algorithm for Optimal Designing of FIR Filter. 2023; 42: 2986–3007.
Chauhan S, Vashishtha G, Kumar A. A symbiosis of arithmetic optimizer with slime mould algorithm for improving global optimization and conventional design problem. J Supercomput. 2022; 78: 6234–6274.
Vashishtha G, Chauhan S, Singh M, Kumar R. Bearing defect identification by swarm decomposition considering permutation entropy measure and opposition-based slime mould algorithm. Measurement. 2021; 178: 109389.
Ahmed A., Azab S, Abdelhamid Y. Source-Code Generation Using Deep Learning: A Survey. In: Moniz N, Vale Z, Cascalho J, Silva C, Sebastião R, editors. Progress in Artificial Intelligence. Cham: Springer Nature Switzerland; 2023. pp. 467–482.
Dehaerne E, Dey B, Halder S, De Gendt S, Meert W. Code generation using machine learning: A systematic review. IEEE Access. 2022; 10: 82434–82455.
Kalyan KS. A survey of GPT-3 family large language models including ChatGPT and GPT-4. J. Nat. Lang. Process. 2024; 6: 100048.
ATE Systems. Compact Library and Universal Data Import Export Excel Files Toolkit Download. [cited 10 December 2023]. In: NI [Internet]. Available from: https://www.ni.com/cs-cz/support/downloads/tools-network/download.compact-library-and-universal-data-import-export-excel-files-toolkit.html?fbclid=IwAR1IqKGrYRokNFEQcRbhZielVC-6f4BV3R7JL9fwqNG98XQV92R05JovH1Y#374309 (2023).
Jassadapakorn C, Chongstitvatana P. Self-adaptation mechanism to control the diversity of the population in genetic algorithm. Int. J. Comput. Sci. Inf. Technol. 2011;3: 111–127.
Kazimipour B, Li X, Qin A. A review of population initialization techniques for evolutionary algorithms. 2014 IEEE Congress on Evol. Comput. 2014; 2585–2592.
Montana DJ. Strongly Typed Genetic Programming. Evol. Comput. 1995; 3: 199–230.
Ashlock W, Ashlock D. Single Parent Genetic Programming. 2005 IEEE Congress on Evol. Comput. 2005; 2: 1172–1179.