[
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "Socket TaintExample.callReadInputStreamCauseTaintError(SSLSocketFactory)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.contentValuesPutWithTaintedString(ContentValues,SharedPreferences,String,String)"
  },
  {
    "bug_type": "CONTEXT_LEAK",
    "file": "codetoanalyze/java/infer/ContextLeaks.java",
    "procedure": "void ContextLeaks.directLeak()"
  },
  {
    "bug_type": "CONTEXT_LEAK",
    "file": "codetoanalyze/java/infer/ContextLeaks.java",
    "procedure": "ContextLeaks$Singleton ContextLeaks$Singleton.getInstance(Context)"
  },
  {
    "bug_type": "CONTEXT_LEAK",
    "file": "codetoanalyze/java/infer/ContextLeaks.java",
    "procedure": "void ContextLeaks.indirectLeak()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.interprocTaintErrorWithModelMethods1()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.interprocTaintErrorWithModelMethods2()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.interprocTaintErrorWithModelMethods3()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.interprocTaintErrorWithModelMethodsUndefined1()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.interprocTaintErrorWithModelMethodsUndefined2()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.interprocTaintErrorWithModelMethodsUndefined3()"
  },
  {
    "bug_type": "CONTEXT_LEAK",
    "file": "codetoanalyze/java/infer/ContextLeaks.java",
    "procedure": "void ContextLeaks.leakAfterInstanceFieldWrite()"
  },
  {
    "bug_type": "CONTEXT_LEAK",
    "file": "codetoanalyze/java/infer/ContextLeaks.java",
    "procedure": "void ContextLeaks.nonStaticInnerClassLeak()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.simpleTaintErrorWithModelMethods()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.simpleTaintErrorWithModelMethodsUndefined()"
  },
  {
    "bug_type": "CONTEXT_LEAK",
    "file": "codetoanalyze/java/infer/ContextLeaks.java",
    "procedure": "ContextLeaks$Singleton ContextLeaks.singletonLeak()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "InputStream TaintExample.socketIgnoreExceptionNoVerify(SSLSocketFactory)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "InputStream TaintExample.socketNotVerifiedSimple(SSLSocketFactory)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "InputStream TaintExample.socketVerifiedForgotToCheckRetval(SSLSocketFactory,HostnameVerifier,SSLSession)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "InputStream TaintExample.taintingShouldNotPreventInference1(SSLSocketFactory)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "InputStream TaintExample.taintingShouldNotPreventInference2(SSLSocketFactory)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testIntegritySinkAnnotReport(String)"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testIntegritySourceAnnot()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testIntegritySourceInstanceFieldAnnot()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testIntegritySourceStaticFieldAnnot()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testPrivacySinkAnnot1()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testPrivacySinkAnnot3()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testPrivacySourceAnnot()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testPrivacySourceFieldAnnotPropagation()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testPrivacySourceInstanceFieldAnnot()"
  },
  {
    "bug_type": "TAINTED_VALUE_REACHING_SENSITIVE_FUNCTION",
    "file": "codetoanalyze/java/infer/TaintExample.java",
    "procedure": "void TaintExample.testPrivacySourceStaticFieldAnnot()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "int NullPointerExceptions.NPEvalueOfFromHashmapBad(HashMap,int)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.activityObtainTypedArrayAndLeak(Activity)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.badCheckShouldCauseNPE()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.bufferedReaderNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.bufferedWriterNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CursorLeaks.java",
    "procedure": "int CursorLeaks.completeDownloadNotClosed(DownloadManager)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.contextObtainTypedArrayAndLeak(Context)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.copyFileLeak(File,File)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.copyFileLeak(File,File)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.cursorFromContentResolverNPE(String)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CursorLeaks.java",
    "procedure": "int CursorLeaks.cursorNotClosed(SQLiteDatabase)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.deflaterLeak()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.derefNull()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.derefNullableGetter()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.derefNullableRet(boolean)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.derefUndefNullableRet()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.derefUndefNullableRetWrapper()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.dereferenceAfterLoopOnList(NullPointerExceptions$L)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.dereferenceAfterUnlock1(Lock)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.dereferenceAfterUnlock2(Lock)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/Builtins.java",
    "procedure": "void Builtins.doNotBlockError(Object)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/DynamicDispatch.java",
    "procedure": "void DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "void CloseableAsResourceExample.failToCloseWithCloseQuietly()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/AnalysisStops.java",
    "procedure": "void AnalysisStops.fieldReadInCalleeMayCauseFalseNegative()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/AnalysisStops.java",
    "procedure": "void AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.fileInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.fileOutputStreamNotClosed()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.fileOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.fileOutputStreamOneLeak()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "int ResourceLeaks.fileOutputStreamTwoLeaks1(boolean)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.fileOutputStreamTwoLeaks2()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.fileOutputStreamTwoLeaks2()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.fileReaderNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.fileWriterNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CursorLeaks.java",
    "procedure": "int CursorLeaks.getBucketCountNotClosed()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CursorLeaks.java",
    "procedure": "int CursorLeaks.getImageCountHelperNotClosed(String)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/HashMapExample.java",
    "procedure": "int HashMapExample.getOneIntegerWithoutCheck()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/HashMapExample.java",
    "procedure": "void HashMapExample.getTwoIntegersWithOneCheck(Integer,Integer)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "String NullPointerExceptions.hashmapNPE(HashMap,Object)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.inflaterLeak()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.inputStreamReaderNotClosedAfterRead()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/DynamicDispatch.java",
    "procedure": "void DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/DynamicDispatch.java",
    "procedure": "void DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(DynamicDispatch$Interface)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "boolean ResourceLeaks.jarFileNotClosed()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.jarInputStreamLeak()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.jarOutputStreamLeak()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "void CloseableAsResourceExample.leakFoundWhenIndirectlyImplementingCloseable()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CursorLeaks.java",
    "procedure": "void CursorLeaks.loadPrefsFromContentProviderNotClosed()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.nestedBad1()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.nestedBad2()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.nestedBadJarInputStream(File)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.nestedBadJarOutputStream()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "void CloseableAsResourceExample.notClosingCloseable()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "void CloseableAsResourceExample.notClosingWrapper()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/AutoGenerated.java",
    "procedure": "void AutoGenerated.npe()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "int NullPointerExceptions.nullListFiles(String)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "int NullPointerExceptions.nullPointerException()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionArrayLength()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionCallArrayReadMethod()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[])"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "int NullPointerExceptions.nullPointerExceptionInterProc()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionUnlessFrameFails()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "int NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullArrayParameter()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullPointerExceptionWithNullObjectParameter()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "String NullPointerExceptions.nullTryLock(FileChannel)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullableFieldNPE()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.nullableParamNPE(Object)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.objectInputStreamClosedNestedBad()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.objectInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.objectOutputStreamClosedNestedBad()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.objectOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.openHttpURLConnectionNotDisconnected()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.openHttpsURLConnectionNotDisconnected()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.optionalNPE(Optional)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.otherSinkWithNeverNullSource()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.outputStreamWriterNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.parseFromInputStreamAndLeak(JsonFactory)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.pipedInputStreamNotClosedAfterRead(PipedOutputStream)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.pipedOutputStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.pipedReaderFalsePositive()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConnect(PipedWriter)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConnect(PipedReader)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterOutputStreamLeaks.java",
    "procedure": "void FilterOutputStreamLeaks.printStreamNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.printWriterNotClosedAfterAppend()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/FilterInputStreamLeaks.java",
    "procedure": "void FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.pushbackReaderNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CursorLeaks.java",
    "procedure": "void CursorLeaks.queryUVMLegacyDbNotClosed()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "int ResourceLeaks.readConfigNotCloseStream(String)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "String ResourceLeaks.readInstallationFileBad(File)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ReaderLeaks.java",
    "procedure": "void ReaderLeaks.readerNotClosedAfterRead()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.scannerNotClosed()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.serverSocketNotClosed()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.sinkWithNeverNullSource()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/AnalysisStops.java",
    "procedure": "void AnalysisStops.skipFunctionInLoopMayCauseFalseNegative()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "void CloseableAsResourceExample.skippedVritualCallDoesNotCloseResourceOnReceiver()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.socketNotClosed()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.someNPEAfterResourceLeak()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "T CloseableAsResourceExample.sourceOfNullWithResourceLeak()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.stringVarEqualsFalseNPE()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "String NullPointerExceptions.testSystemGetPropertyArgument()"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "void NullPointerExceptions.testSystemGetPropertyReturn()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.themeObtainTypedArrayAndLeak(Resources$Theme)"
  },
  {
    "bug_type": "NULL_DEREFERENCE",
    "file": "codetoanalyze/java/infer/NullPointerExceptions.java",
    "procedure": "String NullPointerExceptions.tryLockThrows(FileChannel)"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.twoResources()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.twoResourcesRandomAccessFile()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.twoResourcesServerSocket()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/CloseableAsResourceExample.java",
    "procedure": "void CloseableAsResourceExample.withException()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/WriterLeaks.java",
    "procedure": "void WriterLeaks.writerNotClosedAfterWrite()"
  },
  {
    "bug_type": "RESOURCE_LEAK",
    "file": "codetoanalyze/java/infer/ResourceLeaks.java",
    "procedure": "void ResourceLeaks.zipFileLeakExceptionalBranch()"
  }
]