Buggy code:
@ MJI public int init___3BIILjava_lang_String_2__Ljava_lang_String_2 ( MJIEnv env , int objRef , int bytesRef , int offset , int length , int charsetNameRef , FeatureExpr ctx ) throws UnsupportedEncodingException { } @ MJI public int init___3BII__Ljava_lang_String_2 ( MJIEnv env , int objRef , int bytesRef , int offset , int length , FeatureExpr ctx ) { } @ MJI public int codePointAt__I__I ( MJIEnv env , int objRef , int index , FeatureExpr ctx ) { } @ MJI public int codePointBefore__I__I ( MJIEnv env , int objRef , int index , FeatureExpr ctx ) { } @ MJI public int codePointCount__II__I ( MJIEnv env , int objRef , int beginIndex , int endIndex , FeatureExpr ctx ) { } @ MJI public int offsetByCodePoints__II__I ( MJIEnv env , int objRef , int index , int codePointOffset , FeatureExpr ctx ) { } @ MJI public void getChars__II_3CI__V ( MJIEnv env , int objRef , int srcBegin , int srcEnd , int dstRef , int dstBegin , FeatureExpr ctx ) { } @ SuppressWarnings ( "deprecation" ) @ MJI public void getBytes__II_3BI__V ( MJIEnv env , int objRef , int srcBegin , int srcEnd , int dstRef , int dstBegin , FeatureExpr ctx ) { } @ MJI public int getBytes__Ljava_lang_String_2___3B ( MJIEnv env , int objRef , int charSetRef , FeatureExpr ctx ) { } @ MJI public int getBytes_____3B ( MJIEnv env , int objRef , FeatureExpr ctx ) { } @ MJI public Conditional < Character > charAt__I__C ( final MJIEnv env , int objRef , final Conditional < Integer > index , FeatureExpr ctx ) { } @ MJI public boolean equals0___3C_3CI__Z ( MJIEnv env , int clsObjRef , int charsRef1 , int charsRef2 , int len , FeatureExpr ctx ) { } @ MJI public Conditional < Boolean > equals__Ljava_lang_Object_2__Z ( final MJIEnv env , final int objRef , Conditional < Integer > argRef , FeatureExpr ctx ) { } @ MJI public boolean equalsIgnoreCase__Ljava_lang_String_2__Z ( MJIEnv env , int objref , int anotherString , FeatureExpr ctx ) { } @ MJI public int compareTo__Ljava_lang_String_2__I ( MJIEnv env , int objRef , int anotherStringRef , FeatureExpr ctx ) { } @ MJI public int MJIcompare__Ljava_lang_String_2Ljava_lang_String_2__I ( MJIEnv env , int clsRef , int s1Ref , int s2Ref , FeatureExpr ctx ) { } @ MJI public boolean regionMatches__ILjava_lang_String_2II__Z ( MJIEnv env , int objRef , int toffset , int otherRef , int ooffset , int len , FeatureExpr ctx ) { } @ MJI public boolean regionMatches__ZILjava_lang_String_2II__Z ( MJIEnv env , int objRef , Conditional < Boolean > ignoreCase , Conditional < Integer > toffset , Conditional < Integer > otherRef , Conditional < Integer > ooffset , Conditional < Integer > len , FeatureExpr ctx ) { } @ MJI public boolean startsWith__Ljava_lang_String_2I__Z ( MJIEnv env , int objRef , int prefixRef , int toffset , FeatureExpr ctx ) { } @ MJI public boolean startsWith__Ljava_lang_String_2__Z ( MJIEnv env , int objRef , int prefixRef , FeatureExpr ctx ) { } @ MJI public Conditional < Integer > hashCode____I ( final MJIEnv env , final int objref , FeatureExpr ctx ) { } @ MJI public int indexOf__I__I ( MJIEnv env , int objref , int c , FeatureExpr ctx ) { } @ MJI public int indexOf__II__I ( MJIEnv env , int objref , int c , int fromIndex , FeatureExpr ctx ) { } @ MJI public int lastIndexOf__I__I ( MJIEnv env , int objref , int c , FeatureExpr ctx ) { } @ MJI public int lastIndexOf__II__I ( MJIEnv env , int objref , int c , int fromIndex , FeatureExpr ctx ) { int vref = env . getReferenceField ( ctx , objref , "value" ) . getValue ( ) ; ElementInfo ei = env . getElementInfo ( vref ) ; char [ ] values = ( ( CharArrayFields ) ( ei . getFields ( ) ) ) . asCharArray ( ) . getValue ( ) ; int len = values . length ; if ( fromIndex < 0 ) { return - 1 ; } if ( fromIndex > ( len - 1 ) ) { fromIndex = len - 1 ; } <START_BUG> for ( int i = fromIndex ; i > 0 ; i -- ) { <END_BUG> if ( ( values [ i ] ) == c ) { return i ; } } return - 1 ; } @ MJI public int indexOf__Ljava_lang_String_2__I ( MJIEnv env , int objref , int str , FeatureExpr ctx ) { } @ MJI public int indexOf__Ljava_lang_String_2I__I ( MJIEnv env , int objref , int str , int fromIndex , FeatureExpr ctx ) { } @ MJI public int lastIndexOf__Ljava_lang_String_2I__I ( MJIEnv env , int objref , int str , int fromIndex , FeatureExpr ctx ) { } @ MJI public int substring__I__Ljava_lang_String_2 ( MJIEnv env , int objRef , final Conditional < Integer > beginIndex , FeatureExpr ctx ) { } @ MJI public int substring__II__Ljava_lang_String_2 ( MJIEnv env , int objRef , final Conditional < Integer > beginIndex , final Conditional < Integer > endIndex , FeatureExpr ctx ) { } @ MJI public int concat__Ljava_lang_String_2__Ljava_lang_String_2 ( MJIEnv env , int objRef , int strRef , FeatureExpr ctx ) { } @ MJI public int replace__CC__Ljava_lang_String_2 ( MJIEnv env , int objRef , char oldChar , char newChar , FeatureExpr ctx ) { } @ MJI public boolean matches__Ljava_lang_String_2__Z ( MJIEnv env , int objRef , int regexRef , FeatureExpr ctx ) { } @ MJI public int replaceFirst__Ljava_lang_String_2Ljava_lang_String_2__Ljava_lang_String_2 ( MJIEnv env , int objRef , int regexRef , int replacementRef , FeatureExpr ctx ) { } @ MJI public int replaceAll__Ljava_lang_String_2Ljava_lang_String_2__Ljava_lang_String_2 ( MJIEnv env , int objRef , int regexRef , int replacementRef , FeatureExpr ctx ) { } @ MJI public int split__Ljava_lang_String_2I___3Ljava_lang_String_2 ( MJIEnv env , int clsObjRef , int strRef , int limit , FeatureExpr ctx ) { }

Fix:
for ( int i = fromIndex ; i >= 0 ; i -- ) {