kth.sePublications KTH
Change search
Link to record
Permanent link

Direct link
Fu, Han
Publications (4 of 4) Show all publications
Fu, H., Eldh, S., Wiklund, K., Ermedahl, A., Haller, P. & Artho, C. (2025). Auto-repair without test cases: How LLMs fix compilation errors in large industrial embedded code. In: Proceedings - 2025 28th Euromicro Conference on Digital System Design, DSD 2025: . Paper presented at 28th Euromicro Conference on Digital System Design, DSD 2025, Salerno, Italy, September 10-12, 2025 (pp. 97-105). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Auto-repair without test cases: How LLMs fix compilation errors in large industrial embedded code
Show others...
2025 (English)In: Proceedings - 2025 28th Euromicro Conference on Digital System Design, DSD 2025, Institute of Electrical and Electronics Engineers (IEEE), 2025, p. 97-105Conference paper, Published paper (Refereed)
Abstract [en]

The co-development of hardware and software in industrial embedded systems frequently leads to compilation errors during continuous integration (CI). Automated repair of such failures is promising, but existing techniques rely on test cases, which are not available for non-compilable code. We employ an automated repair approach for compilation errors driven by large language models (LLMs). Our study encompasses the collection of more than 40000 commits from the product's source code. We assess the performance of an industrial CI system enhanced by four state-of-the-art LLMs, comparing their outcomes with manual corrections provided by human programmers. LLM-equipped CI systems can resolve up to 63% of the compilation errors in our baseline dataset. Among the fixes associated with successful CI builds, 83% are deemed reasonable. Moreover, LLMs significantly reduce debugging time, with the majority of successful cases completed within 8 minutes, compared to hours typically required for manual debugging.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2025
Keywords
compilation error, continuous integration, large language model, program repair, software build
National Category
Software Engineering Computer Sciences
Identifiers
urn:nbn:se:kth:diva-378508 (URN)10.1109/DSD67783.2025.00025 (DOI)001717790400013 ()2-s2.0-105030544984 (Scopus ID)
Conference
28th Euromicro Conference on Digital System Design, DSD 2025, Salerno, Italy, September 10-12, 2025
Note

Part of ISBN 9798331584993

QC 20260323

Available from: 2026-03-23 Created: 2026-03-23 Last updated: 2026-07-28Bibliographically approved
Fu, H., Eldh, S., Wiklund, K., Ermedahl, A., Haller, P. & Artho, C. (2024). In industrial embedded software, are some compilation errors easier to localize and fix than others?. In: Proceedings - 2024 IEEE Conference on Software Testing, Verification and Validation, ICST 2024: . Paper presented at 17th IEEE Conference on Software Testing, Verification and Validation, ICST 2024, May 27-31, 2024, Toronto, Canada (pp. 383-394). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>In industrial embedded software, are some compilation errors easier to localize and fix than others?
Show others...
2024 (English)In: Proceedings - 2024 IEEE Conference on Software Testing, Verification and Validation, ICST 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 383-394Conference paper, Published paper (Refereed)
Abstract [en]

Industrial embedded systems often require special-ized hardware. However, software engineers have access to such domain-specific hardware only at the continuous integration (CI) stage and have to use simulated hardware otherwise. This results in a higher proportion of compilation errors at the CI stage than in other types of systems, warranting a deeper study. To this end, we create a CI diagnostics solution called 'Shadow Job' that analyzes our industrial CI system. We collected over 40000 builds from 4 projects from the product source code and categorized the compilation errors into 14 error types, showing that the five most common ones comprise 89 % of all compilation errors. Additionally, we analyze the resolution time, size, and distance for each error type, to see if different types of compilation errors are easier to localize or repair than others. Our results show that the resolution time, size, and distance are independent of each other. Our research also provides insights into the human effort required to fix the most common industrial compilation errors. We also identify the most promising directions for future research on fault localization.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Keywords
compilation error, continuous integration, fault localization, software build
National Category
Computer Engineering Software Engineering Computer Sciences
Identifiers
urn:nbn:se:kth:diva-353952 (URN)10.1109/ICST60714.2024.00042 (DOI)001307930000034 ()2-s2.0-85203842024 (Scopus ID)
Conference
17th IEEE Conference on Software Testing, Verification and Validation, ICST 2024, May 27-31, 2024, Toronto, Canada
Note

Part of ISBN: 979-8-3503-0818-1

QC 20240926

Available from: 2024-09-25 Created: 2024-09-25 Last updated: 2024-11-05Bibliographically approved
Fu, H., Eldh, S., Wiklund, K., Ermedahl, A. & Artho, C. (2022). Prevalence of continuous integration failures in industrial systems with hardware-in-the-loop testing. In: 2022 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2022): . Paper presented at 33rd IEEE International Symposium on Software Reliability Engineering (ISSRE), OCT 31-NOV 03, 2022, Charlotte, NC (pp. 61-66). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>Prevalence of continuous integration failures in industrial systems with hardware-in-the-loop testing
Show others...
2022 (English)In: 2022 IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING WORKSHOPS (ISSREW 2022), Institute of Electrical and Electronics Engineers (IEEE) , 2022, p. 61-66Conference paper, Published paper (Refereed)
Abstract [en]

Faults in the automated continuous integration (CI) process can seriously impact the development of industrial code. To reduce manual intervention in automated CI processes, we want to understand better the CI systems' failure distribution to improve efficiency, reliability, and maintainability. This paper investigates failures in CI in four large industrial projects. We gather 11 731 builds over six months, identifying 1 414 failing builds. We also identify the distribution of different types of build failures in each of the four CI projects. Our results show that compilation is the most significant individual cause of failure with 47 %, followed by testing at 36 %. The checkout step with associated checks also incurs a non-negligible portion of failures with 12 %. Furthermore, we identify 14 distinct types of failures in the testing step. We conclude that configuration problems are a significant issue, as pipeline scripting and dependency errors make up a large number of failures.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2022
Series
IEEE International Symposium on Software Reliability Engineering Workshops, ISSN 2375-821X
Keywords
continuous integration, failure classification, industry study, embedded system
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-324523 (URN)10.1109/ISSREW55968.2022.00040 (DOI)000909333700011 ()2-s2.0-85146335651 (Scopus ID)
Conference
33rd IEEE International Symposium on Software Reliability Engineering (ISSRE), OCT 31-NOV 03, 2022, Charlotte, NC
Note

QC 20230307

Available from: 2023-03-07 Created: 2023-03-07 Last updated: 2023-03-07Bibliographically approved
Baudry, B., Chen, Z., Etemadi, K., Fu, H., Ginelli, D., Kommrusch, S., . . . Yu, Z. (2021). A Software-Repair Robot Based on Continual Learning. IEEE Software, 38(4), 28-35
Open this publication in new window or tab >>A Software-Repair Robot Based on Continual Learning
Show others...
2021 (English)In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 38, no 4, p. 28-35Article in journal (Refereed) Published
Abstract [en]

Software bugs are common, and correcting them accounts for a significant portion of the costs in the software development and maintenance process. In this article, we discuss R-Hero, our novel system for learning how to fix bugs based on continual training.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2021
Keywords
Maintenance engineering, Computer bugs, Software development management, Bot (Internet), Training data, Machine learning
National Category
Software Engineering Computer Sciences
Identifiers
urn:nbn:se:kth:diva-299103 (URN)10.1109/MS.2021.3070743 (DOI)000664984000005 ()2-s2.0-85103775192 (Scopus ID)
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)Swedish Foundation for Strategic Research , trustfull
Note

QC 20210805

Available from: 2021-08-05 Created: 2021-08-05 Last updated: 2022-06-25Bibliographically approved
Organisations

Search in DiVA

Show all publications