Buggy code:
@ SuppressWarnings ( "serial" ) public class StaticMethod implements Serializable { private String smaliSignature ; private String declaringClass ; private String returnType ; private int localVariableCount = 0 ; private boolean isPublic ; private boolean isPrivate ; private boolean isProtected ; private boolean isStatic ; private boolean isFinal ; private boolean isConstructor ; private String smaliCode ; private ArrayList < StaticStmt > smaliStmts = new ArrayList < StaticStmt > ( ) ; private ArrayList < String > parameterTypes = new ArrayList < String > ( ) ; private ArrayList < String > parameterNames = new ArrayList < String > ( ) ; private ArrayList < Integer > sourceLineNumbers = new ArrayList < Integer > ( ) ; private int returnLineNumber ; private ArrayList < String > inCallSourceSigs = new ArrayList < String > ( ) ; private ArrayList < String > outCallTargetSigs = new ArrayList < String > ( ) ; private ArrayList < String > fieldRefSigs = new ArrayList < String > ( ) ; private Map < String , String > vDebugInfo = new HashMap < String , String > ( ) ; private ArrayList < PathSummary > pathSummaries = new ArrayList < PathSummary > ( ) ; public String getSmaliSignature ( ) { } public String getSmaliSubSignature ( ) { <START_BUG> return this . smaliSignature . substring ( 1 , ( ( smaliSignature . length ( ) ) - 1 ) ) . split ( "->" ) [ 1 ] ; <END_BUG> } public String getName ( ) { } public void setSmaliSignature ( String smaliSignature ) { } public StaticClass getDeclaringClass ( StaticApp testApp ) { } public void setDeclaringClass ( String declaringClass ) { } public boolean isPublic ( ) { } public void setPublic ( boolean isPublic ) { } public boolean isPrivate ( ) { } public void setPrivate ( boolean isPrivate ) { } public boolean isProtected ( ) { } public void setProtected ( boolean isProtected ) { } public boolean isInstance ( ) { } public boolean isStatic ( ) { } public void setStatic ( boolean isStatic ) { } public String getSmaliCode ( ) { } public void setSmaliCode ( String smaliCode ) { } public ArrayList < StaticStmt > getSmaliStmts ( ) { } public void addSmaliStmt ( StaticStmt s ) { } public ArrayList < Integer > getSourceLineNumbers ( ) { } public void setSourceLineNumbers ( ArrayList < Integer > sourceLineNumbers ) { } public void addSourceLineNumber ( int srcLineNumber ) { } public ArrayList < String > getInCallSourceSigs ( ) { } public void addInCallSourceSig ( String srcSig ) { } public ArrayList < String > getOutCallTargetSigs ( ) { } public void addOutCallTargetSigs ( String tgtSig ) { } public ArrayList < String > getFieldRefSigs ( ) { } public void addFieldRefSigs ( String fieldRefSig ) { } public boolean isConstructor ( ) { } public void setConstructor ( boolean isConstructor ) { } public boolean isFinal ( ) { } public void setFinal ( boolean isFinal ) { } public ArrayList < String > getParameterTypes ( ) { } public void setParameterTypes ( ArrayList < String > parameterTypes ) { } public String getReturnType ( ) { } public void setReturnType ( String returnType ) { } public ArrayList < String > getParameterNames ( ) { } public void addParameterName ( String pN ) { } public int getLocalVariableCount ( ) { } public void setLocalVariableCount ( int localVariableCount ) { } public int getReturnLineNumber ( ) { } public void setReturnLineNumber ( int returnLineNumber ) { } public StaticStmt getStmtByLineNumber ( int line ) { } public Map < String , String > getvDebugInfo ( ) { } public void addvDebugInfo ( String localName , String debugName ) { } public int getFirstLineNumberOfBlock ( String label ) { } public StaticStmt getFirstStmtOfBlock ( String label ) { } public ArrayList < PathSummary > getPathSummaries ( ) { } public void setPathSummaries ( ArrayList < PathSummary > pathSummaries ) { } }

Fix:
return this . smaliSignature . split ( "->" ) [ 1 ] ;