TL;DR
This paper introduces a data-flow analysis for logic programming that computes detailed argument profiles, aiding program understanding, argument comparison, and predicate normalization by capturing argument functionality.
Contribution
It presents a novel analysis method for argument profiling that surpasses traditional types and modes, enabling finer argument comparison and predicate reordering.
Findings
Provides a way to understand argument roles in predicates
Enables argument comparison for predicate analysis
Supports predicate normalization through argument reordering
Abstract
In this work, which is done in the context of a (moded) logic programming language, we devise a data-flow analysis dedicated to computing what we call argument profiles. Such a profile essentially describes, for each argument of a predicate, its functionality, i.e. the operations in which the argument can be involved during an evaluation of the predicate, as well as how the argument contributes to the consumption and/or construction of data values. While the computed argument profiles can be useful for applications in the context of program understanding (as each profile essentially provides a way to better understand the role of the argument), they more importantly provide a way to discern between arguments in a manner that is more fine-grained than what can be done with other abstract characterizations such as types and modes. This is important for applications where one needs to…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
