From 6f1444e751b232c6f1798365dce43443746e5d0e Mon Sep 17 00:00:00 2001 From: Claudio Maggioni Date: Mon, 1 May 2023 13:46:49 +0200 Subject: [PATCH] all but conclusions --- refactor.diff | 357 ++++++++++++++++++ report.pdf | Bin 366310 -> 370420 bytes report.tex | 44 +++ .../text/translate/CsvTranslators.java | 7 +- 4 files changed, 402 insertions(+), 6 deletions(-) create mode 100644 refactor.diff diff --git a/refactor.diff b/refactor.diff new file mode 100644 index 0000000..020c5eb --- /dev/null +++ b/refactor.diff @@ -0,0 +1,357 @@ +diff --git a/sources/src/main/java/org/apache/commons/text/AlphabetConverter.java b/sources/src/main/java/org/apache/commons/text/AlphabetConverter.java +index 033ede1..9d47ea3 100644 +--- a/sources/src/main/java/org/apache/commons/text/AlphabetConverter.java ++++ b/sources/src/main/java/org/apache/commons/text/AlphabetConverter.java +@@ -31,6 +31,7 @@ import java.util.Set; + + import org.apache.commons.lang3.ArrayUtils; + import org.apache.commons.lang3.StringUtils; ++import org.checkerframework.checker.index.qual.NonNegative; + + /** + *

+@@ -104,7 +105,12 @@ public final class AlphabetConverter { + return ArrayUtils.EMPTY_INTEGER_OBJECT_ARRAY; + } + final Integer[] integers = new Integer[chars.length]; +- Arrays.setAll(integers, i -> (int) chars[i]); ++ Arrays.setAll(integers, i -> { ++ assert i >= 0 && i < chars.length : "@AssumeAssertion(index): i is a valid index for integers, and integers" + ++ "has same length of chars"; ++ ++ return (int) chars[i]; ++ }); + return integers; + } + +@@ -384,7 +390,7 @@ public final class AlphabetConverter { + + final StringBuilder result = new StringBuilder(); + +- for (int j = 0; j < encoded.length();) { ++ for (@NonNegative int j = 0; j < encoded.length();) { + final int i = encoded.codePointAt(j); + final String s = codePointToString(i); + +@@ -393,6 +399,9 @@ public final class AlphabetConverter { + j++; // because we do not encode in Unicode extended the + // length of each encoded char is 1 + } else { ++ assert encodedLetterLength >= 0 : "@AssumeAssertion(index): follows from constructor contract of " + ++ "AlphabetConverter"; ++ + if (j + encodedLetterLength > encoded.length()) { + throw new UnsupportedEncodingException("Unexpected end " + + "of string while decoding " + encoded); +diff --git a/sources/src/main/java/org/apache/commons/text/StringSubstitutor.java b/sources/src/main/java/org/apache/commons/text/StringSubstitutor.java +index 3b1e4cb..4c5ce94 100644 +--- a/sources/src/main/java/org/apache/commons/text/StringSubstitutor.java ++++ b/sources/src/main/java/org/apache/commons/text/StringSubstitutor.java +@@ -29,6 +29,7 @@ import org.apache.commons.text.lookup.StringLookup; + import org.apache.commons.text.lookup.StringLookupFactory; + import org.apache.commons.text.matcher.StringMatcher; + import org.apache.commons.text.matcher.StringMatcherFactory; ++import org.checkerframework.checker.index.qual.*; + + /** + * Substitutes variables within a string by values. +@@ -914,7 +915,9 @@ public class StringSubstitutor { + * @throws StringIndexOutOfBoundsException if {@code length < 0} + * @throws StringIndexOutOfBoundsException if {@code offset + length > source.length()} + */ +- public String replace(final String source, final int offset, final int length) { ++ public String replace(final String source, ++ final @IndexOrHigh("#1") int offset, ++ final @NonNegative @LTLengthOf(value = "#1", offset = "#2 - 1") int length) { + if (source == null) { + return null; + } +diff --git a/sources/src/main/java/org/apache/commons/text/similarity/LongestCommonSubsequence.java b/sources/src/main/java/org/apache/commons/text/similarity/LongestCommonSubsequence.java +index b91f23c..406181d 100644 +--- a/sources/src/main/java/org/apache/commons/text/similarity/LongestCommonSubsequence.java ++++ b/sources/src/main/java/org/apache/commons/text/similarity/LongestCommonSubsequence.java +@@ -86,6 +86,8 @@ public class LongestCommonSubsequence implements SimilarityScore { + dpRows[1] = temp; + + for (int j = 1; j <= n; j++) { ++ assert j < dpRows[1].length : "@AssumeAssertion(index): j <= n < dpRows[1].length == (n + 1)"; ++ + if (left.charAt(i - 1) == right.charAt(j - 1)) { + dpRows[1][j] = dpRows[0][j - 1] + 1; + } else { +@@ -117,7 +119,10 @@ public class LongestCommonSubsequence implements SimilarityScore { + final StringBuilder out = new StringBuilder(); + + if (m == 1) { // Handle trivial cases, as per the paper +- final char leftCh = left.charAt(0); ++ final int zero = 0; ++ assert zero < left.length(): "@AssumeAssertion(index): m == 1 && m = left.length()"; ++ ++ final char leftCh = left.charAt(zero); + for (int j = 0; j < n; j++) { + if (leftCh == right.charAt(j)) { + out.append(leftCh); +@@ -134,6 +139,10 @@ public class LongestCommonSubsequence implements SimilarityScore { + final int[] l1 = algorithmB(leftFirstPart, right); + final int[] l2 = algorithmB(reverse(leftSecondPart), reverse(right)); + ++ assert n < l1.length : "@AssumeAssertion(index): Due to implementation of algorithmB"; ++ assert n < l2.length : "@AssumeAssertion(index): Due to implementation of algorithmB and reverse(...) not " + ++ "changing the number of characters in the string"; ++ + // Find k, as per the Step 4 of the algorithm + int k = 0; + int t = 0; +@@ -145,6 +154,9 @@ public class LongestCommonSubsequence implements SimilarityScore { + } + } + ++ assert k <= right.length() : "@AssumeAssertion(index): loop updates k with value of j, and j is always in " + ++ "interval [0, n]"; ++ + // Step 5: solve simpler problems, recursively + out.append(algorithmC(leftFirstPart, right.subSequence(0, k))); + out.append(algorithmC(leftSecondPart, right.subSequence(k, n))); +@@ -194,7 +206,12 @@ public class LongestCommonSubsequence implements SimilarityScore { + + // Check if we can save even more space + if (leftSz < rightSz) { +- return algorithmB(right, left)[leftSz]; ++ final int[] toReturn = algorithmB(right, left); ++ ++ assert leftSz < toReturn.length : "@AssumeAssertion(index): algorithmB returns an array of length = " + ++ "#2.length + 1"; ++ ++ return toReturn[leftSz]; + } + return algorithmB(left, right)[rightSz]; + } +diff --git a/sources/src/main/java/org/apache/commons/text/translate/AggregateTranslator.java b/sources/src/main/java/org/apache/commons/text/translate/AggregateTranslator.java +index e13fa57..281bcef 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/AggregateTranslator.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/AggregateTranslator.java +@@ -16,6 +16,10 @@ + */ + package org.apache.commons.text.translate; + ++import org.checkerframework.checker.index.qual.LTLengthOf; ++import org.checkerframework.checker.index.qual.NonNegative; ++import org.checkerframework.common.value.qual.MinLen; ++ + import java.io.IOException; + import java.io.Writer; + import java.util.ArrayList; +@@ -53,7 +57,9 @@ public class AggregateTranslator extends CharSequenceTranslator { + * {@inheritDoc} + */ + @Override +- public int translate(final CharSequence input, final int index, final Writer writer) throws IOException { ++ public int translate(final CharSequence input, ++ final @NonNegative @LTLengthOf("#1") int index, ++ final Writer writer) throws IOException { + for (final CharSequenceTranslator translator : translators) { + final int consumed = translator.translate(input, index, writer); + if (consumed != 0) { +diff --git a/sources/src/main/java/org/apache/commons/text/translate/CharSequenceTranslator.java b/sources/src/main/java/org/apache/commons/text/translate/CharSequenceTranslator.java +index 6a96a22..ef67c0e 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/CharSequenceTranslator.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/CharSequenceTranslator.java +@@ -23,6 +23,10 @@ import java.io.Writer; + import java.util.Locale; + + import org.apache.commons.lang3.Validate; ++import org.checkerframework.checker.index.qual.LTLengthOf; ++import org.checkerframework.checker.index.qual.NonNegative; ++import org.checkerframework.checker.index.qual.Positive; ++import org.checkerframework.common.value.qual.MinLen; + + /** + * An API for translating text. +@@ -80,7 +84,9 @@ public abstract class CharSequenceTranslator { + * @return int count of code points consumed + * @throws IOException if and only if the Writer produces an IOException + */ +- public abstract int translate(CharSequence input, int index, Writer writer) throws IOException; ++ public abstract int translate(@MinLen(1) CharSequence input, ++ @NonNegative @LTLengthOf("#1") int index, ++ Writer writer) throws IOException; + + /** + * Translate an input onto a Writer. This is intentionally final as its algorithm is +@@ -98,6 +104,7 @@ public abstract class CharSequenceTranslator { + int pos = 0; + final int len = input.length(); + while (pos < len) { ++ assert input.length() >= 1 : "@AssumeAssertion(index): Trivially true since we enter the loop"; + final int consumed = translate(input, pos, writer); + if (consumed == 0) { + // inlined implementation of Character.toChars(Character.codePointAt(input, pos)) +@@ -116,8 +123,14 @@ public abstract class CharSequenceTranslator { + } + // contract with translators is that they have to understand code points + // and they just took care of a surrogate pair +- for (int pt = 0; pt < consumed; pt++) { +- pos += Character.charCount(Character.codePointAt(input, pos)); ++ // Added pos < len as defensive condition for possibly buggy implementations of translate returning wrong ++ // number of codepoints consumed ++ for (int pt = 0; pt < consumed && pos < len; pt++) { ++ int increment = Character.charCount(Character.codePointAt(input, pos)); ++ assert pos + increment <= len : "@AssumeAssertion(index): increment corresponds to the number of bytes" + ++ "of char codepoint at position index[pos]. Adding this quantity results in a valid index or in" + ++ "the length of the string."; ++ pos += increment; + } + } + } +@@ -130,8 +143,10 @@ public abstract class CharSequenceTranslator { + * @return CharSequenceTranslator merging this translator with the others + */ + public final CharSequenceTranslator with(final CharSequenceTranslator... translators) { +- final CharSequenceTranslator[] newArray = new CharSequenceTranslator[translators.length + 1]; ++ final @Positive int newArrayLen = translators.length + 1; ++ final CharSequenceTranslator[] newArray = new CharSequenceTranslator[newArrayLen]; + newArray[0] = this; ++ assert translators.length == newArray.length - 1 : "@AssumeAssertion(index): by construction of newArray and newArrayLen"; + System.arraycopy(translators, 0, newArray, 1, translators.length); + return new AggregateTranslator(newArray); + } +diff --git a/sources/src/main/java/org/apache/commons/text/translate/CodePointTranslator.java b/sources/src/main/java/org/apache/commons/text/translate/CodePointTranslator.java +index 992c46e..266fb6e 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/CodePointTranslator.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/CodePointTranslator.java +@@ -16,6 +16,10 @@ + */ + package org.apache.commons.text.translate; + ++import org.checkerframework.checker.index.qual.LTLengthOf; ++import org.checkerframework.checker.index.qual.NonNegative; ++import org.checkerframework.common.value.qual.MinLen; ++ + import java.io.IOException; + import java.io.Writer; + +@@ -32,7 +36,9 @@ public abstract class CodePointTranslator extends CharSequenceTranslator { + * {@inheritDoc} + */ + @Override +- public final int translate(final CharSequence input, final int index, final Writer writer) throws IOException { ++ public final int translate(final @MinLen(1) CharSequence input, ++ final @NonNegative @LTLengthOf("#1") int index, ++ final Writer writer) throws IOException { + final int codePoint = Character.codePointAt(input, index); + final boolean consumed = translate(codePoint, writer); + return consumed ? 1 : 0; +diff --git a/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java b/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java +index d6bb8be..1be864a 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java +@@ -21,6 +21,7 @@ import java.io.Writer; + + import org.apache.commons.lang3.CharUtils; + import org.apache.commons.lang3.StringUtils; ++import org.checkerframework.common.value.qual.MinLen; + + /** + * This class holds inner classes for escaping/unescaping Comma Separated Values. +@@ -57,15 +58,24 @@ public final class CsvTranslators { + public static class CsvUnescaper extends SinglePassTranslator { + + @Override +- void translateWhole(final CharSequence input, final Writer writer) throws IOException { ++ void translateWhole(final @MinLen(1) CharSequence input, final Writer writer) throws IOException { ++ final int oneIndex = 1; ++ final int lastIndex = input.length() - 1; ++ ++ assert lastIndex >= 0 : "@AssumeAssertion(index): input.length() is >= 1 by contract"; ++ + // is input not quoted? +- if (input.charAt(0) != CSV_QUOTE || input.charAt(input.length() - 1) != CSV_QUOTE) { ++ if (input.charAt(0) != CSV_QUOTE || input.charAt(lastIndex) != CSV_QUOTE) { + writer.write(input.toString()); + return; + } + ++ if (oneIndex >= input.length()) { ++ throw new IllegalArgumentException("input length should be at least 2"); ++ } ++ + // strip quotes +- final String quoteless = input.subSequence(1, input.length() - 1).toString(); ++ final String quoteless = input.subSequence(oneIndex, lastIndex).toString(); + + if (StringUtils.containsAny(quoteless, CSV_SEARCH_CHARS)) { + // deal with escaped quotes; ie) "" +diff --git a/sources/src/main/java/org/apache/commons/text/translate/JavaUnicodeEscaper.java b/sources/src/main/java/org/apache/commons/text/translate/JavaUnicodeEscaper.java +index 084c8eb..ad02d7d 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/JavaUnicodeEscaper.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/JavaUnicodeEscaper.java +@@ -97,6 +97,13 @@ public class JavaUnicodeEscaper extends UnicodeEscaper { + @Override + protected String toUtf16Escape(final int codePoint) { + final char[] surrogatePair = Character.toChars(codePoint); ++ assert surrogatePair.length == 1 || surrogatePair.length == 2: ++ "@AssumeAssertion(index): assertion matches the implementation of Character.toChars"; ++ ++ if (surrogatePair.length == 1) { ++ throw new IllegalStateException("Expecting codepoint not to be a BMP (1 char) codepoint"); ++ } ++ + return "\\u" + hex(surrogatePair[0]) + "\\u" + hex(surrogatePair[1]); + } + +diff --git a/sources/src/main/java/org/apache/commons/text/translate/SinglePassTranslator.java b/sources/src/main/java/org/apache/commons/text/translate/SinglePassTranslator.java +index dd19ab5..b6d4ba9 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/SinglePassTranslator.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/SinglePassTranslator.java +@@ -16,6 +16,8 @@ + */ + package org.apache.commons.text.translate; + ++import org.checkerframework.common.value.qual.MinLen; ++ + import java.io.IOException; + import java.io.Writer; + +@@ -40,7 +42,7 @@ abstract class SinglePassTranslator extends CharSequenceTranslator { + * @throws IllegalArgumentException if {@code index != 0} + */ + @Override +- public int translate(final CharSequence input, final int index, final Writer writer) throws IOException { ++ public int translate(final @MinLen(1) CharSequence input, final int index, final Writer writer) throws IOException { + if (index != 0) { + throw new IllegalArgumentException(getClassName() + ".translate(final CharSequence input, final int " + + "index, final Writer out) can not handle a non-zero index."); +@@ -58,5 +60,5 @@ abstract class SinglePassTranslator extends CharSequenceTranslator { + * @param writer Writer to translate the text to + * @throws IOException if and only if the Writer produces an IOException + */ +- abstract void translateWhole(CharSequence input, Writer writer) throws IOException; ++ abstract void translateWhole(@MinLen(1) CharSequence input, Writer writer) throws IOException; + } +diff --git a/sources/src/main/java/org/apache/commons/text/translate/UnicodeEscaper.java b/sources/src/main/java/org/apache/commons/text/translate/UnicodeEscaper.java +index ea7081d..dfade90 100644 +--- a/sources/src/main/java/org/apache/commons/text/translate/UnicodeEscaper.java ++++ b/sources/src/main/java/org/apache/commons/text/translate/UnicodeEscaper.java +@@ -128,11 +128,18 @@ public class UnicodeEscaper extends CodePointTranslator { + writer.write(toUtf16Escape(codePoint)); + } else { + writer.write("\\u"); +- writer.write(HEX_DIGITS[codePoint >> 12 & 15]); +- writer.write(HEX_DIGITS[codePoint >> 8 & 15]); +- writer.write(HEX_DIGITS[codePoint >> 4 & 15]); +- writer.write(HEX_DIGITS[codePoint & 15]); ++ writer.write(hexDigitsAccess(codePoint >> 12)); ++ writer.write(hexDigitsAccess(codePoint >> 8)); ++ writer.write(hexDigitsAccess(codePoint >> 4)); ++ writer.write(hexDigitsAccess(codePoint)); + } + return true; + } ++ ++ private char hexDigitsAccess(final int index) { ++ int i = index & 15; ++ assert i >= 0 && i < HEX_DIGITS.length ++ : "@AssumeAssertion(index): bitwise and with 15 always produces numbers in [0,15]"; ++ return HEX_DIGITS[i]; ++ } + } diff --git a/report.pdf b/report.pdf index a7c98abad0f9481f671c4e0532b9a039c0ea8dec..fa989781dfbb5552dbacbb58c4b5d95d317bccd9 100644 GIT binary patch delta 81031 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 GVEzvSJhI3D delta 76976 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 diff --git a/report.tex b/report.tex index baaf817..95f4238 100644 --- a/report.tex +++ b/report.tex @@ -351,8 +351,52 @@ I simply propagate the non-empty extended type annotation on \texttt{input} (i.e. \mintinline{java}{@MinLen(1)}) on this new abstract method and implementors. +The \textit{translate.CsvTranslators\$CsvUnescaper} implementation of this new +template method requires additional attention to extinguish all +CheckerFramework's index checker warnings. + +\begin{minted}[breaklines,linenos,firstnumber=60]{java} +void translateWhole(final @MinLen(1) CharSequence input, final Writer writer) throws IOException { + // is input not quoted? + if (input.charAt(0) != CSV_QUOTE || input.charAt(input.length() - 1) != CSV_QUOTE) { + writer.write(input.toString()); + return; + } + + // strip quotes + final String quoteless = input.subSequence(1, input.length() - 1).toString(); +\end{minted} + +Here CheckerFramework was unable to deduce that the +\mintinline{java}{input.length() - 1} indeed results in a safe index for +\texttt{input} as the \textit{CharSequence} is always non-empty (as specified +with the propagated type qualifiers from the abstract signature of +\texttt{translateWhole}). This warning is fixed by precomputing the last index +of the string and introducing a trivially true assertion on it: + +\begin{minted}[breaklines,linenos,firstnumber=60]{java} +void translateWhole(final @MinLen(1) CharSequence input, final Writer writer) throws IOException { + final int lastIndex = input.length() - 1; + + assert lastIndex >= 0 : "@AssumeAssertion(index): input.length() is >= 1 by contract"; + + // is input not quoted? + if (input.charAt(0) != CSV_QUOTE || input.charAt(lastIndex) != CSV_QUOTE) { + writer.write(input.toString()); + return; + } + + // strip quotes + final String quoteless = input.subSequence(1, lastIndex).toString(); +\end{minted} + \section{Conclusions} +As evidenced by the Apache Common Text test suite and the previous section of +this report, no changes in the implementation behaviour are introduced in the +code by the refactor. Only extended type annotations and assertions (that hold +when executing the test suite) are added to the code. + {\color{red} Did using the checker help you find any bugs or other questionable design and implementation choices? diff --git a/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java b/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java index 1be864a..27279ce 100644 --- a/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java +++ b/sources/src/main/java/org/apache/commons/text/translate/CsvTranslators.java @@ -59,7 +59,6 @@ public final class CsvTranslators { @Override void translateWhole(final @MinLen(1) CharSequence input, final Writer writer) throws IOException { - final int oneIndex = 1; final int lastIndex = input.length() - 1; assert lastIndex >= 0 : "@AssumeAssertion(index): input.length() is >= 1 by contract"; @@ -70,12 +69,8 @@ public final class CsvTranslators { return; } - if (oneIndex >= input.length()) { - throw new IllegalArgumentException("input length should be at least 2"); - } - // strip quotes - final String quoteless = input.subSequence(oneIndex, lastIndex).toString(); + final String quoteless = input.subSequence(1, lastIndex).toString(); if (StringUtils.containsAny(quoteless, CSV_SEARCH_CHARS)) { // deal with escaped quotes; ie) ""