{"status":"ok","message-type":"work","message-version":"1.0.0","message":{"indexed":{"date-parts":[[2025,2,21]],"date-time":"2025-02-21T11:49:19Z","timestamp":1740138559490,"version":"3.37.3"},"reference-count":48,"publisher":"Walter de Gruyter GmbH","issue":"6","license":[{"start":{"date-parts":[[2023,6,1]],"date-time":"2023-06-01T00:00:00Z","timestamp":1685577600000},"content-version":"unspecified","delay-in-days":0,"URL":"http:\/\/creativecommons.org\/licenses\/by\/4.0"}],"funder":[{"DOI":"10.13039\/501100012416","name":"Bundesministerium f\u00fcr Digitalisierung und Wirtschaftsstandort","doi-asserted-by":"crossref","award":["Unassigned"],"award-info":[{"award-number":["Unassigned"]}],"id":[{"id":"10.13039\/501100012416","id-type":"DOI","asserted-by":"crossref"}]},{"DOI":"10.13039\/501100006012","name":"Christian Doppler Forschungsgesellschaft","doi-asserted-by":"crossref","award":["Unassigned"],"award-info":[{"award-number":["Unassigned"]}],"id":[{"id":"10.13039\/501100006012","id-type":"DOI","asserted-by":"crossref"}]}],"content-domain":{"domain":[],"crossmark-restriction":false},"short-container-title":[],"published-print":{"date-parts":[[2023,6,27]]},"abstract":"<jats:title>Zusammenfassung<\/jats:title><jats:p>Bad Smells sind suboptimale Strukturen oder Muster in Software, die zu einer Verschlechterung der Softwarequalit\u00e4t f\u00fchren k\u00f6nnen, da sie unter anderem Wartungsprobleme verursachen und die Verst\u00e4ndlichkeit erschweren k\u00f6nnen. Um das Auftreten dieser Probleme zu vermeiden, ist es deshalb wichtig, Bad Smells in Software erkennen und beheben zu k\u00f6nnen. Im Software Engineering ist das Thema Bad Smells bereits gut erforscht. F\u00fcr IEC 61499-basierte Steuerungsoftware, die in automatisierten Produktionssystemen verwendet wird, gibt es jedoch erst wenige Arbeiten zu diesem wichtigen Thema.<\/jats:p>","DOI":"10.1515\/auto-2022-0147","type":"journal-article","created":{"date-parts":[[2023,6,6]],"date-time":"2023-06-06T22:12:35Z","timestamp":1686089555000},"page":"413-423","source":"Crossref","is-referenced-by-count":1,"title":["Bad Smells in Steuerungssoftware f\u00fcr automatisierte Produktionssysteme"],"prefix":"10.1515","volume":"71","author":[{"given":"Lisa","family":"Sonnleithner","sequence":"first","affiliation":[{"name":"CDL VaSiCS, LIT CPS Lab , Johannes Kepler University , Linz , Austria"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Antonio","family":"Guti\u00e9rrez","sequence":"additional","affiliation":[{"name":"CDL VaSiCS, LIT CPS Lab , Johannes Kepler University , Linz , Austria"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Rick","family":"Rabiser","sequence":"additional","affiliation":[{"name":"CDL VaSiCS, LIT CPS Lab , Johannes Kepler University , Linz , Austria"}],"role":[{"role":"author","vocabulary":"crossref"}]},{"given":"Alois","family":"Zoitl","sequence":"additional","affiliation":[{"name":"CDL VaSiCS, LIT CPS Lab , Johannes Kepler University , Linz , Austria"}],"role":[{"role":"author","vocabulary":"crossref"}]}],"member":"374","published-online":{"date-parts":[[2023,6,7]]},"reference":[{"key":"2023062917121582485_j_auto-2022-0147_ref_001","doi-asserted-by":"crossref","unstructured":"M. T\u00f6rngren and P. Grogan, \u201cHow to deal with the complexity of future cyber-physical systems?\u201d Designs, vol.\u00a02, no.\u00a04, p.\u00a040, 2018. https:\/\/doi.org\/10.3390\/designs2040040.","DOI":"10.3390\/designs2040040"},{"key":"2023062917121582485_j_auto-2022-0147_ref_002","doi-asserted-by":"crossref","unstructured":"B. Vogel-Heuser, C. Diedrich, A. Fay, et al.., \u201cChallenges for software engineering in automation,\u201d J. Softw. Eng. Appl., vol.\u00a007, no.\u00a005, pp.\u00a0440\u2013451, 2014. https:\/\/doi.org\/10.4236\/jsea.2014.75041.","DOI":"10.4236\/jsea.2014.75041"},{"key":"2023062917121582485_j_auto-2022-0147_ref_003","doi-asserted-by":"crossref","unstructured":"V. Vyatkin, \u201cSoftware engineering in industrial automation: state-of-the-art review,\u201d IEEE Trans. Ind. Inf., vol.\u00a09, no.\u00a03, pp.\u00a01234\u20131249, 2013. https:\/\/doi.org\/10.1109\/tii.2013.2258165.","DOI":"10.1109\/TII.2013.2258165"},{"key":"2023062917121582485_j_auto-2022-0147_ref_004","doi-asserted-by":"crossref","unstructured":"B. Vogel\u2013Heuser, et al.., \u201cAutomation software architecture in CPPS \u2013 definition, challenges and research Potentials,\u201d in IEEE 5th Int. Conf. on Industrial Cyber-Physical Systems (ICPS), 2022.","DOI":"10.1109\/ICPS51978.2022.9816893"},{"key":"2023062917121582485_j_auto-2022-0147_ref_005","unstructured":"M. Fowler and K. Beck, Refactoring: Improving the Design of Existing Code, Addison-Wesley Professional, 2018."},{"key":"2023062917121582485_j_auto-2022-0147_ref_006","unstructured":"W. J. Brown, et al.., AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis, NY, John Wiley & Sons, Inc., 1998."},{"key":"2023062917121582485_j_auto-2022-0147_ref_007","doi-asserted-by":"crossref","unstructured":"M. Abbes, et al.., \u201cAn empirical study of the impact of two antipatterns, blob and spaghetti code, on program comprehension,\u201d in 15th European Conf. on Software Maintenance and Reengineering, 2011.","DOI":"10.1109\/CSMR.2011.24"},{"key":"2023062917121582485_j_auto-2022-0147_ref_008","doi-asserted-by":"crossref","unstructured":"A. Yamashita and L. Moonen, \u201cDo code smells reflect important maintainability aspects?\u201d in 28th IEEE Int. Conf. on Software Maintenance, 2012.","DOI":"10.1109\/ICSM.2012.6405287"},{"key":"2023062917121582485_j_auto-2022-0147_ref_009","doi-asserted-by":"crossref","unstructured":"H. Pr\u00e4hofer, F. Angerer, R. Ramler, and F. Grillenberger, \u201cStatic code analysis of IEC 61131-3 programs: comprehensive tool support and experiences from large-scale industrial application,\u201d IEEE Trans. Ind. Inf., vol.\u00a013, no.\u00a01, pp.\u00a037\u201347, 2017. https:\/\/doi.org\/10.1109\/TII.2016.2604760.","DOI":"10.1109\/TII.2016.2604760"},{"key":"2023062917121582485_j_auto-2022-0147_ref_010","doi-asserted-by":"crossref","unstructured":"L. Sonnleithner, R. Rabiser, and A. Zoitl, \u201cBad smells in industrial automation: sniffing out feature envy,\u201d in 48th Euromicro Conf. on Software Engineering and Advanced Applications (SEAA), IEEE, 2022.","DOI":"10.1109\/SEAA56994.2022.00061"},{"key":"2023062917121582485_j_auto-2022-0147_ref_011","doi-asserted-by":"crossref","unstructured":"L. Sonnleithner, et al.., \u201cDo you smell it too? Towards Bad smells in IEC 61499 applications,\u201d in 26th IEEE Int. Conf. on Emerging Technologies and Factory Automation, 2021.","DOI":"10.1109\/ETFA45728.2021.9613379"},{"key":"2023062917121582485_j_auto-2022-0147_ref_012","doi-asserted-by":"crossref","unstructured":"M. Unterdechler, et al.., \u201cIdentifying repeating patterns in IEC 61499 systems using Feature-Based embeddings,\u201d in 27th IEEE Int. Conf. on Emerging Technologies and Factory Automation, ETFA, Stuttgart, Germany, IEEE, 2022.","DOI":"10.1109\/ETFA52439.2022.9921527"},{"key":"2023062917121582485_j_auto-2022-0147_ref_013","unstructured":"IEC, IEC 61499-1, Function Blocks, Part 1: Architecture: Edition 2.0, Geneva, 2012, Available at: www.iec.ch."},{"key":"2023062917121582485_j_auto-2022-0147_ref_014","doi-asserted-by":"crossref","unstructured":"P. Gsellmann, M. Melik-Merkumians, and G. Schitter, \u201cComparison of code measures of IEC 61131\u20133 and 61499 standards for typical automation applications,\u201d in IEEE 23rd Int. Conf. on Emerging Technologies and Factory Automation (ETFA), 2018, pp.\u00a01047\u20131050.","DOI":"10.1109\/ETFA.2018.8502464"},{"key":"2023062917121582485_j_auto-2022-0147_ref_015","doi-asserted-by":"crossref","unstructured":"L. Sonnleithner, et al.., \u201cApplying visualization concepts to large-scale software systems in industrial automation,\u201d in Working Conf. on Software Visualization (VISSOFT), 2022, pp.\u00a0182\u2013186.","DOI":"10.1109\/VISSOFT55257.2022.00029"},{"key":"2023062917121582485_j_auto-2022-0147_ref_016","unstructured":"D. Darvas, E. B. Vinuela, and B. F. Adiego, \u201cPLCverif: a tool to verify PLC programs based on model checking techniques,\u201d in 15th International Conference on Accelerator and Large Experimental Physics Control Systems, 2015, p.\u00a0WEPGF092."},{"key":"2023062917121582485_j_auto-2022-0147_ref_017","doi-asserted-by":"crossref","unstructured":"S. Stattelmann, et al.., \u201cApplying static code analysis on industrial controller code,\u201d in Proceedings of the 2014 IEEE Emerging Technology and Factory Automation (ETFA), 2014, pp.\u00a01\u20134.","DOI":"10.1109\/ETFA.2014.7005254"},{"key":"2023062917121582485_j_auto-2022-0147_ref_018","doi-asserted-by":"crossref","unstructured":"B. Vogel-Heuser, A. Fay, I. Schaefer, and M. Tichy, \u201cEvolution of software in automated production systems: challenges and research directions,\u201d J. Syst. Softw., vol.\u00a0110, pp.\u00a054\u201384, 2015. https:\/\/doi.org\/10.1016\/j.jss.2015.08.026.","DOI":"10.1016\/j.jss.2015.08.026"},{"key":"2023062917121582485_j_auto-2022-0147_ref_019","doi-asserted-by":"crossref","unstructured":"K. Pohl, G. B\u00f6ckle, and F. Van Der Linden, Software Product Line Engineering, vol.\u00a010, Springer, 2005.","DOI":"10.1007\/3-540-28901-1"},{"key":"2023062917121582485_j_auto-2022-0147_ref_020","doi-asserted-by":"crossref","unstructured":"S. Patil, et al.., \u201cRefactoring of IEC 61499 function block application \u2014 a case study,\u201d in IEEE Industrial Cyber-Physical Systems, IEEE, 2018.","DOI":"10.1109\/ICPHYS.2018.8390797"},{"key":"2023062917121582485_j_auto-2022-0147_ref_021","doi-asserted-by":"crossref","unstructured":"N. Hagge and B. Wagner, \u201cAnalyzing the liveliness of IEC 61499 function blocks,\u201d in IEEE Int. Conf. on Emerging Technologies and Factory Automation, 2008.","DOI":"10.1109\/ETFA.2008.4638421"},{"key":"2023062917121582485_j_auto-2022-0147_ref_022","doi-asserted-by":"crossref","unstructured":"R. Koschke, P. Frenzel, A. P. J. Breu, and K. Angstmann, \u201cExtending the reflexion method for consolidating software variants into product lines,\u201d Softw. Qual. J., vol.\u00a017, no.\u00a04, pp.\u00a0331\u2013366, 2009. https:\/\/doi.org\/10.1007\/s11219-009-9077-8.","DOI":"10.1007\/s11219-009-9077-8"},{"key":"2023062917121582485_j_auto-2022-0147_ref_023","doi-asserted-by":"crossref","unstructured":"T. Mende, R. Koschke, and F. Beckwermert, \u201cAn evaluation of code similarity identification for the grow-and-prune model,\u201d J. Software Mainten. Evol.: Res. Pract., vol.\u00a021, no.\u00a02, pp.\u00a0143\u2013169, 2009. https:\/\/doi.org\/10.1002\/smr.402.","DOI":"10.1002\/smr.402"},{"key":"2023062917121582485_j_auto-2022-0147_ref_024","doi-asserted-by":"crossref","unstructured":"H. Thaller, et al.., \u201cExploring code clones in programmable logic controller software,\u201d in 22nd IEEE International Conference on Emerging Technologies and Factory Automation (ETFA), 2017.","DOI":"10.1109\/ETFA.2017.8247574"},{"key":"2023062917121582485_j_auto-2022-0147_ref_025","doi-asserted-by":"crossref","unstructured":"K. Rosiak, A. Schlie, L. Linsbauer, B. Vogel-Heuser, and I. Schaefer, \u201cCustom-tailored clone detection for IEC 61131-3 programming languages,\u201d J. Syst. Softw., vol.\u00a0182, p.\u00a0111070, 2021. https:\/\/doi.org\/10.1016\/j.jss.2021.111070.","DOI":"10.1016\/j.jss.2021.111070"},{"key":"2023062917121582485_j_auto-2022-0147_ref_026","doi-asserted-by":"crossref","unstructured":"H. K. Jnanamurthy, et al.., \u201cAnalysis of industrial Control System software to detect semantic clones,\u201d in IEEE International Conference on Industrial Technology (ICIT), 2019, pp.\u00a0773\u2013779.","DOI":"10.1109\/ICIT.2019.8754957"},{"key":"2023062917121582485_j_auto-2022-0147_ref_027","unstructured":"C. Roy and J. Cordy, \u201cA survey on software clone detection research,\u201d in School of Computing TR 2007-541, 2007."},{"key":"2023062917121582485_j_auto-2022-0147_ref_028","doi-asserted-by":"crossref","unstructured":"J. A. Bondy, U. S. R. Murty, et al.., Graph Theory with Applications, vol.\u00a0290, London, Macmillan, 1976.","DOI":"10.1007\/978-1-349-03521-2"},{"key":"2023062917121582485_j_auto-2022-0147_ref_029","doi-asserted-by":"crossref","unstructured":"D. Koutra, N. Shah, J. T. Vogelstein, B. Gallagher, and C. Faloutsos, \u201cDeltacon: principled massive-graph similarity function with attribution,\u201d ACM Trans. Knowl. Discov. Data, vol.\u00a010, no.\u00a03, pp.\u00a01\u201343, 2016. https:\/\/doi.org\/10.1145\/2824443.","DOI":"10.1145\/2824443"},{"key":"2023062917121582485_j_auto-2022-0147_ref_030","unstructured":"M. Fowler, et al.., Refactoring: Improving the Design of Existing Code, 1999."},{"key":"2023062917121582485_j_auto-2022-0147_ref_031","unstructured":"Eclipse 4diac, Eclipse 4diac \u2013 the Open Source Environment for Distributed Industrial Automation and Control Systems, 2019, Available at: https:\/\/www.eclipse.org\/4diac."},{"key":"2023062917121582485_j_auto-2022-0147_ref_032","unstructured":"S. B\u00e1csi, 2020. Available at: https:\/\/wiki.eclipse.org\/Eclipse_4diacWiki\/Development\/Detecting_Model_Inconsistencies_in_4diac_Models_with_OCL."},{"key":"2023062917121582485_j_auto-2022-0147_ref_033","doi-asserted-by":"crossref","unstructured":"B. Wiesmayr, et al.., \u201cSupporting a model-driven development process for distributed Control software,\u201d in IEEE 27th Int. Conf. on Emerging Technologies and Factory Automation (ETFA), 2022.","DOI":"10.1109\/ETFA52439.2022.9921506"},{"key":"2023062917121582485_j_auto-2022-0147_ref_034","doi-asserted-by":"crossref","unstructured":"B. Vogel-Heuser, J. Fischer, S. Feldmann, S. Ulewicz, and S. R\u00f6sch, \u201cModularity and architecture of PLC-based software for automated production Systems: an analysis in industrial companies,\u201d J. Syst. Softw., vol.\u00a0131, pp.\u00a035\u201362, 2017. https:\/\/doi.org\/10.1016\/j.jss.2017.05.051.","DOI":"10.1016\/j.jss.2017.05.051"},{"key":"2023062917121582485_j_auto-2022-0147_ref_035","doi-asserted-by":"crossref","unstructured":"K. Nongpong, \u201cFeature envy factor: a metric for automatic feature envy detection,\u201d in 7th Int. Conf. on Knowledge and Smart Technology, 2015.","DOI":"10.1109\/KST.2015.7051460"},{"key":"2023062917121582485_j_auto-2022-0147_ref_036","unstructured":"F. Simon, S. L\u00f6ffler, and C. Lewerentz, \u201cDistance based cohesion measuring,\u201d in Proc. of the 2nd European Software Measurement Conf., Citeseer, 1999."},{"key":"2023062917121582485_j_auto-2022-0147_ref_037","doi-asserted-by":"crossref","unstructured":"M. Oberlehner, et al.., \u201cCatalog of refactoring operations for IEC 61499,\u201d in 26th IEEE Int. Conf. on Emerging Technologies and Factory Automation, 2021.","DOI":"10.1109\/ETFA45728.2021.9613398"},{"key":"2023062917121582485_j_auto-2022-0147_ref_038","doi-asserted-by":"crossref","unstructured":"D. E. O\u2019Leary, \u201cArtificial intelligence and big data,\u201d IEEE Intell. Syst., vol.\u00a028, no.\u00a02, pp.\u00a096\u201399, 2013. https:\/\/doi.org\/10.1109\/mis.2013.39.","DOI":"10.1109\/MIS.2013.39"},{"key":"2023062917121582485_j_auto-2022-0147_ref_039","doi-asserted-by":"crossref","unstructured":"C. Huang, et al.., Code Clone Detection based on Event Embedding and Event Dependency, 2021.","DOI":"10.1145\/3545258.3545277"},{"key":"2023062917121582485_j_auto-2022-0147_ref_040","doi-asserted-by":"crossref","unstructured":"W. Wang, et al.., \u201cDetecting code clones with graph neural network and flow-augmented abstract syntax tree,\u201d in IEEE 27th Int. Conf. on Software Analysis, Evolution and Reengineering (SANER), 2020.","DOI":"10.1109\/SANER48275.2020.9054857"},{"key":"2023062917121582485_j_auto-2022-0147_ref_041","doi-asserted-by":"crossref","unstructured":"P. Indyk and R. Motwani, \u201cApproximate nearest neighbors: towards removing the curse of dimensionality,\u201d in Proc. of the 13th annual ACM symposium on Theory of computing, 1998.","DOI":"10.1145\/276698.276876"},{"key":"2023062917121582485_j_auto-2022-0147_ref_042","doi-asserted-by":"crossref","unstructured":"Z. Wu, S. Pan, F. Chen, G. Long, C. Zhang, and P. S. Yu, \u201cA comprehensive survey on graph neural networks,\u201d IEEE Trans. Neural Networks Learn. Syst., vol.\u00a032, no.\u00a01, pp.\u00a04\u201324, 2020. https:\/\/doi.org\/10.1109\/tnnls.2020.2978386.","DOI":"10.1109\/TNNLS.2020.2978386"},{"key":"2023062917121582485_j_auto-2022-0147_ref_043","doi-asserted-by":"crossref","unstructured":"J. Zhou, G. Cui, S. Hu, et al.., \u201cGraph neural networks: a review of methods and applications,\u201d AI Open, vol.\u00a01, pp.\u00a057\u201381, 2020. https:\/\/doi.org\/10.1016\/j.aiopen.2021.01.001.","DOI":"10.1016\/j.aiopen.2021.01.001"},{"key":"2023062917121582485_j_auto-2022-0147_ref_044","doi-asserted-by":"crossref","unstructured":"P. Riba, A. Fischer, J. Llad\u00f3s, and A. Forn\u00e9s, \u201cLearning graph edit distance by graph neural networks,\u201d Pattern Recogn., vol.\u00a0120, pp.\u00a0108\u2013132, 2021. https:\/\/doi.org\/10.1016\/j.patcog.2021.108132.","DOI":"10.1016\/j.patcog.2021.108132"},{"key":"2023062917121582485_j_auto-2022-0147_ref_045","doi-asserted-by":"crossref","unstructured":"W. Wang, et al.., \u201cVisualization of large hierarchical data by Circle packing,\u201d in Proc. of the SIGCHI Conf. on Human Factors in Computing Systems. CHI \u201906, New York, NY, USA, Association for Computing Machinery, 2006.","DOI":"10.1145\/1124772.1124851"},{"key":"2023062917121582485_j_auto-2022-0147_ref_046","doi-asserted-by":"crossref","unstructured":"D. Holten, \u201cHierarchical edge bundles: visualization of adjacency relations in hierarchical data,\u201d IEEE Trans. Visual. Comput. Graph., vol.\u00a012, no.\u00a05, pp.\u00a0741\u2013748, 2006. https:\/\/doi.org\/10.1109\/tvcg.2006.147.","DOI":"10.1109\/TVCG.2006.147"},{"key":"2023062917121582485_j_auto-2022-0147_ref_047","doi-asserted-by":"crossref","unstructured":"J. Fuchs, et al.., \u201cIdentification of design patterns for IEC 61131-3 in machine and plant manufacturing,\u201d in IFAC Proc. 19th IFAC World Congress, vol.\u00a047, 2014, pp.\u00a06092\u20136097.","DOI":"10.3182\/20140824-6-ZA-1003.01595"},{"key":"2023062917121582485_j_auto-2022-0147_ref_048","doi-asserted-by":"crossref","unstructured":"E. Monroy Cruz, et al.., \u201cValidating effect of refactoring of IEC 61499 function block in distributed Control systems,\u201d in IEEE International Conference on Automation\/XXV Congress of the Chilean Association of Automatic Control (ICA-ACCA), 2022, pp.\u00a01\u20136.","DOI":"10.1109\/ICA-ACCA56767.2022.10005950"}],"container-title":["at - Automatisierungstechnik"],"original-title":[],"language":"en","link":[{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/auto-2022-0147\/xml","content-type":"application\/xml","content-version":"vor","intended-application":"text-mining"},{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/auto-2022-0147\/pdf","content-type":"unspecified","content-version":"vor","intended-application":"similarity-checking"}],"deposited":{"date-parts":[[2024,10,21]],"date-time":"2024-10-21T21:43:27Z","timestamp":1729547007000},"score":1,"resource":{"primary":{"URL":"https:\/\/www.degruyter.com\/document\/doi\/10.1515\/auto-2022-0147\/html"}},"subtitle":[],"short-title":[],"issued":{"date-parts":[[2023,6,1]]},"references-count":48,"journal-issue":{"issue":"6","published-online":{"date-parts":[[2023,6,7]]},"published-print":{"date-parts":[[2023,6,27]]}},"alternative-id":["10.1515\/auto-2022-0147"],"URL":"https:\/\/doi.org\/10.1515\/auto-2022-0147","relation":{},"ISSN":["0178-2312","2196-677X"],"issn-type":[{"type":"print","value":"0178-2312"},{"type":"electronic","value":"2196-677X"}],"subject":[],"published":{"date-parts":[[2023,6,1]]}}}