lationships present in the program, leading to impre-
cise results. They are known as weakly relational ab-
stract domains (Min
´
e, 2006; Sankaranarayanan et al.,
2005; Goubault et al., 2012; Seladji and Bouissou,
2013; Seladji, 2017).
The other tool to reduce the computation time
of the analysis is to modify the Kleene algorithm
to make it faster. By using operators like widen-
ing (Cousot and Cousot, 1992) and narrowing that
accelerate convergence in iterative analysis algo-
rithms by approximating fixpoints or refining abstrac-
tions. Widening introduces imprecision by over-
approximating program states to ensure termination,
while narrowing aims to restore precision by refining
abstractions iteratively. However, striking the right
balance between widening and narrowing parameters
is crucial to avoid excessive imprecision or divergence
in the analysis. The widening operator in the poly-
hedra domain is used to ensure termination in iter-
ative analysis algorithms, particularly when dealing
with loops or recursive structures. By removing con-
straints that are not stable from one iteration to the
next. However, it is essential to recognize that widen-
ing introduces a large over-approximation, leading to
imprecise analysis results.
Techniques have been developed to minimise this
loss of accuracy. Threshold widening (Lakhdar-
Chaouch et al., 2011) predefines a set of thresholds,
the elements of which are used as candidate bounds
at each iteration. However, the choice of widen-
ing thresholds significantly impacts the analysis qual-
ity, balancing termination and precision. Finding
the optimal widening threshold is non-trivial and of-
ten requires manual tuning, limiting the scalability
and effectiveness of the analysis. In our previous
work (Bouissou et al., 2012), we presented a method
that dynamically computes a relevant set of thresholds
using relevant set of thresholds using numerical anal-
ysis tools. This technique was applied to the interval
and octagon abstract domains. It should be noted that
the solutions proposed to improve the computational
time of a polyhedral analysis can be categorized into
two main strategies:
• restricted data representation : One approach to
improving computational time in polyhedral anal-
ysis involves simplifying the representation of
program data to facilitate manipulation.
• improvement of fixed-point computation tech-
niques : it focuses on enhancing the efficiency
of fixed-point computation algorithms, typically
by employing better widening operators or con-
vergence strategies.
In this paper, we combines the advantages of
both data representation simplification and fixed-
point computation improvement techniques to im-
prove the polyhedral analysis. By exploiting the com-
pactness of support function-based representations,
our method facilitates faster convergence in fixed-
point computation algorithms while maintaining anal-
ysis precision. In addition, the use of support func-
tions allows efficient manipulation of program con-
straints, further improving computational efficiency.
The paper is organized as follows: in Section 2, we
explain the proposed method using a simple example.
In Section 3, we introduce some useful definitions. In
Section 4, we present our main contribution. Some
benchmarks are given in Section 5. Finally, we con-
clude with a conclusion and some perspectives.
2 AN ILLUSTRATED EXAMPLE
To illustrate the intuition behind our approach, let’s
consider a simple example involving a linear filter
program. Figure 1 depicts the structure of the pro-
gram. Analyzing the given program using the poly-
hedral abstract domain presents challenges due to its
inherent complexity. The analysis couldn’t terminate
within a reasonable time (e.g., more than 10 minutes),
it indicates the complexity of the program and the lim-
itations of the polyhedral analysis approach for this
particular case. In such scenarios, it’s essential to con-
sider alternative analysis techniques such as the use
of the widening operator. Note that, the analysis re-
sult for the given program, using widening, is an un-
bounded polyhedron. Indeed, widening with thresh-
olds (Lakhdar-Chaouch et al., 2011), offers an inter-
esting alternative approach. By using a predefined
set of thresholds as fixed-point candidates, this tech-
nique aims to control the trade-off between analysis
precision and computational complexity. However,
the static nature of threshold selection can be a bot-
tleneck, as it does not take into account the dynamics
of the analysed program. In this paper, we propose an
approach to compute dynamically relevant thresholds
for polyhedral analysis. This approach aims to adap-
tively adjust widening thresholds based on the evolv-
ing program state.
For that, we perform a pre-analysis using a sub-
polyhedra abstract domain (Seladji and Bouissou,
2013). This domain is based on a given set of tem-
plates. In this example, we define these templates
as a set of vectors uniformly distributed on a unit
sphere. First, a pre-analysis is performed using an
sub-polyhedron abstract domain (Seladji and Bouis-
sou, 2013) based on a given set of templates, such as
vectors uniformly distributed on a unit sphere. In Fig-
ure 2, the yellow polyhedron represents the result of
ICSOFT 2024 - 19th International Conference on Software Technologies
80