Loading [MathJax]/extensions/TeX/cancel.js
Climbing the Hill to Understand the Code | IEEE Journals & Magazine | IEEE Xplore
Scheduled Maintenance: On Monday, 27 January, the IEEE Xplore Author Profile management portal will undergo scheduled maintenance from 9:00-11:00 AM ET (1400-1600 UTC). During this time, access to the portal will be unavailable. We apologize for any inconvenience.

Climbing the Hill to Understand the Code


Automated transformations of low-level programs to high-level structures

Abstract:

Software maintenance takes up a disproportionately large amount of time in the modern software life cycle. One of the common problems is understanding the original code t...Show More

Abstract:

Software maintenance takes up a disproportionately large amount of time in the modern software life cycle. One of the common problems is understanding the original code that is being restructured and improved and this is especially true with low-level code. This paper investigates the results and properties of an automated process that can raise the abstraction level of code from low-level operations to high-level structures. The process is made of independent components and can be adapted to different scenarios. The automated improvements implementation relies on the program transformation system FermaT and its catalogue of semantics-preserving transformations. The process uses hill climbing and a metric for the fitness function of the programs. This component was made to work on general inputs, without explicit knowledge of the type of origin of the program. The paper explores how different inputs are actually handled by the system, what are the properties and how these can be used for further improvements. Two main types of inputs are shown, x86 assembly and MicroJava bytecode. These two have many operational differences, and the translator tools introduce some more, but nonetheless, the same process can handle all of these and, on average, improve the Structure metric (a good approximation of the complexity of the code) by around 85%.
Automated transformations of low-level programs to high-level structures
Published in: IEEE Access ( Volume: 12)
Page(s): 56847 - 56859
Date of Publication: 15 April 2024
Electronic ISSN: 2169-3536

Funding Agency:


References

References is not available for this document.