Large‐scale semi‐automated migration of legacy C/C++ test code. (22nd March 2022)
- Record Type:
- Journal Article
- Title:
- Large‐scale semi‐automated migration of legacy C/C++ test code. (22nd March 2022)
- Main Title:
- Large‐scale semi‐automated migration of legacy C/C++ test code
- Authors:
- Schuts, Mathijs T. W.
Aarssen, Rodin T. A.
Tielemans, Paul M.
Vinju, Jurgen J. - Abstract:
- Abstract: This is an industrial experience report on a large semi‐automated migration of legacy test code in C and C++. The particular migration was enabled by automating most of the maintenance steps. Without automation this particular large‐scale migration would not have been conducted, due to the risks involved in manual maintenance (risk of introducing errors, risk of unexpected rework, and loss of productivity). We describe and evaluate the method of automation we used on this real‐world case. The benefits were that by automating analysis, we could make sure that we understand all the relevant details for the envisioned maintenance, without having to manually read and check our theories. Furthermore, by automating transformations we could reiterate and improve over complex and large scale source code updates, until they were "just right." The drawbacks were that, first, we have had to learn new metaprogramming skills. Second, our automation scripts are not readily reusable for other contexts; they were necessarily developed for this ad‐hoc maintenance task. Our analysis shows that automated software maintenance as compared to the (hypothetical) manual alternative method seems to be better both in terms of avoiding mistakes and avoiding rework because of such mistakes. It seems that necessary and beneficial source code maintenance need not to be avoided, if software engineers are enabled to create bespoke (and ad‐hoc) analysis and transformation tools to support it.
- Is Part Of:
- Software, practice & experience. Volume 52:Number 7(2022)
- Journal:
- Software, practice & experience
- Issue:
- Volume 52:Number 7(2022)
- Issue Display:
- Volume 52, Issue 7 (2022)
- Year:
- 2022
- Volume:
- 52
- Issue:
- 7
- Issue Sort Value:
- 2022-0052-0007-0000
- Page Start:
- 1543
- Page End:
- 1580
- Publication Date:
- 2022-03-22
- Subjects:
- parsers -- pattern matching -- program analysis -- refactoring -- source code generation
Computer software -- Periodicals
Computer programming -- Periodicals
Computer programs -- Periodicals
005.3 - Journal URLs:
- http://onlinelibrary.wiley.com/ ↗
- DOI:
- 10.1002/spe.3082 ↗
- Languages:
- English
- ISSNs:
- 0038-0644
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library DSC - 8321.453000
British Library DSC - BLDSS-3PM
British Library STI - ELD Digital store - Ingest File:
- 21825.xml