Thanks a lot for your response.
It is the JVM that throws the 'GC overhead limit exceeded' exception that stems from a WALA method.
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit exceeded
at java.lang.AbstractStringBuilder.<init>(AbstractStringBuilder.java:68)
at java.lang.StringBuilder.<init>(StringBuilder.java:89)
at com.ibm.wala.types.TypeName$TypeNameKey.toUnicodeString(TypeName.java:319)
at com.ibm.wala.types.TypeName.toUnicodeString(TypeName.java:123)
at com.ibm.wala.types.Descriptor$Key.appendSemicolonIfNeeded(Descriptor.java:227)
at com.ibm.wala.types.Descriptor$Key.toString(Descriptor.java:200)
at com.ibm.wala.types.Descriptor.toString(Descriptor.java:109)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at com.ibm.wala.types.MethodReference.getSignature(MethodReference.java:223)
My guess is that the issue is due to the method 'UTF8Convert::fromUTF8' allocating a new Array every time it needs to construct the string. Rapid repeated invocation of this method can probably result in a frequent allocation/deallocation of the array resulting
in the GC being invoked very frequently. However, I might be wrong.