The role of open source software in program analysis for reverse engineering
Taher A. Ghaleb
Abstract
Taher A. Ghaleb
Abstract
Program analysis is the process of statically or dynamically retrieving the structure and behavior of software systems. Static analysis solely relies on the availability of source code of computer programs, while dynamic analysis captures program information using execution traces during program runtime. The entire process is called software reverse engineering, where the extracted information could eventually be visualized to facilitate program comprehension for the sake of learning, maintenance, etc. Open source software, in this context, plays a vital role in developing, enriching, and validating program analysis techniques. In this paper, we show and discuss how open source software projects significantly contribute to the development, evolution, and validation of program analysis techniques as well as enriching reverse-engineered diagrams with useful and meaningful information, even for those techniques that rely on dynamic analysis.
OpenAlex reports 4 citations for this work. Citation counts describe recorded attention and do not establish research quality.
A contribution statement is not available in the OpenAlex record.
Method details are not available in the OpenAlex metadata.
Findings are not separately available in the OpenAlex metadata.
Limitations are not available in the OpenAlex metadata.
Application details are not available in the OpenAlex metadata.
Program analysis is the process of statically or dynamically retrieving the structure and behavior of software systems. Static analysis solely relies on the availability of source code of computer programs, while dynamic analysis captures program information using execution traces during program runtime. The entire process is called software reverse engineering, where the extracted information could eventually be visualized to facilitate program comprehension for the sake of learning, maintenance, etc. Open source software, in this context, plays a vital role in developing, enriching, and validating program analysis techniques. In this paper, we show and discuss how open source software projects significantly contribute to the development, evolution, and validation of program analysis techniques as well as enriching reverse-engineered diagrams with useful and meaningful information, even for those techniques that rely on dynamic analysis.
Key concepts: Reverse engineering, Program comprehension, Computer science, Static program analysis, Software engineering, Source code, Program analysis, Dynamic program analysis