A Dataflow Analysis for Comparing and Reordering Predicate Arguments

by   Gonzague Yernaux, et al.

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 identify correspondences between the arguments of two or more different predicates that need to be compared, such as during clone detection. Moreover, since a total order can be defined on the abstract domain of profiles, our analysis can be used for rearranging predicate arguments and order them according to their functionality, constituting as such an essential ingredient for predicate normalization techniques.


page 1

page 2

page 3

page 4


Some Options for Instantiation of Bipolar Argument Graphs with Deductive Arguments

Argument graphs provide an abstract representation of an argumentative s...

Aspect-Controlled Neural Argument Generation

We rely on arguments in our daily lives to deliver our opinions and base...

Attacker and Defender Counting Approach for Abstract Argumentation

In Dung's abstract argumentation, arguments are either acceptable or una...

On resolving conflicts between arguments

Argument systems are based on the idea that one can construct arguments ...

ARIST: An Effective API Argument Recommendation Approach

Learning and remembering to use APIs are difficult. Several techniques h...

Branching execution symmetry in Jeopardy by available implicit arguments analysis

When the inverse of an algorithm is well-defined – that is, when its out...

Representing Verbs as Argument Concepts

Verbs play an important role in the understanding of natural language te...

Please sign up or login with your details

Forgot password? Click here to reset