Buggy code:
public class CoverageTest extends CompatibilityTest implements URLHandler . URLVisitor { private static Class serializable ; public void init ( ) { } private Target head = new Target ( null ) ; private Target tail = head ; private String path ; public CoverageTest ( ) { } public CoverageTest ( String path ) { } private void writeFile ( String className , byte [ ] bytes ) { } private void add ( String className , int classModifiers , byte [ ] bytes ) { } public class CoverageTarget extends HandlerTarget { private byte [ ] bytes ; private int modifiers ; public CoverageTarget ( String className , int classModifiers , byte [ ] bytes ) { } public boolean validate ( ) { } public void execute ( ) throws Exception { } } public void visit ( String str ) { if ( ( CoverageTest . serializable ) == null ) { return ; } int ix = str . lastIndexOf ( ".class" ) ; if ( ix >= 0 ) { <START_BUG> String className = "com.ibm.icu." + ( str . substring ( 0 , ix ) . replace ( '//' , '.' ) ) ; <END_BUG> if ( className . startsWith ( "com.ibm.icu.dev." ) ) { return ; } try { Class c = Class . forName ( className ) ; int m = c . getModifiers ( ) ; if ( ( ! ( c . isEnum ( ) ) ) && ( CoverageTest . serializable . isAssignableFrom ( c ) ) ) { if ( ( Modifier . isPublic ( m ) ) && ( ! ( Modifier . isInterface ( m ) ) ) ) { SerializableTest . Handler handler = SerializableTest . getHandler ( className ) ; if ( handler != null ) { Object [ ] objectsOut = handler . getTestObjects ( ) ; ByteArrayOutputStream byteOut = new ByteArrayOutputStream ( ) ; ObjectOutputStream out = new ObjectOutputStream ( byteOut ) ; try { out . writeObject ( objectsOut ) ; out . close ( ) ; byteOut . close ( ) ; } catch ( IOException e ) { if ( ( str . equals ( "//text//PluralRules$FixedDecimal.class" ) ) && ( logKnownIssue ( "10268" , "Serializable<seq2seq4repair_space>interface<seq2seq4repair_space>is<seq2seq4repair_space>not<seq2seq4repair_space>implemented<seq2seq4repair_space>in<seq2seq4repair_space>PluralRules$FixedDecimal" ) ) ) { return ; } warnln ( ( "Error<seq2seq4repair_space>writing<seq2seq4repair_space>test<seq2seq4repair_space>objects:<seq2seq4repair_space>" + ( e . toString ( ) ) ) ) ; return ; } add ( className , m , byteOut . toByteArray ( ) ) ; } else { if ( ! ( Modifier . isAbstract ( m ) ) ) { errln ( ( "Missing<seq2seq4repair_space>test<seq2seq4repair_space>handler.<seq2seq4repair_space>Update<seq2seq4repair_space>the<seq2seq4repair_space>list<seq2seq4repair_space>of<seq2seq4repair_space>tests<seq2seq4repair_space>in<seq2seq4repair_space>SerializableTest.java<seq2seq4repair_space>to<seq2seq4repair_space>include<seq2seq4repair_space>a<seq2seq4repair_space>test<seq2seq4repair_space>case<seq2seq4repair_space>for<seq2seq4repair_space>" + className ) ) ; } else { add ( className , m , null ) ; } } } } } catch ( Exception e ) { e . printStackTrace ( ) ; warnln ( ( ( ( "coverage<seq2seq4repair_space>of<seq2seq4repair_space>" + className ) + ":<seq2seq4repair_space>" ) + ( e . toString ( ) ) ) ) ; } catch ( Throwable e ) { e . printStackTrace ( ) ; warnln ( ( ( ( "coverage<seq2seq4repair_space>of<seq2seq4repair_space>" + className ) + ":<seq2seq4repair_space>" ) + ( e . toString ( ) ) ) ) ; } } } protected Target getTargets ( String targetName ) { } public static void main ( String [ ] args ) { } }

Fix:
String className = "com.ibm.icu" + ( str . substring ( 0 , ix ) . replace ( '//' , '.' ) ) ;