Hostname: page-component-89b8bd64d-72crv Total loading time: 0 Render date: 2026-05-10T04:38:37.847Z Has data issue: false hasContentIssue false

Removing redundant arguments automatically

Published online by Cambridge University Press:  01 January 2007

M. ALPUENTE
Affiliation:
DSIC, UPV, Camino de Vera s/n, E-46022 Valencia, Spain (e-mail: alpuente@dsic.upv.es,sescobar@dsic.upv.es,slucas@dsic.upv.es)
S. ESCOBAR
Affiliation:
DSIC, UPV, Camino de Vera s/n, E-46022 Valencia, Spain (e-mail: alpuente@dsic.upv.es,sescobar@dsic.upv.es,slucas@dsic.upv.es)
S. LUCAS
Affiliation:
DSIC, UPV, Camino de Vera s/n, E-46022 Valencia, Spain (e-mail: alpuente@dsic.upv.es,sescobar@dsic.upv.es,slucas@dsic.upv.es)

Abstract

The application of automatic transformation processes during the formal development and optimization of programs can introduce encumbrances in the generated code that programmers usually (or presumably) do not write. An example is the introduction of redundant arguments in the functions defined in the program. Redundancy of a parameter means that replacing it by any expression does not change the result. In this work, we provide methods for the analysis and elimination of redundant arguments in term rewriting systems as a model for the programs that can be written in more sophisticated languages. On the basis of the uselessness of redundant arguments, we also propose an erasure procedure which may avoid wasteful computations while still preserving the semantics (under ascertained conditions). A prototype implementation of these methods has been undertaken, which demonstrates the practicality of our approach.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2007

Access options

Get access to the full version of this content by using one of the access options below. (Log in options will check for institutional or personal access. Content may require purchase if you do not have access.)

Article purchase

Temporarily unavailable