From 1e73fabd23b86258f33bd28557c0d23ec0a2b9ec Mon Sep 17 00:00:00 2001 From: Luca Negrini Date: Thu, 14 Sep 2023 12:35:34 +0200 Subject: [PATCH] Fixing javadoc visibility problems --- .../nonRedundantSet/NonRedundantPowerset.java | 8 +++----- ...ndantPowersetOfBaseNonRelationalValueDomain.java | 10 +++------- .../lisa/program/cfg/statement/string/Concat.java | 13 ++++++------- .../lisa/program/cfg/statement/string/Contains.java | 13 ++++++------- .../lisa/program/cfg/statement/string/EndsWith.java | 13 ++++++------- .../lisa/program/cfg/statement/string/Equals.java | 13 ++++++------- .../lisa/program/cfg/statement/string/IndexOf.java | 13 ++++++------- .../lisa/program/cfg/statement/string/Length.java | 13 ++++++------- .../lisa/program/cfg/statement/string/Replace.java | 13 ++++++------- .../program/cfg/statement/string/StartsWith.java | 13 ++++++------- .../program/cfg/statement/string/Substring.java | 13 ++++++------- .../program/cfg/fixpoints/OptimizedFixpoint.java | 9 +++++---- .../value/operator/binary/StringOperation.java | 7 ++++--- 13 files changed, 69 insertions(+), 82 deletions(-) diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowerset.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowerset.java index c348c5d99..0d0305ca1 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowerset.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowerset.java @@ -209,9 +209,8 @@ protected C extrapolationHeuristic(C other) throws SemanticException { * Given two subset S1 and S2 of the domain of a * lattice widening(S1, S2) = * h(S1, T2), where - * h is a - * {@link #extrapolationHeuristic(NonRedundantPowerset) widenining-connected - * extrapolation heuristic} and T2 is equal to: + * h is a widenining-connected extrapolation heuristic and + * T2 is equal to: * * where ≤EM is the * {@link #lessOrEqualEgliMilner(NonRedundantPowerset) Egli-Milner relation} - * and +EM is an - * {@link #EgliMilnerConnector(NonRedundantPowerset) Egli-Milner connector}. + * and +EM is an Egli-Milner connector. */ @Override public C wideningAux(C other) throws SemanticException { diff --git a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowersetOfBaseNonRelationalValueDomain.java b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowersetOfBaseNonRelationalValueDomain.java index 39373f7bf..5caa82109 100644 --- a/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowersetOfBaseNonRelationalValueDomain.java +++ b/lisa/lisa-analyses/src/main/java/it/unive/lisa/analysis/nonRedundantSet/NonRedundantPowersetOfBaseNonRelationalValueDomain.java @@ -297,10 +297,8 @@ protected C extrapolationHeuristic(C other) throws SemanticException { * Given two subset S1 and S2 of the domain of a * lattice widening(S1, S2) = * h(S1, T2), where - * h is a - * {@link #extrapolationHeuristic(NonRedundantPowersetOfBaseNonRelationalValueDomain) - * widenining-connected extrapolation heuristic} and T2 is equal - * to: + * h is a widenining-connected extrapolation heuristic and + * T2 is equal to: * * where ≤EM is the * {@link #lessOrEqualEgliMilner(NonRedundantPowersetOfBaseNonRelationalValueDomain) - * Egli-Milner relation} and +EM is an - * {@link #EgliMilnerConnector(NonRedundantPowersetOfBaseNonRelationalValueDomain) - * Egli-Milner connector}. + * Egli-Milner relation} and +EM is an Egli-Milner connector. */ @Override public C wideningAux(C other) throws SemanticException { diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Concat.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Concat.java index 24c1fba02..5f17daace 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Concat.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Concat.java @@ -25,13 +25,12 @@ * {@link StringType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Contains.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Contains.java index 185426693..a52b800f8 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Contains.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Contains.java @@ -26,13 +26,12 @@ * {@link BooleanType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/EndsWith.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/EndsWith.java index 788f0f8a2..96cc1d624 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/EndsWith.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/EndsWith.java @@ -26,13 +26,12 @@ * {@link BooleanType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Equals.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Equals.java index b0f85cfce..da92f5e93 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Equals.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Equals.java @@ -26,13 +26,12 @@ * {@link BooleanType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/IndexOf.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/IndexOf.java index 6f39c9333..ed7f13525 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/IndexOf.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/IndexOf.java @@ -26,13 +26,12 @@ * {@link NumericType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Length.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Length.java index eec870ed1..44f74edc1 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Length.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Length.java @@ -26,13 +26,12 @@ * {@link NumericType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Replace.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Replace.java index 764f97b52..862a0e51d 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Replace.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Replace.java @@ -25,13 +25,12 @@ * {@link StringType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/StartsWith.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/StartsWith.java index 3b9f1ad55..4b1ab968a 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/StartsWith.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/StartsWith.java @@ -26,13 +26,12 @@ * {@link BooleanType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Substring.java b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Substring.java index c1cfbb92c..96533c3b3 100644 --- a/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Substring.java +++ b/lisa/lisa-program/src/main/java/it/unive/lisa/program/cfg/statement/string/Substring.java @@ -27,13 +27,12 @@ * {@link StringType}.
*
* Since in most languages string operations are provided through calls to - * library functions, this class contains a field {@link #originating} whose - * purpose is to optionally store a {@link Statement} that is rewritten to an - * instance of this class (i.e., a call to a {@link NativeCFG} modeling the - * library function). If present, such statement will be used as - * {@link ProgramPoint} for semantics computations. This allows subclasses to - * implement {@link PluggableStatement} easily without redefining the semantics - * provided by this class. + * library functions, this class contains a field whose purpose is to optionally + * store a {@link Statement} that is rewritten to an instance of this class + * (i.e., a call to a {@link NativeCFG} modeling the library function). If + * present, such statement will be used as {@link ProgramPoint} for semantics + * computations. This allows subclasses to implement {@link PluggableStatement} + * easily without redefining the semantics provided by this class. * * @author Luca Negrini */ diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/OptimizedFixpoint.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/OptimizedFixpoint.java index d857ebeaa..eba387b2e 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/OptimizedFixpoint.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/program/cfg/fixpoints/OptimizedFixpoint.java @@ -23,10 +23,11 @@ /** * A fixpoint algorithm for a {@link Graph}, parametric to the - * {@link FixpointImplementation} that one wants to use to compute the results. - * This fixpoint algorithms is optimized: it works exploiting the basic blocks - * of the target graph, and only yields approximations of widening points, - * stopping statements and user-defined hotspots. + * {@link it.unive.lisa.util.datastructures.graph.algorithms.Fixpoint.FixpointImplementation} + * that one wants to use to compute the results. This fixpoint algorithms is + * optimized: it works exploiting the basic blocks of the target graph, and only + * yields approximations of widening points, stopping statements and + * user-defined hotspots. * * @author Luca Negrini * diff --git a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/operator/binary/StringOperation.java b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/operator/binary/StringOperation.java index aa61cd485..ade844aec 100644 --- a/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/operator/binary/StringOperation.java +++ b/lisa/lisa-sdk/src/main/java/it/unive/lisa/symbolic/value/operator/binary/StringOperation.java @@ -1,18 +1,19 @@ package it.unive.lisa.symbolic.value.operator.binary; +import java.util.Collections; +import java.util.Set; + import it.unive.lisa.symbolic.value.operator.StringOperator; import it.unive.lisa.type.StringType; import it.unive.lisa.type.Type; import it.unive.lisa.type.TypeSystem; -import java.util.Collections; -import java.util.Set; /** * A common implementation for classes implementing {@link BinaryOperator} and * {@link StringOperator}, providing a * {@link #typeInference(TypeSystem, Set, Set)} implementation that returns an * empty set if no {@link StringType} can be found in one of the arguments, and - * a singleton set containing {@link #resultType(TypeSystem)} otherwise. + * a singleton set containing their result type otherwise. * * @author Luca Negrini */