From a26fb42631fb3841138f322cb39959aa61e644bf Mon Sep 17 00:00:00 2001 From: Jules Villard Date: Wed, 29 Apr 2020 06:57:48 -0700 Subject: [PATCH] [biabd] less aggravating ant test Summary: The test for the ant integration used to import all of biabduction tests via a symlink. This is extremely annoying: whenever the biabduction tests change, so do the ant tests. Replace the ant tests with a simple single file project. Reviewed By: ngorogiannis Differential Revision: D21301450 fbshipit-source-id: 0d67d71d7 --- infer/tests/build_systems/ant/Makefile | 9 +- infer/tests/build_systems/ant/build.xml | 2 +- infer/tests/build_systems/ant/issues.exp | 186 +------------------ infer/tests/build_systems/ant/src | 1 - infer/tests/build_systems/ant/src/Hello.java | 13 ++ 5 files changed, 18 insertions(+), 193 deletions(-) delete mode 120000 infer/tests/build_systems/ant/src create mode 100644 infer/tests/build_systems/ant/src/Hello.java diff --git a/infer/tests/build_systems/ant/Makefile b/infer/tests/build_systems/ant/Makefile index 6d053596c..3953eac29 100644 --- a/infer/tests/build_systems/ant/Makefile +++ b/infer/tests/build_systems/ant/Makefile @@ -5,11 +5,11 @@ TESTS_DIR = ../.. -SOURCES = $(wildcard src/infer/*.java) -OBJECTS = $(patsubst %,ant_out/codetoanalyze/java/infer/%,$(notdir $(patsubst %.java,%.class,$(SOURCES)))) +SOURCES = $(wildcard src/*.java) CLASS_FILES = $(notdir $(patsubst %.java,%.class,$(SOURCES))) -OBJECTS = $(CLASS_FILES:%=ant_out/codetoanalyze/java/infer/%) +OBJECTS = $(CLASS_FILES:%=ant_out/%) INFERPRINT_OPTIONS = --issues-tests +CLEAN_EXTRA = ant-out include $(TESTS_DIR)/java.make include $(TESTS_DIR)/infer.make @@ -20,6 +20,3 @@ $(OBJECTS): $(SOURCES) infer-out/report.json: $(JAVA_DEPS) $(SOURCES) $(QUIET)$(call silent_on_success,Testing ant integration,\ $(INFER_BIN) --project-root $(TESTS_DIR) -- $(ANT)) - -clean: - $(REMOVE_DIR) ant_out diff --git a/infer/tests/build_systems/ant/build.xml b/infer/tests/build_systems/ant/build.xml index 8634cad9d..5f7dcebaa 100644 --- a/infer/tests/build_systems/ant/build.xml +++ b/infer/tests/build_systems/ant/build.xml @@ -6,7 +6,7 @@ - + diff --git a/infer/tests/build_systems/ant/issues.exp b/infer/tests/build_systems/ant/issues.exp index 6d2cb78a2..376146b5f 100644 --- a/infer/tests/build_systems/ant/issues.exp +++ b/infer/tests/build_systems/ant/issues.exp @@ -1,185 +1 @@ -codetoanalyze/java/infer/AnalysisStops.java, codetoanalyze.java.infer.AnalysisStops.fieldReadInCalleeMayCauseFalseNegative():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure fieldReadInCalleeMayCauseFalseNegative(),Skipping externalFunc2(): unknown method,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, codetoanalyze.java.infer.AnalysisStops.fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure fieldReadInCalleeWithAngelicObjFieldMayCauseFalseNegative(),Skipping externalFunc2(): unknown method,Definition of externalFunc2(),start of procedure derefParam(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/AnalysisStops.java, codetoanalyze.java.infer.AnalysisStops.skipFunctionInLoopMayCauseFalseNegative():void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure skipFunctionInLoopMayCauseFalseNegative(),Taking true branch,Skipping externalFunc(): unknown method,Definition of externalFunc(),Taking false branch] -codetoanalyze/java/infer/AutoGenerated.java, codetoanalyze.java.infer.AutoGenerated.npe():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npe()] -codetoanalyze/java/infer/Builtins.java, codetoanalyze.java.infer.Builtins.doNotBlockError(java.lang.Object):void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure doNotBlockError(...),Taking true branch] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.failToCloseWithCloseQuietly():void, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure failToCloseWithCloseQuietly(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): unknown method,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.leakFoundWhenIndirectlyImplementingCloseable():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure leakFoundWhenIndirectlyImplementingCloseable(),start of procedure CloseableAsResourceExample$MyResource(...),return from a call to CloseableAsResourceExample$MyResource.(CloseableAsResourceExample)] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.notClosingCloseable():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure notClosingCloseable(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.notClosingWrapper():void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure notClosingWrapper(),start of procedure Resource(),return from a call to Resource.(),start of procedure Sub(...),start of procedure Wrapper(...),return from a call to Wrapper.(Resource),return from a call to Sub.(Resource),start of procedure close(),return from a call to void Resource.close()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.skippedVritualCallDoesNotCloseResourceOnReceiver():void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure skippedVritualCallDoesNotCloseResourceOnReceiver(),start of procedure SomeResource(),return from a call to SomeResource.(),Skipping foo(...): unknown method,Definition of foo(...)] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.sourceOfNullWithResourceLeak():codetoanalyze.java.infer.T, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.()] -codetoanalyze/java/infer/CloseableAsResourceExample.java, codetoanalyze.java.infer.CloseableAsResourceExample.withException():void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure withException(),start of procedure SomeResource(),return from a call to SomeResource.(),start of procedure doSomething(),Skipping star(): unknown method,Definition of star(),Taking true branch,start of procedure LocalException(),return from a call to LocalException.(),exception codetoanalyze.java.infer.LocalException,return from a call to void SomeResource.doSomething()] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.completeDownloadNotClosed(android.app.DownloadManager):int, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure completeDownloadNotClosed(...),Taking false branch,Skipping getColumnIndex(...): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.cursorClosedCheckNullCheckClosed_FP(android.database.sqlite.SQLiteDatabase):java.lang.Object, 11, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure cursorClosedCheckNullCheckClosed_FP(...),Taking false branch,Skipping getString(...): unknown method,Taking true branch,Taking false branch] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.cursorNotClosed(android.database.sqlite.SQLiteDatabase):int, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure cursorNotClosed(...),Skipping getCount(): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.getBucketCountNotClosed():int, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure getBucketCountNotClosed(),Taking false branch,Taking false branch] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.getImageCountHelperNotClosed(java.lang.String):int, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure getImageCountHelperNotClosed(...),Taking true branch,Skipping getInt(...): unknown method] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.loadPrefsFromContentProviderNotClosed():void, 10, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure loadPrefsFromContentProviderNotClosed(),Taking false branch,Taking true branch] -codetoanalyze/java/infer/CursorLeaks.java, codetoanalyze.java.infer.CursorLeaks.queryUVMLegacyDbNotClosed():void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure queryUVMLegacyDbNotClosed(),Skipping setTables(...): unknown method,Taking true branch] -codetoanalyze/java/infer/CursorNPEs.java, codetoanalyze.java.infer.CursorNPEs.cursorFromContentResolverNPE(java.lang.String):void, 8, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure cursorFromContentResolverNPE(...)] -codetoanalyze/java/infer/CursorNPEs.java, codetoanalyze.java.infer.CursorNPEs.cursorFromDownloadManagerNPE(android.app.DownloadManager):int, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure cursorFromDownloadManagerNPE(...)] -codetoanalyze/java/infer/CursorNPEs.java, codetoanalyze.java.infer.CursorNPEs.cursorFromMediaNPE():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure cursorFromMediaNPE()] -codetoanalyze/java/infer/DoubleExample.java, codetoanalyze.java.infer.DoubleExample.testdReadNullableBad():java.lang.Double, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure testdReadNullableBad()] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch$WithField.dispatchOnFieldBad():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dispatchOnFieldBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure DynamicDispatch$WithField(...),return from a call to DynamicDispatch$WithField.(DynamicDispatch$Subtype),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.dynamicDispatchCallsWrapperWithSubtypeBad():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dynamicDispatchCallsWrapperWithSubtypeBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure dynamicDispatchWrapperFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperFoo(DynamicDispatch$Subtype)] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.dynamicDispatchCallsWrapperWithSupertypeBad():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dynamicDispatchCallsWrapperWithSupertypeBad(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),start of procedure dynamicDispatchWrapperBar(...),start of procedure bar(),return from a call to Object DynamicDispatch$Supertype.bar(),return from a call to Object DynamicDispatch.dynamicDispatchWrapperBar(DynamicDispatch$Supertype)] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.dynamicDispatchShouldNotCauseFalseNegativeEasy():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dynamicDispatchShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.dynamicDispatchShouldNotReportWhenCallingSupertype(codetoanalyze.java.infer.DynamicDispatch$Subtype):void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dynamicDispatchShouldNotReportWhenCallingSupertype(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.dynamicResolutionWithPrivateMethodBad():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dynamicResolutionWithPrivateMethodBad(),start of procedure DynamicDispatch$Subtype(),start of procedure DynamicDispatch$Supertype(),return from a call to DynamicDispatch$Supertype.(),return from a call to DynamicDispatch$Subtype.(),start of procedure callFoo(...),start of procedure foo(),return from a call to Object DynamicDispatch$Subtype.foo(),return from a call to Object DynamicDispatch.callFoo(DynamicDispatch$Subtype)] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.interfaceShouldNotCauseFalseNegativeEasy():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure interfaceShouldNotCauseFalseNegativeEasy(),start of procedure DynamicDispatch$Impl(),return from a call to DynamicDispatch$Impl.(),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] -codetoanalyze/java/infer/DynamicDispatch.java, codetoanalyze.java.infer.DynamicDispatch.interfaceShouldNotCauseFalseNegativeHard(codetoanalyze.java.infer.DynamicDispatch$Impl):void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure interfaceShouldNotCauseFalseNegativeHard(...),start of procedure foo(),return from a call to Object DynamicDispatch$Impl.foo()] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.bufferedInputStreamNotClosedAfterRead():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure bufferedInputStreamNotClosedAfterRead(),Skipping BufferedInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.checkedInputStreamNotClosedAfterRead():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure checkedInputStreamNotClosedAfterRead(),Skipping CheckedInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.cipherInputStreamNotClosedAfterSkip():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure cipherInputStreamNotClosedAfterSkip(),Skipping CipherInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.dataInputStreamNotClosedAfterRead():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure dataInputStreamNotClosedAfterRead(),Skipping DataInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.deflaterInputStreamNotClosedAfterRead():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure deflaterInputStreamNotClosedAfterRead(),Skipping DeflaterInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.digestInputStreamNotClosedAfterRead():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure digestInputStreamNotClosedAfterRead(),Skipping DigestInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead():void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure gzipInputStreamNotClosedAfterRead()] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.gzipInputStreamNotClosedAfterRead():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure gzipInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.inflaterInputStreamNotClosedAfterRead():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure inflaterInputStreamNotClosedAfterRead(),Skipping InflaterInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterInputStreamLeaks.java, codetoanalyze.java.infer.FilterInputStreamLeaks.pushbackInputStreamNotClosedAfterRead():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pushbackInputStreamNotClosedAfterRead(),Skipping PushbackInputStream(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.bufferedOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure bufferedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.checkedOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure checkedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.cipherOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure cipherOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.dataOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure dataOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.deflaterOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure deflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.digestOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure digestOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.filterOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure filterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush():void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush()] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.gzipOutputStreamNotClosedAfterFlush():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure gzipOutputStreamNotClosedAfterFlush(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.inflaterOutputStreamNotClosedAfterWrite():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure inflaterOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/FilterOutputStreamLeaks.java, codetoanalyze.java.infer.FilterOutputStreamLeaks.printStreamNotClosedAfterWrite():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure printStreamNotClosedAfterWrite()] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample$Sub.badSub():void, 491, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.xForSub`,,access to `this.xForSub`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.badGuardedByNormalLock():void, 526, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.guardedbynl`,,access to `this.guardedbynl`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.badGuardedByReentrantLock():void, 530, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.guardedbyrel`,,access to `this.guardedbyrel`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.byRefTrickyBad():java.lang.Object, 281, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.g`,,access to `this.g`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.guardedByTypeSyntaxBad():void, 573, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.guardedByLock1`,,access to `this.guardedByLock1`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.guardedByTypeSyntaxBad():void, 574, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.guardedByLock2`,,access to `this.guardedByLock2`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFAfterBlockBad():void, 98, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFBad():void, 66, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFBadButSuppressed():void, 71, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFBadButSuppressedOther():void, 76, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFBadWrongAnnotation():void, 109, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFBadWrongLock():void, 85, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFOkMethodAnnotated():void, 114, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readFOkSynchronized():void, 127, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.readGFromCopyOk():void, 267, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.mCopyOfG`,,access to `this.mCopyOfG`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.reassignCopyOk():void, 149, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [access to `this.mCopyOfG`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.synchronizedMethodReadBad():void, 138, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.synchronizedOnThisBad():void, 205, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `infer.GuardedByExample.sGuardedByClass`,,access to `infer.GuardedByExample.sGuardedByClass`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.writeFAfterBlockBad():void, 104, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [access to `this.f`] -codetoanalyze/java/infer/GuardedByExample.java, codetoanalyze.java.infer.GuardedByExample.writeFBad():void, 80, THREAD_SAFETY_VIOLATION, no_bucket, WARNING, [,access to `this.f`,,access to `this.f`] -codetoanalyze/java/infer/HashMapExample.java, codetoanalyze.java.infer.HashMapExample.getAfterClearBad():void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure getAfterClearBad()] -codetoanalyze/java/infer/HashMapExample.java, codetoanalyze.java.infer.HashMapExample.getAfterRemovingTheKeyBad():void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure getAfterRemovingTheKeyBad()] -codetoanalyze/java/infer/HashMapExample.java, codetoanalyze.java.infer.HashMapExample.getFromKeySetGood_FP(java.util.HashMap):void, 2, INEFFICIENT_KEYSET_ITERATOR, no_bucket, ERROR, [Accessing a value using a key that was retrieved from a `keySet` iterator. It is more efficient to use an iterator on the `entrySet` of the map, avoiding the extra `HashMap.get(key)` lookup.] -codetoanalyze/java/infer/HashMapExample.java, codetoanalyze.java.infer.HashMapExample.getFromKeySetGood_FP(java.util.HashMap):void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure getFromKeySetGood_FP(...),Taking true branch] -codetoanalyze/java/infer/HashMapExample.java, codetoanalyze.java.infer.HashMapExample.getOneIntegerWithoutCheck():int, 6, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure getOneIntegerWithoutCheck()] -codetoanalyze/java/infer/HashMapExample.java, codetoanalyze.java.infer.HashMapExample.getTwoIntegersWithOneCheck(java.lang.Integer,java.lang.Integer):void, 8, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure getTwoIntegersWithOneCheck(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/IntegerExample.java, codetoanalyze.java.infer.IntegerExample.testIntegerEqualsBad():void, 6, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure testIntegerEqualsBad(),Taking true branch] -codetoanalyze/java/infer/InvokeDynamic.java, codetoanalyze.java.infer.InvokeDynamic.invokeDynamicThenNpeBad(java.util.List):void, 7, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure invokeDynamicThenNpeBad(...),start of procedure callsite_codetoanalyze.java.infer.InvokeDynamic$Lambda$_3_3(),return from a call to Comparator InvokeDynamic.callsite_codetoanalyze.java.infer.InvokeDynamic$Lambda$_3_3(),Skipping sort(...): unknown method] -codetoanalyze/java/infer/InvokeDynamic.java, codetoanalyze.java.infer.InvokeDynamic.lambda$npeInLambdaBad$1(java.lang.String,java.lang.String):int, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure lambda$npeInLambdaBad$1(...)] -codetoanalyze/java/infer/Lists.java, codetoanalyze.java.infer.Lists.clearCausesEmptinessNPE(java.util.List,int):void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure clearCausesEmptinessNPE(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/Lists.java, codetoanalyze.java.infer.Lists.getElementNPE(java.util.List):void, 4, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure getElementNPE(...),Taking false branch,start of procedure getElement(...),Taking true branch,return from a call to Object Lists.getElement(List)] -codetoanalyze/java/infer/Lists.java, codetoanalyze.java.infer.Lists.removeInvalidatesNonEmptinessNPE(java.util.List,int):void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure removeInvalidatesNonEmptinessNPE(...),Taking true branch,Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions$$$Class$Name$With$Dollars.npeWithDollars():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure npeWithDollars()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions$E.dereferenceNullableInterfaceFieldBad():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dereferenceNullableInterfaceFieldBad()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.NPEvalueOfFromHashmapBad(java.util.HashMap,int):int, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure NPEvalueOfFromHashmapBad(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.addNullToImmutableListBuilderBad():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure addNullToImmutableListBuilderBad(),Skipping builder(): unknown method,start of procedure getObject(),return from a call to Object NullPointerExceptions.getObject()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.badCheckShouldCauseNPE():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure badCheckShouldCauseNPE(),start of procedure getBool(),Skipping test(): unknown method,Definition of test(),Taking true branch,return from a call to Boolean NullPointerExceptions.getBool(),Taking true branch,start of procedure getObj(),Skipping test(): unknown method,Definition of test(),Taking false branch,return from a call to Object NullPointerExceptions.getObj()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.cursorFromContentResolverNPE(java.lang.String):void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure cursorFromContentResolverNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.deferenceNullableMethodCallingSkippedMethodBad():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure deferenceNullableMethodCallingSkippedMethodBad(),start of procedure wrapUnknownFuncWithNullable(),Skipping unknownFunc(): unknown method,Definition of unknownFunc(),return from a call to Object NullPointerExceptions.wrapUnknownFuncWithNullable()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.derefNull():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure derefNull(),start of procedure derefUndefinedCallee(),start of procedure retUndefined(),return from a call to Object NullPointerExceptions.retUndefined(),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.derefUndefinedCallee()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.derefNullableGetter():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure derefNullableGetter(),start of procedure nullableGetter(),return from a call to Object NullPointerExceptions.nullableGetter()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.derefNullableRet(boolean):void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure derefNullableRet(...),start of procedure nullableRet(...),Taking true branch,return from a call to Object NullPointerExceptions.nullableRet(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.derefUndefNullableRet():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure derefUndefNullableRet(),Skipping undefNullableRet(): unknown method,Definition of undefNullableRet()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.derefUndefNullableRetWrapper():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure derefUndefNullableRetWrapper(),start of procedure undefNullableWrapper(),Skipping undefNullableRet(): unknown method,Definition of undefNullableRet(),return from a call to Object NullPointerExceptions.undefNullableWrapper()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.dereferenceAfterLoopOnList(codetoanalyze.java.infer.NullPointerExceptions$L):void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dereferenceAfterLoopOnList(...),start of procedure returnsNullAfterLoopOnList(...),Taking true branch,Taking true branch,Taking false branch,return from a call to Object NullPointerExceptions.returnsNullAfterLoopOnList(NullPointerExceptions$L)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.dereferenceAfterUnlock1(java.util.concurrent.locks.Lock):void, 4, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dereferenceAfterUnlock1(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.dereferenceAfterUnlock2(java.util.concurrent.locks.Lock):void, 6, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure dereferenceAfterUnlock2(...),Skipping toString(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.hashmapNPE(java.util.HashMap,java.lang.Object):java.lang.String, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure hashmapNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullDerefernceReturnOfSkippedFunctionBad():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullDerefernceReturnOfSkippedFunctionBad(),Skipping unknownFunc(): unknown method,Definition of unknownFunc(),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullListFiles(java.lang.String):int, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullListFiles(...),Skipping File(...): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerException():int, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerException()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionArrayLength():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionArrayLength()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionCallArrayReadMethod():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionCallArrayReadMethod(),start of procedure arrayReadShouldNotCauseSymexMemoryError(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.arrayReadShouldNotCauseSymexMemoryError(int)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionFromFailingFileOutputStreamConstructor():void, 7, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionFromFailingFileOutputStreamConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionFromFaillingResourceConstructor():void, 6, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionFromFaillingResourceConstructor(),exception java.io.FileNotFoundException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionInArrayLengthLoop(java.lang.Object[]):void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionInArrayLengthLoop(...),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionInterProc():int, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionInterProc(),start of procedure canReturnNullObject(...),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),Taking false branch,return from a call to NullPointerExceptions$A NullPointerExceptions.canReturnNullObject(boolean)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionUnlessFrameFails():void, 4, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionUnlessFrameFails(),start of procedure NullPointerExceptions$A(...),return from a call to NullPointerExceptions$A.(NullPointerExceptions),start of procedure frame(...),start of procedure id_generics(...),Skipping toString(): unknown method,return from a call to Object NullPointerExceptions.id_generics(NullPointerExceptions$A),return from a call to NullPointerExceptions$A NullPointerExceptions.frame(NullPointerExceptions$A),Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionWithExceptionHandling(boolean):int, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionWithExceptionHandling(...),exception java.lang.Exception,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionWithNullArrayParameter():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionWithNullArrayParameter(),start of procedure expectNotNullArrayParameter(...),Skipping clone(): unknown method] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullPointerExceptionWithNullObjectParameter():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullPointerExceptionWithNullObjectParameter(),start of procedure expectNotNullObjectParameter(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullTryLock(java.nio.channels.FileChannel):java.lang.String, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullTryLock(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullableFieldNPE():void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullableFieldNPE()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.nullableParamNPE(java.lang.Object):void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure nullableParamNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.optionalNPE(com.google.common.base.Optional):void, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure optionalNPE(...)] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.otherSinkWithNeverNullSource():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure otherSinkWithNeverNullSource(),start of procedure SomeLibrary(),return from a call to SomeLibrary.(),start of procedure get(),Taking true branch,return from a call to T SomeLibrary.get()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.sinkWithNeverNullSource():void, 3, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure sinkWithNeverNullSource(),start of procedure NeverNullSource(),return from a call to NeverNullSource.(),start of procedure get(),Taking true branch,return from a call to T NeverNullSource.get()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.someNPEAfterResourceLeak():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure someNPEAfterResourceLeak(),start of procedure sourceOfNullWithResourceLeak(),start of procedure SomeResource(),return from a call to SomeResource.(),return from a call to T CloseableAsResourceExample.sourceOfNullWithResourceLeak()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.stringConstantEqualsFalseNotNPE_FP():void, 10, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure stringConstantEqualsFalseNotNPE_FP(),Taking false branch] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.stringVarEqualsFalseNPE():void, 5, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure stringVarEqualsFalseNPE(),start of procedure getString2(),return from a call to String NullPointerExceptions.getString2(),Skipping toString(): unknown method,Taking true branch] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.testSystemGetPropertyArgument():java.lang.String, 1, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure testSystemGetPropertyArgument()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.testSystemGetPropertyReturn():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure testSystemGetPropertyReturn()] -codetoanalyze/java/infer/NullPointerExceptions.java, codetoanalyze.java.infer.NullPointerExceptions.tryLockThrows(java.nio.channels.FileChannel):java.lang.String, 6, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure tryLockThrows(...),exception java.io.IOException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.bufferedReaderNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure bufferedReaderNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.fileReaderNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileReaderNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.inputStreamReaderNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure inputStreamReaderNotClosedAfterRead(),Skipping InputStreamReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.pipedReaderFalsePositive():void, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedReaderFalsePositive()] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.pipedReaderNotClosedAfterConnect(java.io.PipedWriter):void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedReaderNotClosedAfterConnect(...),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.pipedReaderNotClosedAfterConstructedWithWriter():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedReaderNotClosedAfterConstructedWithWriter(),exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.pushbackReaderNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pushbackReaderNotClosedAfterRead(),Skipping PushbackReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ReaderLeaks.java, codetoanalyze.java.infer.ReaderLeaks.readerNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure readerNotClosedAfterRead(),Skipping FileReader(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.activityObtainTypedArrayAndLeak(android.app.Activity):void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure activityObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.contextObtainTypedArrayAndLeak(android.content.Context):void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure contextObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.copyFileLeak(java.io.File,java.io.File):void, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure copyFileLeak(...),exception java.io.FileNotFoundException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.copyFileLeak(java.io.File,java.io.File):void, 9, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure copyFileLeak(...),Skipping transferTo(...): unknown method,Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.deflaterLeak():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure deflaterLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileInputStreamNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamNotClosed():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamNotClosedAfterWrite():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamOneLeak():void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamOneLeak(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamTwoLeaks1(boolean):int, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamTwoLeaks1(...),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamTwoLeaks1(boolean):int, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamTwoLeaks1(...),Taking false branch] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamTwoLeaks2():void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.fileOutputStreamTwoLeaks2():void, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileOutputStreamTwoLeaks2(),Taking true branch] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.inflaterLeak():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure inflaterLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.jarFileNotClosed():boolean, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure jarFileNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.jarInputStreamLeak():void, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure jarInputStreamLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.jarOutputStreamLeak():void, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure jarOutputStreamLeak()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.nestedBad1():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure nestedBad1()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.nestedBad2():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure nestedBad2()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.nestedBadJarInputStream(java.io.File):void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure nestedBadJarInputStream(...)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.nestedBadJarOutputStream():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure nestedBadJarOutputStream()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.objectInputStreamClosedNestedBad():void, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure objectInputStreamClosedNestedBad()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.objectInputStreamNotClosedAfterRead():void, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure objectInputStreamNotClosedAfterRead()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.objectInputStreamNotClosedAfterRead():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure objectInputStreamNotClosedAfterRead(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.objectOutputStreamClosedNestedBad():void, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure objectOutputStreamClosedNestedBad()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.objectOutputStreamNotClosedAfterWrite():void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure objectOutputStreamNotClosedAfterWrite()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.objectOutputStreamNotClosedAfterWrite():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure objectOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.openHttpURLConnectionNotDisconnected():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure openHttpURLConnectionNotDisconnected()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.openHttpsURLConnectionNotDisconnected():void, 3, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure openHttpsURLConnectionNotDisconnected()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.parseFromInputStreamAndLeak(com.fasterxml.jackson.core.JsonFactory):void, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure parseFromInputStreamAndLeak(...)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.parseFromStringAndNotClose(com.fasterxml.jackson.core.JsonFactory):void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure parseFromStringAndNotClose(...)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.pipedInputStreamNotClosedAfterRead(java.io.PipedOutputStream):void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedInputStreamNotClosedAfterRead(...),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.pipedOutputStreamNotClosedAfterWrite():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedOutputStreamNotClosedAfterWrite(),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.readConfigNotCloseStream(java.lang.String):int, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure readConfigNotCloseStream(...)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.readInstallationFileBad(java.io.File):java.lang.String, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure readInstallationFileBad(...),exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.scannerNotClosed():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure scannerNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.serverSocketNotClosed():void, 11, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure serverSocketNotClosed(),Skipping ServerSocket(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.socketNotClosed():void, 1, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure socketNotClosed()] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.themeObtainTypedArrayAndLeak(android.content.res.Resources$Theme):void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure themeObtainTypedArrayAndLeak(...),start of procedure ignore(...),return from a call to void ResourceLeaks.ignore(TypedArray)] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.twoResources():void, 11, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure twoResources(),Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.twoResourcesRandomAccessFile():void, 10, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure twoResourcesRandomAccessFile(),Taking true branch,exception java.io.IOException] -codetoanalyze/java/infer/ResourceLeaks.java, codetoanalyze.java.infer.ResourceLeaks.zipFileLeakExceptionalBranch():void, 5, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure zipFileLeakExceptionalBranch(),exception java.io.IOException,Switch condition is true. Entering switch case] -codetoanalyze/java/infer/SuppressLintExample.java, codetoanalyze.java.infer.SuppressAllWarnigsInTheClass.shouldNotReportNPE():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure shouldNotReportNPE()] -codetoanalyze/java/infer/SuppressLintExample.java, codetoanalyze.java.infer.SuppressAllWarnigsInTheClass.shouldNotReportResourceLeak():void, 2, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure shouldNotReportResourceLeak()] -codetoanalyze/java/infer/SuppressLintExample.java, codetoanalyze.java.infer.SuppressLintExample.shouldReportNPE():void, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure shouldReportNPE()] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.bufferedWriterNotClosedAfterWrite():void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure bufferedWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,Skipping BufferedWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.fileWriterNotClosedAfterWrite():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure fileWriterNotClosedAfterWrite(),Skipping FileWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.outputStreamWriterNotClosedAfterWrite():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure outputStreamWriterNotClosedAfterWrite(),Skipping OutputStreamWriter(...): unknown method,exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.pipedWriterNotClosedAfterConnect(java.io.PipedReader):void, 7, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedWriterNotClosedAfterConnect(...),exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.pipedWriterNotClosedAfterConstructedWithReader():void, 8, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure pipedWriterNotClosedAfterConstructedWithReader(),exception java.io.IOException] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.printWriterNotClosedAfterAppend():void, 4, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure printWriterNotClosedAfterAppend(),Skipping PrintWriter(...): unknown method] -codetoanalyze/java/infer/WriterLeaks.java, codetoanalyze.java.infer.WriterLeaks.writerNotClosedAfterWrite():void, 6, RESOURCE_LEAK, no_bucket, ERROR, [start of procedure writerNotClosedAfterWrite(),Skipping PrintWriter(...): unknown method,exception java.io.IOException] +build_systems/ant/src/Hello.java, Hello.test():int, 2, NULL_DEREFERENCE, no_bucket, ERROR, [start of procedure test()] diff --git a/infer/tests/build_systems/ant/src b/infer/tests/build_systems/ant/src deleted file mode 120000 index 08d1883bd..000000000 --- a/infer/tests/build_systems/ant/src +++ /dev/null @@ -1 +0,0 @@ -../../codetoanalyze/java \ No newline at end of file diff --git a/infer/tests/build_systems/ant/src/Hello.java b/infer/tests/build_systems/ant/src/Hello.java new file mode 100644 index 000000000..3f6e5774e --- /dev/null +++ b/infer/tests/build_systems/ant/src/Hello.java @@ -0,0 +1,13 @@ +/* + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +class Hello { + int test() { + String s = null; + return s.length(); + } +}