Partial Evaluation for Program Comprehension
Sandrine Blazy (CEDRIC)

TL;DR
This paper adapts partial evaluation techniques to simplify complex scientific programs written in Fortran, aiding program comprehension by propagating constants and simplifying statements without altering program behavior.
Contribution
It introduces a partial evaluator tailored for program comprehension, including interprocedural alias analysis, focusing on simplifying rather than optimizing code.
Findings
Effective constant propagation and statement simplification
Enhanced understanding of complex scientific programs
Maintains original program behavior after simplification
Abstract
Program comprehension is the most tedious and time consuming task of software maintenance, an important phase of the software life cycle. This is particularly true while maintaining scientific application programs that have been written in Fortran for decades and that are still vital in various domains even though more modern languages are used to implement their user interfaces. Very often, programs have evolved as their application domains increase continually and have become very complex due to extensive modifications. This generality in programs is implemented by input variables whose value does not vary in the context of a given application. Thus, it is very interesting for the maintainer to propagate such information, that is to obtain a simplified program, which behaves like the initial one when used according to the restriction. We have adapted partial evaluation for program…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Intelligent Tutoring Systems and Adaptive Learning
