./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/goblint-regression/09-regions_11-arraylist_nr.i --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 48c9605d Calling Ultimate with: /root/.sdkman/candidates/java/21.0.5-tem/bin/java -Dosgi.configuration.area=/storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.6.800.v20240513-1750.jar -data @noDefault -ultimatedata /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/goblint-regression/09-regions_11-arraylist_nr.i -s /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash c4f9d381010c40c0aeec814019363f065d1b11569cf33ee927950bcd4ef29f20 --- Real Ultimate output --- This is Ultimate 0.3.0-?-48c9605-m [2025-02-08 08:29:20,773 INFO L188 SettingsManager]: Resetting all preferences to default values... [2025-02-08 08:29:20,810 INFO L114 SettingsManager]: Loading settings from /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2025-02-08 08:29:20,813 WARN L101 SettingsManager]: Preference file contains the following unknown settings: [2025-02-08 08:29:20,813 WARN L103 SettingsManager]: * de.uni_freiburg.informatik.ultimate.core.Log level for class [2025-02-08 08:29:20,829 INFO L130 SettingsManager]: Preferences different from defaults after loading the file: [2025-02-08 08:29:20,829 INFO L151 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2025-02-08 08:29:20,830 INFO L153 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2025-02-08 08:29:20,830 INFO L151 SettingsManager]: Preferences of Boogie Preprocessor differ from their defaults: [2025-02-08 08:29:20,830 INFO L153 SettingsManager]: * Use memory slicer=true [2025-02-08 08:29:20,830 INFO L151 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2025-02-08 08:29:20,830 INFO L153 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2025-02-08 08:29:20,830 INFO L151 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * Create parallel compositions if possible=false [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * Use SBE=true [2025-02-08 08:29:20,831 INFO L151 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * sizeof long=4 [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * Overapproximate operations on floating types=true [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * sizeof POINTER=4 [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * Check division by zero=IGNORE [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * Bitprecise bitfields=true [2025-02-08 08:29:20,831 INFO L153 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Check unreachability of reach_error function=false [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * sizeof long double=12 [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Behaviour of calls to undefined functions=OVERAPPROXIMATE_BEHAVIOUR [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Use constant arrays=true [2025-02-08 08:29:20,832 INFO L151 SettingsManager]: Preferences of IcfgBuilder differ from their defaults: [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Size of a code block=SequenceOfStatements [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Only consider context switches at boundaries of atomic blocks=true [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * SMT solver=External_DefaultMode [2025-02-08 08:29:20,832 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-08 08:29:20,832 INFO L151 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Trace refinement strategy=CAMEL [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Order on configurations for Petri net unfoldings=DBO [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2025-02-08 08:29:20,833 INFO L153 SettingsManager]: * Looper check in Petri net analysis=SEMANTIC Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> c4f9d381010c40c0aeec814019363f065d1b11569cf33ee927950bcd4ef29f20 [2025-02-08 08:29:21,000 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2025-02-08 08:29:21,005 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2025-02-08 08:29:21,007 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2025-02-08 08:29:21,007 INFO L270 PluginConnector]: Initializing CDTParser... [2025-02-08 08:29:21,007 INFO L274 PluginConnector]: CDTParser initialized [2025-02-08 08:29:21,008 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/goblint-regression/09-regions_11-arraylist_nr.i [2025-02-08 08:29:22,277 INFO L533 CDTParser]: Created temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/32d219d77/8db313dd2f2646b99065890e4f573bcd/FLAG3aed95636 [2025-02-08 08:29:22,605 INFO L384 CDTParser]: Found 1 translation units. [2025-02-08 08:29:22,606 INFO L180 CDTParser]: Scanning /storage/repos/ultimate-jdk21/releaseScripts/default/sv-benchmarks/c/goblint-regression/09-regions_11-arraylist_nr.i [2025-02-08 08:29:22,621 INFO L427 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/32d219d77/8db313dd2f2646b99065890e4f573bcd/FLAG3aed95636 [2025-02-08 08:29:22,865 INFO L435 CDTParser]: Successfully deleted /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/data/32d219d77/8db313dd2f2646b99065890e4f573bcd [2025-02-08 08:29:22,867 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2025-02-08 08:29:22,868 INFO L133 ToolchainWalker]: Walking toolchain with 6 elements. [2025-02-08 08:29:22,869 INFO L112 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2025-02-08 08:29:22,869 INFO L270 PluginConnector]: Initializing CACSL2BoogieTranslator... [2025-02-08 08:29:22,872 INFO L274 PluginConnector]: CACSL2BoogieTranslator initialized [2025-02-08 08:29:22,872 INFO L184 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.02 08:29:22" (1/1) ... [2025-02-08 08:29:22,873 INFO L204 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@43f12766 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:22, skipping insertion in model container [2025-02-08 08:29:22,873 INFO L184 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 08.02 08:29:22" (1/1) ... [2025-02-08 08:29:22,899 INFO L175 MainTranslator]: Built tables and reachable declarations [2025-02-08 08:29:23,237 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-08 08:29:23,277 INFO L200 MainTranslator]: Completed pre-run [2025-02-08 08:29:23,318 INFO L210 PostProcessor]: Analyzing one entry point: main [2025-02-08 08:29:23,367 INFO L204 MainTranslator]: Completed translation [2025-02-08 08:29:23,367 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23 WrapperNode [2025-02-08 08:29:23,367 INFO L131 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2025-02-08 08:29:23,368 INFO L112 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2025-02-08 08:29:23,369 INFO L270 PluginConnector]: Initializing Boogie Procedure Inliner... [2025-02-08 08:29:23,369 INFO L274 PluginConnector]: Boogie Procedure Inliner initialized [2025-02-08 08:29:23,375 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,398 INFO L184 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,414 INFO L138 Inliner]: procedures = 372, calls = 88, calls flagged for inlining = 9, calls inlined = 9, statements flattened = 182 [2025-02-08 08:29:23,415 INFO L131 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2025-02-08 08:29:23,415 INFO L112 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2025-02-08 08:29:23,415 INFO L270 PluginConnector]: Initializing Boogie Preprocessor... [2025-02-08 08:29:23,415 INFO L274 PluginConnector]: Boogie Preprocessor initialized [2025-02-08 08:29:23,421 INFO L184 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,421 INFO L184 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,424 INFO L184 PluginConnector]: Executing the observer MemorySlicer from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,435 INFO L175 MemorySlicer]: Split 78 memory accesses to 3 slices as follows [50, 14, 14]. 64 percent of accesses are in the largest equivalence class. The 60 initializations are split as follows [50, 10, 0]. The 11 writes are split as follows [0, 1, 10]. [2025-02-08 08:29:23,435 INFO L184 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,435 INFO L184 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,452 INFO L184 PluginConnector]: Executing the observer ReplaceArrayAssignments from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,454 INFO L184 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,455 INFO L184 PluginConnector]: Executing the observer LTLStepAnnotator from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,456 INFO L184 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,462 INFO L131 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2025-02-08 08:29:23,465 INFO L112 PluginConnector]: ------------------------IcfgBuilder---------------------------- [2025-02-08 08:29:23,466 INFO L270 PluginConnector]: Initializing IcfgBuilder... [2025-02-08 08:29:23,466 INFO L274 PluginConnector]: IcfgBuilder initialized [2025-02-08 08:29:23,466 INFO L184 PluginConnector]: Executing the observer IcfgBuilderObserver from plugin IcfgBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (1/1) ... [2025-02-08 08:29:23,473 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 [2025-02-08 08:29:23,481 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 08:29:23,493 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (exit command is (exit), workingDir is null) [2025-02-08 08:29:23,498 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Waiting until timeout for monitored process [2025-02-08 08:29:23,510 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#0 [2025-02-08 08:29:23,510 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#1 [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$#2 [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#0 [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#1 [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$#2 [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexUnlock [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#0 [2025-02-08 08:29:23,511 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#1 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure read~int#2 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#0 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#1 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~int#2 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure #PthreadsMutexLock [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#0 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#1 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~$Pointer$#2 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure t_fun [2025-02-08 08:29:23,512 INFO L138 BoogieDeclarations]: Found implementation of procedure t_fun [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#0 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#1 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int#2 [2025-02-08 08:29:23,512 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2025-02-08 08:29:23,512 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2025-02-08 08:29:23,513 WARN L227 CfgBuilder]: User set CodeBlockSize to SequenceOfStatements but program contains fork statements. Overwriting the user preferences and setting CodeBlockSize to OneNontrivialStatement. [2025-02-08 08:29:23,629 INFO L257 CfgBuilder]: Building ICFG [2025-02-08 08:29:23,631 INFO L287 CfgBuilder]: Building CFG for each procedure with an implementation [2025-02-08 08:29:23,948 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1241: havoc list_add_#t~mem31#1.base, list_add_#t~mem31#1.offset, list_add_~node#1.base, list_add_~node#1.offset, list_add_~list#1.base, list_add_~list#1.offset, list_add_~temp~0#1.base, list_add_~temp~0#1.offset; [2025-02-08 08:29:23,949 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1241-1: SUMMARY for call write~$Pointer$#2(list_add_~temp~0#1.base, list_add_~temp~0#1.offset, list_add_~node#1.base, 4 + list_add_~node#1.offset, 4); srcloc: null [2025-02-08 08:29:23,952 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1241-1: assume !(1 == #valid[list_add_~node#1.base]); [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1241-1: assume !(4 + (4 + list_add_~node#1.offset) <= #length[list_add_~node#1.base] && 0 <= 4 + list_add_~node#1.offset); [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1260-1: havoc main_#t~post42#1; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1260-2: main_~k~0#1 := 1 + main_#t~post42#1; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1260-3: main_#t~post42#1 := main_~k~0#1; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261: havoc main_#t~ret39#1.base, main_#t~ret39#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261-1: SUMMARY for call write~$Pointer$#1(main_#t~ret39#1.base, main_#t~ret39#1.offset, ~#slot~0.base, ~#slot~0.offset + 4 * main_~k~0#1, 4); srcloc: null [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261-1: assume !(1 == #valid[~#slot~0.base]); [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261-1: assume !(4 + (~#slot~0.offset + 4 * main_~k~0#1) <= #length[~#slot~0.base] && 0 <= ~#slot~0.offset + 4 * main_~k~0#1); [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261-2: havoc new_#in~x#1;assume { :end_inline_new } true; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261-3: havoc new_#t~malloc30#1.base, new_#t~malloc30#1.offset, new_~x#1, new_~p~0#1.base, new_~p~0#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1261-4: main_#t~ret39#1.base, main_#t~ret39#1.offset := new_#res#1.base, new_#res#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262: havoc main_#t~mem41#1.base, main_#t~mem41#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-1: assume { :end_inline_list_add } true;havoc main_#t~ret40#1.base, main_#t~ret40#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-2: havoc list_add_#in~node#1.base, list_add_#in~node#1.offset, list_add_#in~list#1.base, list_add_#in~list#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-3: havoc list_add_#t~mem31#1.base, list_add_#t~mem31#1.offset, list_add_~node#1.base, list_add_~node#1.offset, list_add_~list#1.base, list_add_~list#1.offset, list_add_~temp~0#1.base, list_add_~temp~0#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-4: assume { :begin_inline_list_add } true;list_add_#in~node#1.base, list_add_#in~node#1.offset, list_add_#in~list#1.base, list_add_#in~list#1.offset := main_#t~ret40#1.base, main_#t~ret40#1.offset, main_#t~mem41#1.base, main_#t~mem41#1.offset; [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-5: SUMMARY for call main_#t~mem41#1.base, main_#t~mem41#1.offset := read~$Pointer$#1(~#slot~0.base, ~#slot~0.offset + 4 * main_~k~0#1, 4); srcloc: null [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-5: assume !(1 == #valid[~#slot~0.base]); [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-5: assume !(4 + (~#slot~0.offset + 4 * main_~k~0#1) <= #length[~#slot~0.base] && 0 <= ~#slot~0.offset + 4 * main_~k~0#1); [2025-02-08 08:29:23,953 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-6: havoc new_#in~x#1;assume { :end_inline_new } true; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-7: havoc new_#t~malloc30#1.base, new_#t~malloc30#1.offset, new_~x#1, new_~p~0#1.base, new_~p~0#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-8: main_#t~ret40#1.base, main_#t~ret40#1.offset := new_#res#1.base, new_#res#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-9: havoc new_#t~malloc30#1.base, new_#t~malloc30#1.offset, new_~x#1, new_~p~0#1.base, new_~p~0#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-10: havoc new_#res#1.base, new_#res#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1262-11: assume { :begin_inline_new } true;new_#in~x#1 := 2; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1232: new_~x#1 := new_#in~x#1; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1233: havoc new_#t~malloc30#1.base, new_#t~malloc30#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1233-1: new_~p~0#1.base, new_~p~0#1.offset := new_#t~malloc30#1.base, new_#t~malloc30#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1233-2: SUMMARY for call new_#t~malloc30#1.base, new_#t~malloc30#1.offset := #Ultimate.allocOnHeap(8); srcloc: null [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1234: SUMMARY for call write~int#2(new_~x#1, new_~p~0#1.base, new_~p~0#1.offset, 4); srcloc: null [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1234: assume !(1 == #valid[new_~p~0#1.base]); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1234: assume !(4 + new_~p~0#1.offset <= #length[new_~p~0#1.base] && 0 <= new_~p~0#1.offset); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1235: new_#res#1.base, new_#res#1.offset := new_~p~0#1.base, new_~p~0#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1235-1: SUMMARY for call write~$Pointer$#2(0, 0, new_~p~0#1.base, 4 + new_~p~0#1.offset, 4); srcloc: null [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1235-1: assume !(1 == #valid[new_~p~0#1.base]); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1235-1: assume !(4 + (4 + new_~p~0#1.offset) <= #length[new_~p~0#1.base] && 0 <= 4 + new_~p~0#1.offset); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1238: list_add_~list#1.base, list_add_~list#1.offset := list_add_#in~list#1.base, list_add_#in~list#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1238-1: list_add_~node#1.base, list_add_~node#1.offset := list_add_#in~node#1.base, list_add_#in~node#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1239: havoc list_add_#t~mem31#1.base, list_add_#t~mem31#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1239-1: list_add_~temp~0#1.base, list_add_~temp~0#1.offset := list_add_#t~mem31#1.base, list_add_#t~mem31#1.offset; [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1239-2: SUMMARY for call list_add_#t~mem31#1.base, list_add_#t~mem31#1.offset := read~$Pointer$#2(list_add_~list#1.base, 4 + list_add_~list#1.offset, 4); srcloc: null [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1239-2: assume !(1 == #valid[list_add_~list#1.base]); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1239-2: assume !(4 + (4 + list_add_~list#1.offset) <= #length[list_add_~list#1.base] && 0 <= 4 + list_add_~list#1.offset); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1240: SUMMARY for call write~$Pointer$#2(list_add_~node#1.base, list_add_~node#1.offset, list_add_~list#1.base, 4 + list_add_~list#1.offset, 4); srcloc: null [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1240: assume !(1 == #valid[list_add_~list#1.base]); [2025-02-08 08:29:23,954 INFO L1324 $ProcedureCfgBuilder]: dead code at ProgramPoint L1240: assume !(4 + (4 + list_add_~list#1.offset) <= #length[list_add_~list#1.base] && 0 <= 4 + list_add_~list#1.offset); [2025-02-08 08:29:24,001 INFO L304 CfgBuilder]: Omitted future-live optimization because the input is a concurrent program. [2025-02-08 08:29:24,001 INFO L308 CfgBuilder]: Performing block encoding [2025-02-08 08:29:24,243 INFO L332 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2025-02-08 08:29:24,243 INFO L337 CfgBuilder]: Removed 0 assume(true) statements. [2025-02-08 08:29:24,243 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 08:29:24 BoogieIcfgContainer [2025-02-08 08:29:24,244 INFO L131 PluginConnector]: ------------------------ END IcfgBuilder---------------------------- [2025-02-08 08:29:24,245 INFO L112 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2025-02-08 08:29:24,246 INFO L270 PluginConnector]: Initializing TraceAbstraction... [2025-02-08 08:29:24,249 INFO L274 PluginConnector]: TraceAbstraction initialized [2025-02-08 08:29:24,249 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 08.02 08:29:22" (1/3) ... [2025-02-08 08:29:24,252 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@737553be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.02 08:29:24, skipping insertion in model container [2025-02-08 08:29:24,252 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 08.02 08:29:23" (2/3) ... [2025-02-08 08:29:24,253 INFO L204 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@737553be and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 08.02 08:29:24, skipping insertion in model container [2025-02-08 08:29:24,253 INFO L184 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 08:29:24" (3/3) ... [2025-02-08 08:29:24,254 INFO L128 eAbstractionObserver]: Analyzing ICFG 09-regions_11-arraylist_nr.i [2025-02-08 08:29:24,266 INFO L216 ceAbstractionStarter]: Automizer settings: Hoare:None NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2025-02-08 08:29:24,268 INFO L151 ceAbstractionStarter]: Applying trace abstraction to ICFG 09-regions_11-arraylist_nr.i that has 2 procedures, 52 locations, 1 initial locations, 2 loop locations, and 37 error locations. [2025-02-08 08:29:24,269 INFO L491 ceAbstractionStarter]: Constructing petrified ICFG for 1 thread instances. [2025-02-08 08:29:24,321 INFO L143 ThreadInstanceAdder]: Constructed 0 joinOtherThreadTransitions. [2025-02-08 08:29:24,350 INFO L73 FinitePrefix]: Start finitePrefix. Operand has 55 places, 52 transitions, 108 flow [2025-02-08 08:29:24,384 INFO L124 PetriNetUnfolderBase]: 1/51 cut-off events. [2025-02-08 08:29:24,386 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-02-08 08:29:24,388 INFO L83 FinitePrefix]: Finished finitePrefix Result has 55 conditions, 51 events. 1/51 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 8. Compared 141 event pairs, 0 based on Foata normal form. 0/26 useless extension candidates. Maximal degree in co-relation 11. Up to 2 conditions per place. [2025-02-08 08:29:24,389 INFO L82 GeneralOperation]: Start removeDead. Operand has 55 places, 52 transitions, 108 flow [2025-02-08 08:29:24,392 INFO L88 GeneralOperation]: Finished RemoveDead, result has has 53 places, 50 transitions, 103 flow [2025-02-08 08:29:24,400 INFO L332 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2025-02-08 08:29:24,415 INFO L333 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=FPandBP, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=None, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=[Lde.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings;@4d74ffa6, mLbeIndependenceSettings=[IndependenceType=SEMANTIC, AbstractionType=NONE, UseConditional=false, UseSemiCommutativity=true, Solver=Z3, SolverTimeout=1000ms] [2025-02-08 08:29:24,415 INFO L334 AbstractCegarLoop]: Starting to check reachability of 36 error locations. [2025-02-08 08:29:24,420 INFO L185 PetriNetUnfolderBase]: Found word, exiting Unfolder. [2025-02-08 08:29:24,421 INFO L124 PetriNetUnfolderBase]: 1/7 cut-off events. [2025-02-08 08:29:24,421 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-02-08 08:29:24,421 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-02-08 08:29:24,422 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1] [2025-02-08 08:29:24,422 INFO L396 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE === [ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (and 33 more)] === [2025-02-08 08:29:24,426 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 08:29:24,427 INFO L85 PathProgramCache]: Analyzing trace with hash 14802504, now seen corresponding path program 1 times [2025-02-08 08:29:24,433 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 08:29:24,433 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [619084888] [2025-02-08 08:29:24,433 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 08:29:24,434 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 08:29:24,501 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 4 statements into 1 equivalence classes. [2025-02-08 08:29:24,528 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 4 of 4 statements. [2025-02-08 08:29:24,529 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 08:29:24,529 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:24,634 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:24,635 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 08:29:24,635 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [619084888] [2025-02-08 08:29:24,635 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [619084888] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 08:29:24,635 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 08:29:24,636 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-08 08:29:24,637 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [468541363] [2025-02-08 08:29:24,638 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 08:29:24,644 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-02-08 08:29:24,648 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 08:29:24,666 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-08 08:29:24,666 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-08 08:29:24,668 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 29 out of 52 [2025-02-08 08:29:24,670 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 53 places, 50 transitions, 103 flow. Second operand has 3 states, 3 states have (on average 30.0) internal successors, (90), 3 states have internal predecessors, (90), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:24,670 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-02-08 08:29:24,670 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 29 of 52 [2025-02-08 08:29:24,671 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-02-08 08:29:24,768 INFO L124 PetriNetUnfolderBase]: 64/246 cut-off events. [2025-02-08 08:29:24,768 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-02-08 08:29:24,769 INFO L83 FinitePrefix]: Finished finitePrefix Result has 400 conditions, 246 events. 64/246 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 21. Compared 1181 event pairs, 63 based on Foata normal form. 0/191 useless extension candidates. Maximal degree in co-relation 376. Up to 149 conditions per place. [2025-02-08 08:29:24,772 INFO L140 encePairwiseOnDemand]: 49/52 looper letters, 21 selfloop transitions, 2 changer transitions 0/51 dead transitions. [2025-02-08 08:29:24,772 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 55 places, 51 transitions, 151 flow [2025-02-08 08:29:24,773 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-08 08:29:24,775 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-02-08 08:29:24,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 111 transitions. [2025-02-08 08:29:24,783 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.7115384615384616 [2025-02-08 08:29:24,784 INFO L175 Difference]: Start difference. First operand has 53 places, 50 transitions, 103 flow. Second operand 3 states and 111 transitions. [2025-02-08 08:29:24,785 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 55 places, 51 transitions, 151 flow [2025-02-08 08:29:24,788 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 54 places, 51 transitions, 150 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-02-08 08:29:24,791 INFO L231 Difference]: Finished difference. Result has 55 places, 51 transitions, 114 flow [2025-02-08 08:29:24,793 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=52, PETRI_DIFFERENCE_MINUEND_FLOW=102, PETRI_DIFFERENCE_MINUEND_PLACES=52, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=50, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=48, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=114, PETRI_PLACES=55, PETRI_TRANSITIONS=51} [2025-02-08 08:29:24,796 INFO L279 CegarLoopForPetriNet]: 53 programPoint places, 2 predicate places. [2025-02-08 08:29:24,796 INFO L471 AbstractCegarLoop]: Abstraction has has 55 places, 51 transitions, 114 flow [2025-02-08 08:29:24,796 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 30.0) internal successors, (90), 3 states have internal predecessors, (90), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:24,796 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-02-08 08:29:24,796 INFO L206 CegarLoopForPetriNet]: trace histogram [1, 1, 1, 1, 1] [2025-02-08 08:29:24,797 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2025-02-08 08:29:24,797 INFO L396 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE === [ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (and 33 more)] === [2025-02-08 08:29:24,797 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 08:29:24,797 INFO L85 PathProgramCache]: Analyzing trace with hash 458807568, now seen corresponding path program 1 times [2025-02-08 08:29:24,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 08:29:24,798 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [600016475] [2025-02-08 08:29:24,798 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 08:29:24,798 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 08:29:24,842 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-02-08 08:29:24,853 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-02-08 08:29:24,854 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 08:29:24,854 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:24,983 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:24,983 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 08:29:24,984 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [600016475] [2025-02-08 08:29:24,984 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [600016475] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 08:29:24,984 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1653849639] [2025-02-08 08:29:24,984 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 08:29:24,984 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 08:29:24,984 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 08:29:24,990 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 08:29:24,994 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Waiting until timeout for monitored process [2025-02-08 08:29:25,065 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 5 statements into 1 equivalence classes. [2025-02-08 08:29:25,102 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 5 of 5 statements. [2025-02-08 08:29:25,102 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 08:29:25,102 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:25,105 INFO L256 TraceCheckSpWp]: Trace formula consists of 195 conjuncts, 3 conjuncts are in the unsatisfiable core [2025-02-08 08:29:25,108 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 08:29:25,137 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:25,137 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 08:29:25,153 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:25,154 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1653849639] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 08:29:25,154 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 08:29:25,154 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 6 [2025-02-08 08:29:25,154 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [196716640] [2025-02-08 08:29:25,154 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 08:29:25,155 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2025-02-08 08:29:25,155 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 08:29:25,156 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2025-02-08 08:29:25,156 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=21, Unknown=0, NotChecked=0, Total=42 [2025-02-08 08:29:25,156 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 29 out of 52 [2025-02-08 08:29:25,157 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 55 places, 51 transitions, 114 flow. Second operand has 7 states, 7 states have (on average 30.285714285714285) internal successors, (212), 7 states have internal predecessors, (212), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:25,157 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-02-08 08:29:25,157 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 29 of 52 [2025-02-08 08:29:25,157 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-02-08 08:29:25,241 INFO L124 PetriNetUnfolderBase]: 64/249 cut-off events. [2025-02-08 08:29:25,242 INFO L125 PetriNetUnfolderBase]: For 0/0 co-relation queries the response was YES. [2025-02-08 08:29:25,242 INFO L83 FinitePrefix]: Finished finitePrefix Result has 415 conditions, 249 events. 64/249 cut-off events. For 0/0 co-relation queries the response was YES. Maximal size of possible extension queue 21. Compared 1184 event pairs, 63 based on Foata normal form. 0/194 useless extension candidates. Maximal degree in co-relation 404. Up to 149 conditions per place. [2025-02-08 08:29:25,243 INFO L140 encePairwiseOnDemand]: 49/52 looper letters, 21 selfloop transitions, 5 changer transitions 0/54 dead transitions. [2025-02-08 08:29:25,243 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 60 places, 54 transitions, 178 flow [2025-02-08 08:29:25,244 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2025-02-08 08:29:25,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 6 states. [2025-02-08 08:29:25,244 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 203 transitions. [2025-02-08 08:29:25,245 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6506410256410257 [2025-02-08 08:29:25,245 INFO L175 Difference]: Start difference. First operand has 55 places, 51 transitions, 114 flow. Second operand 6 states and 203 transitions. [2025-02-08 08:29:25,245 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 60 places, 54 transitions, 178 flow [2025-02-08 08:29:25,245 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 59 places, 54 transitions, 174 flow, removed 1 selfloop flow, removed 1 redundant places. [2025-02-08 08:29:25,247 INFO L231 Difference]: Finished difference. Result has 62 places, 54 transitions, 146 flow [2025-02-08 08:29:25,247 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=52, PETRI_DIFFERENCE_MINUEND_FLOW=110, PETRI_DIFFERENCE_MINUEND_PLACES=54, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=51, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=3, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=48, PETRI_DIFFERENCE_SUBTRAHEND_STATES=6, PETRI_FLOW=146, PETRI_PLACES=62, PETRI_TRANSITIONS=54} [2025-02-08 08:29:25,248 INFO L279 CegarLoopForPetriNet]: 53 programPoint places, 9 predicate places. [2025-02-08 08:29:25,248 INFO L471 AbstractCegarLoop]: Abstraction has has 62 places, 54 transitions, 146 flow [2025-02-08 08:29:25,248 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 30.285714285714285) internal successors, (212), 7 states have internal predecessors, (212), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:25,248 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-02-08 08:29:25,248 INFO L206 CegarLoopForPetriNet]: trace histogram [4, 1, 1, 1, 1] [2025-02-08 08:29:25,262 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2025-02-08 08:29:25,448 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 08:29:25,449 INFO L396 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE === [ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (and 33 more)] === [2025-02-08 08:29:25,449 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 08:29:25,449 INFO L85 PathProgramCache]: Analyzing trace with hash 1680756808, now seen corresponding path program 2 times [2025-02-08 08:29:25,449 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 08:29:25,449 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [122428715] [2025-02-08 08:29:25,449 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 08:29:25,450 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 08:29:25,469 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 8 statements into 2 equivalence classes. [2025-02-08 08:29:25,485 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 8 statements. [2025-02-08 08:29:25,485 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 08:29:25,485 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:25,540 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 10 trivial. 0 not checked. [2025-02-08 08:29:25,540 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 08:29:25,540 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [122428715] [2025-02-08 08:29:25,540 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [122428715] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 08:29:25,540 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 08:29:25,540 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-08 08:29:25,540 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1434966907] [2025-02-08 08:29:25,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 08:29:25,541 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-02-08 08:29:25,541 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 08:29:25,541 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-08 08:29:25,541 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-08 08:29:25,566 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 26 out of 52 [2025-02-08 08:29:25,566 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 62 places, 54 transitions, 146 flow. Second operand has 3 states, 3 states have (on average 27.666666666666668) internal successors, (83), 3 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:25,567 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-02-08 08:29:25,567 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 26 of 52 [2025-02-08 08:29:25,567 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-02-08 08:29:25,667 INFO L124 PetriNetUnfolderBase]: 64/247 cut-off events. [2025-02-08 08:29:25,668 INFO L125 PetriNetUnfolderBase]: For 2/2 co-relation queries the response was YES. [2025-02-08 08:29:25,668 INFO L83 FinitePrefix]: Finished finitePrefix Result has 427 conditions, 247 events. 64/247 cut-off events. For 2/2 co-relation queries the response was YES. Maximal size of possible extension queue 21. Compared 1166 event pairs, 63 based on Foata normal form. 1/197 useless extension candidates. Maximal degree in co-relation 394. Up to 152 conditions per place. [2025-02-08 08:29:25,672 INFO L140 encePairwiseOnDemand]: 49/52 looper letters, 26 selfloop transitions, 1 changer transitions 0/52 dead transitions. [2025-02-08 08:29:25,673 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 62 places, 52 transitions, 196 flow [2025-02-08 08:29:25,673 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-08 08:29:25,673 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-02-08 08:29:25,673 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 103 transitions. [2025-02-08 08:29:25,674 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6602564102564102 [2025-02-08 08:29:25,674 INFO L175 Difference]: Start difference. First operand has 62 places, 54 transitions, 146 flow. Second operand 3 states and 103 transitions. [2025-02-08 08:29:25,674 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 62 places, 52 transitions, 196 flow [2025-02-08 08:29:25,674 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 61 places, 52 transitions, 182 flow, removed 6 selfloop flow, removed 1 redundant places. [2025-02-08 08:29:25,675 INFO L231 Difference]: Finished difference. Result has 61 places, 52 transitions, 130 flow [2025-02-08 08:29:25,675 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=52, PETRI_DIFFERENCE_MINUEND_FLOW=128, PETRI_DIFFERENCE_MINUEND_PLACES=59, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=52, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=1, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=51, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=130, PETRI_PLACES=61, PETRI_TRANSITIONS=52} [2025-02-08 08:29:25,676 INFO L279 CegarLoopForPetriNet]: 53 programPoint places, 8 predicate places. [2025-02-08 08:29:25,676 INFO L471 AbstractCegarLoop]: Abstraction has has 61 places, 52 transitions, 130 flow [2025-02-08 08:29:25,676 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 27.666666666666668) internal successors, (83), 3 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:25,676 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-02-08 08:29:25,676 INFO L206 CegarLoopForPetriNet]: trace histogram [4, 1, 1, 1, 1] [2025-02-08 08:29:25,676 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2025-02-08 08:29:25,676 INFO L396 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE === [ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (and 33 more)] === [2025-02-08 08:29:25,680 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 08:29:25,680 INFO L85 PathProgramCache]: Analyzing trace with hash 1680756809, now seen corresponding path program 1 times [2025-02-08 08:29:25,680 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 08:29:25,680 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2137959716] [2025-02-08 08:29:25,680 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 08:29:25,680 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 08:29:25,696 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-02-08 08:29:25,715 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-02-08 08:29:25,716 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 08:29:25,716 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:25,814 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:25,814 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 08:29:25,815 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2137959716] [2025-02-08 08:29:25,815 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2137959716] provided 0 perfect and 1 imperfect interpolant sequences [2025-02-08 08:29:25,815 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [136468597] [2025-02-08 08:29:25,815 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 08:29:25,815 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 08:29:25,815 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 [2025-02-08 08:29:25,819 INFO L229 MonitoredProcess]: Starting monitored process 3 with /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2025-02-08 08:29:25,820 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Waiting until timeout for monitored process [2025-02-08 08:29:25,876 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 8 statements into 1 equivalence classes. [2025-02-08 08:29:25,899 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 8 of 8 statements. [2025-02-08 08:29:25,899 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 08:29:25,899 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:25,900 INFO L256 TraceCheckSpWp]: Trace formula consists of 216 conjuncts, 6 conjuncts are in the unsatisfiable core [2025-02-08 08:29:25,901 INFO L279 TraceCheckSpWp]: Computing forward predicates... [2025-02-08 08:29:25,915 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:25,915 INFO L312 TraceCheckSpWp]: Computing backward predicates... [2025-02-08 08:29:25,960 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2025-02-08 08:29:25,960 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleZ3 [136468597] provided 0 perfect and 2 imperfect interpolant sequences [2025-02-08 08:29:25,960 INFO L185 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2025-02-08 08:29:25,960 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 6, 6] total 12 [2025-02-08 08:29:25,960 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2027319653] [2025-02-08 08:29:25,960 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2025-02-08 08:29:25,960 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2025-02-08 08:29:25,961 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 08:29:25,961 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2025-02-08 08:29:25,961 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=78, Invalid=78, Unknown=0, NotChecked=0, Total=156 [2025-02-08 08:29:25,962 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 29 out of 52 [2025-02-08 08:29:25,966 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 61 places, 52 transitions, 130 flow. Second operand has 13 states, 13 states have (on average 30.153846153846153) internal successors, (392), 13 states have internal predecessors, (392), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:25,966 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-02-08 08:29:25,966 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 29 of 52 [2025-02-08 08:29:25,966 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-02-08 08:29:26,066 INFO L124 PetriNetUnfolderBase]: 64/253 cut-off events. [2025-02-08 08:29:26,066 INFO L125 PetriNetUnfolderBase]: For 25/25 co-relation queries the response was YES. [2025-02-08 08:29:26,067 INFO L83 FinitePrefix]: Finished finitePrefix Result has 445 conditions, 253 events. 64/253 cut-off events. For 25/25 co-relation queries the response was YES. Maximal size of possible extension queue 21. Compared 1171 event pairs, 63 based on Foata normal form. 6/208 useless extension candidates. Maximal degree in co-relation 431. Up to 149 conditions per place. [2025-02-08 08:29:26,072 INFO L140 encePairwiseOnDemand]: 49/52 looper letters, 21 selfloop transitions, 11 changer transitions 0/58 dead transitions. [2025-02-08 08:29:26,072 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 72 places, 58 transitions, 230 flow [2025-02-08 08:29:26,073 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2025-02-08 08:29:26,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 12 states. [2025-02-08 08:29:26,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 386 transitions. [2025-02-08 08:29:26,074 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6185897435897436 [2025-02-08 08:29:26,074 INFO L175 Difference]: Start difference. First operand has 61 places, 52 transitions, 130 flow. Second operand 12 states and 386 transitions. [2025-02-08 08:29:26,074 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 72 places, 58 transitions, 230 flow [2025-02-08 08:29:26,075 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 71 places, 58 transitions, 229 flow, removed 0 selfloop flow, removed 1 redundant places. [2025-02-08 08:29:26,076 INFO L231 Difference]: Finished difference. Result has 77 places, 58 transitions, 213 flow [2025-02-08 08:29:26,076 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=52, PETRI_DIFFERENCE_MINUEND_FLOW=129, PETRI_DIFFERENCE_MINUEND_PLACES=60, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=52, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=6, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=46, PETRI_DIFFERENCE_SUBTRAHEND_STATES=12, PETRI_FLOW=213, PETRI_PLACES=77, PETRI_TRANSITIONS=58} [2025-02-08 08:29:26,081 INFO L279 CegarLoopForPetriNet]: 53 programPoint places, 24 predicate places. [2025-02-08 08:29:26,081 INFO L471 AbstractCegarLoop]: Abstraction has has 77 places, 58 transitions, 213 flow [2025-02-08 08:29:26,081 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 13 states have (on average 30.153846153846153) internal successors, (392), 13 states have internal predecessors, (392), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:26,081 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-02-08 08:29:26,081 INFO L206 CegarLoopForPetriNet]: trace histogram [10, 1, 1, 1, 1] [2025-02-08 08:29:26,094 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Forceful destruction successful, exit code 0 [2025-02-08 08:29:26,282 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3,3 /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2025-02-08 08:29:26,282 INFO L396 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE === [ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (and 33 more)] === [2025-02-08 08:29:26,283 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 08:29:26,283 INFO L85 PathProgramCache]: Analyzing trace with hash 1382554441, now seen corresponding path program 2 times [2025-02-08 08:29:26,283 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 08:29:26,283 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [7726769] [2025-02-08 08:29:26,283 INFO L95 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2025-02-08 08:29:26,283 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 08:29:26,296 INFO L108 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 partitioned 14 statements into 2 equivalence classes. [2025-02-08 08:29:26,299 INFO L111 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) and asserted 4 of 14 statements. [2025-02-08 08:29:26,299 INFO L114 AnnotateAndAsserter]: Assert order OUTSIDE_LOOP_FIRST1 issued 1 check-sat command(s) [2025-02-08 08:29:26,299 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:26,376 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2025-02-08 08:29:26,376 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 08:29:26,376 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [7726769] [2025-02-08 08:29:26,376 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [7726769] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 08:29:26,376 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 08:29:26,376 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2025-02-08 08:29:26,376 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2142198432] [2025-02-08 08:29:26,376 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 08:29:26,376 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-02-08 08:29:26,376 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 08:29:26,377 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-08 08:29:26,377 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-08 08:29:26,416 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 27 out of 52 [2025-02-08 08:29:26,417 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 77 places, 58 transitions, 213 flow. Second operand has 3 states, 3 states have (on average 28.666666666666668) internal successors, (86), 3 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:26,417 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-02-08 08:29:26,417 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 27 of 52 [2025-02-08 08:29:26,417 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-02-08 08:29:26,478 INFO L124 PetriNetUnfolderBase]: 64/251 cut-off events. [2025-02-08 08:29:26,478 INFO L125 PetriNetUnfolderBase]: For 31/31 co-relation queries the response was YES. [2025-02-08 08:29:26,479 INFO L83 FinitePrefix]: Finished finitePrefix Result has 473 conditions, 251 events. 64/251 cut-off events. For 31/31 co-relation queries the response was YES. Maximal size of possible extension queue 21. Compared 1156 event pairs, 63 based on Foata normal form. 2/202 useless extension candidates. Maximal degree in co-relation 398. Up to 158 conditions per place. [2025-02-08 08:29:26,480 INFO L140 encePairwiseOnDemand]: 49/52 looper letters, 31 selfloop transitions, 0 changer transitions 2/56 dead transitions. [2025-02-08 08:29:26,481 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 77 places, 56 transitions, 273 flow [2025-02-08 08:29:26,481 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-08 08:29:26,481 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-02-08 08:29:26,481 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 105 transitions. [2025-02-08 08:29:26,482 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.6730769230769231 [2025-02-08 08:29:26,482 INFO L175 Difference]: Start difference. First operand has 77 places, 58 transitions, 213 flow. Second operand 3 states and 105 transitions. [2025-02-08 08:29:26,482 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 77 places, 56 transitions, 273 flow [2025-02-08 08:29:26,484 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 72 places, 56 transitions, 225 flow, removed 19 selfloop flow, removed 5 redundant places. [2025-02-08 08:29:26,485 INFO L231 Difference]: Finished difference. Result has 72 places, 54 transitions, 156 flow [2025-02-08 08:29:26,485 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=52, PETRI_DIFFERENCE_MINUEND_FLOW=161, PETRI_DIFFERENCE_MINUEND_PLACES=70, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=56, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=56, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=156, PETRI_PLACES=72, PETRI_TRANSITIONS=54} [2025-02-08 08:29:26,485 INFO L279 CegarLoopForPetriNet]: 53 programPoint places, 19 predicate places. [2025-02-08 08:29:26,486 INFO L471 AbstractCegarLoop]: Abstraction has has 72 places, 54 transitions, 156 flow [2025-02-08 08:29:26,486 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 28.666666666666668) internal successors, (86), 3 states have internal predecessors, (86), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:26,486 INFO L198 CegarLoopForPetriNet]: Found error trace [2025-02-08 08:29:26,486 INFO L206 CegarLoopForPetriNet]: trace histogram [10, 1, 1, 1, 1, 1, 1, 1, 1] [2025-02-08 08:29:26,486 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2025-02-08 08:29:26,486 INFO L396 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATIONMEMORY_DEREFERENCE === [ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE, ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (and 33 more)] === [2025-02-08 08:29:26,486 INFO L157 PredicateUnifier]: Initialized classic predicate unifier [2025-02-08 08:29:26,486 INFO L85 PathProgramCache]: Analyzing trace with hash 1623417406, now seen corresponding path program 1 times [2025-02-08 08:29:26,487 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2025-02-08 08:29:26,487 INFO L334 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1321657474] [2025-02-08 08:29:26,487 INFO L97 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2025-02-08 08:29:26,487 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2025-02-08 08:29:26,496 INFO L108 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY partitioned 18 statements into 1 equivalence classes. [2025-02-08 08:29:26,502 INFO L111 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) and asserted 18 of 18 statements. [2025-02-08 08:29:26,502 INFO L114 AnnotateAndAsserter]: Assert order NOT_INCREMENTALLY issued 1 check-sat command(s) [2025-02-08 08:29:26,503 INFO L115 AnnotateAndAsserter]: Conjunction of SSA is unsat [2025-02-08 08:29:26,539 INFO L134 CoverageAnalysis]: Checked inductivity of 55 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 55 trivial. 0 not checked. [2025-02-08 08:29:26,539 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2025-02-08 08:29:26,539 INFO L334 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1321657474] [2025-02-08 08:29:26,539 INFO L158 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1321657474] provided 1 perfect and 0 imperfect interpolant sequences [2025-02-08 08:29:26,539 INFO L185 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2025-02-08 08:29:26,539 INFO L198 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2025-02-08 08:29:26,539 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2104842073] [2025-02-08 08:29:26,540 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2025-02-08 08:29:26,540 INFO L548 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2025-02-08 08:29:26,540 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2025-02-08 08:29:26,540 INFO L144 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2025-02-08 08:29:26,540 INFO L146 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2025-02-08 08:29:26,541 INFO L469 CegarLoopForPetriNet]: Number of universal loopers: 29 out of 52 [2025-02-08 08:29:26,541 INFO L103 encePairwiseOnDemand]: Start differencePairwiseOnDemand. First operand has 72 places, 54 transitions, 156 flow. Second operand has 3 states, 3 states have (on average 31.333333333333332) internal successors, (94), 3 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:26,541 INFO L112 encePairwiseOnDemand]: Universal subtrahend loopers provided by user. [2025-02-08 08:29:26,541 INFO L113 encePairwiseOnDemand]: Number of universal subtrahend loopers: 29 of 52 [2025-02-08 08:29:26,541 INFO L73 FinitePrefix]: Start finitePrefix. Operand will be constructed on-demand [2025-02-08 08:29:26,550 INFO L124 PetriNetUnfolderBase]: 1/13 cut-off events. [2025-02-08 08:29:26,550 INFO L125 PetriNetUnfolderBase]: For 46/46 co-relation queries the response was YES. [2025-02-08 08:29:26,550 INFO L83 FinitePrefix]: Finished finitePrefix Result has 63 conditions, 13 events. 1/13 cut-off events. For 46/46 co-relation queries the response was YES. Maximal size of possible extension queue 1. Compared 1 event pairs, 0 based on Foata normal form. 1/14 useless extension candidates. Maximal degree in co-relation 49. Up to 13 conditions per place. [2025-02-08 08:29:26,550 INFO L140 encePairwiseOnDemand]: 50/52 looper letters, 0 selfloop transitions, 0 changer transitions 13/13 dead transitions. [2025-02-08 08:29:26,550 INFO L145 encePairwiseOnDemand]: Finished differencePairwiseOnDemand. Result has 27 places, 13 transitions, 98 flow [2025-02-08 08:29:26,551 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2025-02-08 08:29:26,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand 3 states. [2025-02-08 08:29:26,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 91 transitions. [2025-02-08 08:29:26,551 INFO L514 CegarLoopForPetriNet]: DFA transition density 0.5833333333333334 [2025-02-08 08:29:26,552 INFO L175 Difference]: Start difference. First operand has 72 places, 54 transitions, 156 flow. Second operand 3 states and 91 transitions. [2025-02-08 08:29:26,552 INFO L82 GeneralOperation]: Start removeRedundantFlow. Operand has 27 places, 13 transitions, 98 flow [2025-02-08 08:29:26,554 INFO L88 GeneralOperation]: Finished removeRedundantFlow, result has has 27 places, 13 transitions, 98 flow, removed 0 selfloop flow, removed 0 redundant places. [2025-02-08 08:29:26,554 INFO L231 Difference]: Finished difference. Result has 27 places, 0 transitions, 0 flow [2025-02-08 08:29:26,555 INFO L262 CegarLoopForPetriNet]: {PETRI_ALPHABET=52, PETRI_DIFFERENCE_MINUEND_FLOW=72, PETRI_DIFFERENCE_MINUEND_PLACES=25, PETRI_DIFFERENCE_MINUEND_TRANSITIONS=13, PETRI_DIFFERENCE_SUBTRAHEND_LETTERS_WITH_MORE_CHANGERS_THAN_LOOPERS=0, PETRI_DIFFERENCE_SUBTRAHEND_LOOPER_ONLY_LETTERS=13, PETRI_DIFFERENCE_SUBTRAHEND_STATES=3, PETRI_FLOW=0, PETRI_PLACES=27, PETRI_TRANSITIONS=0} [2025-02-08 08:29:26,555 INFO L279 CegarLoopForPetriNet]: 53 programPoint places, -26 predicate places. [2025-02-08 08:29:26,555 INFO L471 AbstractCegarLoop]: Abstraction has has 27 places, 0 transitions, 0 flow [2025-02-08 08:29:26,556 INFO L472 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 31.333333333333332) internal successors, (94), 3 states have internal predecessors, (94), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2025-02-08 08:29:26,557 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr23REQUIRES_VIOLATIONMEMORY_DEREFERENCE (35 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr24REQUIRES_VIOLATIONMEMORY_DEREFERENCE (34 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr21REQUIRES_VIOLATIONMEMORY_DEREFERENCE (33 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr22REQUIRES_VIOLATIONMEMORY_DEREFERENCE (32 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr5REQUIRES_VIOLATIONMEMORY_DEREFERENCE (31 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr6REQUIRES_VIOLATIONMEMORY_DEREFERENCE (30 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr3REQUIRES_VIOLATIONMEMORY_DEREFERENCE (29 of 36 remaining) [2025-02-08 08:29:26,558 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr4REQUIRES_VIOLATIONMEMORY_DEREFERENCE (28 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr1REQUIRES_VIOLATIONMEMORY_DEREFERENCE (27 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr2REQUIRES_VIOLATIONMEMORY_DEREFERENCE (26 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0ASSERT_VIOLATIONMEMORY_LEAK (25 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location ULTIMATE.startErr0INUSE_VIOLATIONSUFFICIENT_THREAD_INSTANCES (24 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr10REQUIRES_VIOLATIONMEMORY_DEREFERENCE (23 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr11REQUIRES_VIOLATIONMEMORY_DEREFERENCE (22 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr8REQUIRES_VIOLATIONMEMORY_DEREFERENCE (21 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr9REQUIRES_VIOLATIONMEMORY_DEREFERENCE (20 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr6REQUIRES_VIOLATIONMEMORY_DEREFERENCE (19 of 36 remaining) [2025-02-08 08:29:26,559 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr7REQUIRES_VIOLATIONMEMORY_DEREFERENCE (18 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr4REQUIRES_VIOLATIONMEMORY_DEREFERENCE (17 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr5REQUIRES_VIOLATIONMEMORY_DEREFERENCE (16 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr2REQUIRES_VIOLATIONMEMORY_DEREFERENCE (15 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr3REQUIRES_VIOLATIONMEMORY_DEREFERENCE (14 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr0REQUIRES_VIOLATIONMEMORY_DEREFERENCE (13 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr1REQUIRES_VIOLATIONMEMORY_DEREFERENCE (12 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr10REQUIRES_VIOLATIONMEMORY_DEREFERENCE (11 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr11REQUIRES_VIOLATIONMEMORY_DEREFERENCE (10 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr8REQUIRES_VIOLATIONMEMORY_DEREFERENCE (9 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr9REQUIRES_VIOLATIONMEMORY_DEREFERENCE (8 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr6REQUIRES_VIOLATIONMEMORY_DEREFERENCE (7 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr7REQUIRES_VIOLATIONMEMORY_DEREFERENCE (6 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr4REQUIRES_VIOLATIONMEMORY_DEREFERENCE (5 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr5REQUIRES_VIOLATIONMEMORY_DEREFERENCE (4 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr2REQUIRES_VIOLATIONMEMORY_DEREFERENCE (3 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr3REQUIRES_VIOLATIONMEMORY_DEREFERENCE (2 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr0REQUIRES_VIOLATIONMEMORY_DEREFERENCE (1 of 36 remaining) [2025-02-08 08:29:26,560 INFO L782 garLoopResultBuilder]: Registering result SAFE for location t_funErr1REQUIRES_VIOLATIONMEMORY_DEREFERENCE (0 of 36 remaining) [2025-02-08 08:29:26,560 WARN L453 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2025-02-08 08:29:26,561 INFO L422 BasicCegarLoop]: Path program histogram: [2, 2, 1, 1] [2025-02-08 08:29:26,565 INFO L241 ceAbstractionStarter]: Analysis of concurrent program completed with 1 thread instances [2025-02-08 08:29:26,565 INFO L170 ceAbstractionStarter]: Computing trace abstraction results [2025-02-08 08:29:26,569 INFO L201 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 08.02 08:29:26 BasicIcfg [2025-02-08 08:29:26,571 INFO L131 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2025-02-08 08:29:26,571 INFO L112 PluginConnector]: ------------------------Witness Printer---------------------------- [2025-02-08 08:29:26,571 INFO L270 PluginConnector]: Initializing Witness Printer... [2025-02-08 08:29:26,572 INFO L274 PluginConnector]: Witness Printer initialized [2025-02-08 08:29:26,572 INFO L184 PluginConnector]: Executing the observer RCFGCatcher from plugin Witness Printer for "de.uni_freiburg.informatik.ultimate.plugins.generator.icfgbuilder CFG 08.02 08:29:24" (3/4) ... [2025-02-08 08:29:26,573 INFO L146 WitnessPrinter]: Generating witness for correct program [2025-02-08 08:29:26,575 INFO L385 IcfgBacktranslator]: Ignoring RootEdge to procedure t_fun [2025-02-08 08:29:26,580 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 62 nodes and edges [2025-02-08 08:29:26,580 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 29 nodes and edges [2025-02-08 08:29:26,580 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 14 nodes and edges [2025-02-08 08:29:26,580 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 5 nodes and edges [2025-02-08 08:29:26,581 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 2 nodes and edges [2025-02-08 08:29:26,581 INFO L919 BoogieBacktranslator]: Reduced CFG by removing 1 nodes and edges [2025-02-08 08:29:26,642 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.graphml [2025-02-08 08:29:26,642 INFO L149 WitnessManager]: Wrote witness to /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/witness.yml [2025-02-08 08:29:26,642 INFO L131 PluginConnector]: ------------------------ END Witness Printer---------------------------- [2025-02-08 08:29:26,643 INFO L158 Benchmark]: Toolchain (without parser) took 3774.76ms. Allocated memory was 142.6MB in the beginning and 335.5MB in the end (delta: 192.9MB). Free memory was 104.0MB in the beginning and 244.9MB in the end (delta: -140.8MB). Peak memory consumption was 49.7MB. Max. memory is 16.1GB. [2025-02-08 08:29:26,643 INFO L158 Benchmark]: CDTParser took 0.14ms. Allocated memory is still 201.3MB. Free memory is still 126.9MB. There was no memory consumed. Max. memory is 16.1GB. [2025-02-08 08:29:26,643 INFO L158 Benchmark]: CACSL2BoogieTranslator took 498.84ms. Allocated memory is still 142.6MB. Free memory was 104.0MB in the beginning and 63.7MB in the end (delta: 40.3MB). Peak memory consumption was 41.9MB. Max. memory is 16.1GB. [2025-02-08 08:29:26,643 INFO L158 Benchmark]: Boogie Procedure Inliner took 46.46ms. Allocated memory is still 142.6MB. Free memory was 63.7MB in the beginning and 61.5MB in the end (delta: 2.2MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-08 08:29:26,644 INFO L158 Benchmark]: Boogie Preprocessor took 46.84ms. Allocated memory is still 142.6MB. Free memory was 61.5MB in the beginning and 57.5MB in the end (delta: 4.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. [2025-02-08 08:29:26,644 INFO L158 Benchmark]: IcfgBuilder took 778.26ms. Allocated memory is still 142.6MB. Free memory was 57.5MB in the beginning and 90.6MB in the end (delta: -33.1MB). Peak memory consumption was 34.7MB. Max. memory is 16.1GB. [2025-02-08 08:29:26,644 INFO L158 Benchmark]: TraceAbstraction took 2325.89ms. Allocated memory was 142.6MB in the beginning and 335.5MB in the end (delta: 192.9MB). Free memory was 90.6MB in the beginning and 250.8MB in the end (delta: -160.2MB). Peak memory consumption was 36.6MB. Max. memory is 16.1GB. [2025-02-08 08:29:26,644 INFO L158 Benchmark]: Witness Printer took 70.88ms. Allocated memory is still 335.5MB. Free memory was 250.8MB in the beginning and 244.9MB in the end (delta: 6.0MB). There was no memory consumed. Max. memory is 16.1GB. [2025-02-08 08:29:26,645 INFO L338 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.14ms. Allocated memory is still 201.3MB. Free memory is still 126.9MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 498.84ms. Allocated memory is still 142.6MB. Free memory was 104.0MB in the beginning and 63.7MB in the end (delta: 40.3MB). Peak memory consumption was 41.9MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 46.46ms. Allocated memory is still 142.6MB. Free memory was 63.7MB in the beginning and 61.5MB in the end (delta: 2.2MB). There was no memory consumed. Max. memory is 16.1GB. * Boogie Preprocessor took 46.84ms. Allocated memory is still 142.6MB. Free memory was 61.5MB in the beginning and 57.5MB in the end (delta: 4.0MB). Peak memory consumption was 8.4MB. Max. memory is 16.1GB. * IcfgBuilder took 778.26ms. Allocated memory is still 142.6MB. Free memory was 57.5MB in the beginning and 90.6MB in the end (delta: -33.1MB). Peak memory consumption was 34.7MB. Max. memory is 16.1GB. * TraceAbstraction took 2325.89ms. Allocated memory was 142.6MB in the beginning and 335.5MB in the end (delta: 192.9MB). Free memory was 90.6MB in the beginning and 250.8MB in the end (delta: -160.2MB). Peak memory consumption was 36.6MB. Max. memory is 16.1GB. * Witness Printer took 70.88ms. Allocated memory is still 335.5MB. Free memory was 250.8MB in the beginning and 244.9MB in the end (delta: 6.0MB). There was no memory consumed. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: 1253]: all allocated memory was freed For all program executions holds that all allocated memory was freed at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - PositiveResult [Line: -1]: pointer dereference always succeeds For all program executions holds that pointer dereference always succeeds at this location - StatisticsResult: Ultimate Automizer benchmark data with 1 thread instances CFG has 3 procedures, 77 locations, 36 error locations. Started 1 CEGAR loops. EmptinessCheckTime: 0.0s, RemoveRedundantFlowTime: 0.0s, RemoveRedundantFlowUnfoldingTime: 0.0s, BackfoldingTime: 0.0s, BackfoldingUnfoldingTime: 0.0s, FlowIncreaseByBackfolding: 0, BasicCegarLoop: OverallTime: 2.2s, OverallIterations: 6, TraceHistogramMax: 10, PathProgramHistogramMax: 2, EmptinessCheckTime: 0.0s, AutomataDifference: 0.6s, DeadEndRemovalTime: 0.0s, HoareAnnotationTime: 0.0s, InitialAbstractionConstructionTime: 0.1s, HoareTripleCheckerStatistics: 0 mSolverCounterUnknown, 96 SdHoareTripleChecker+Valid, 0.3s IncrementalHoareTripleChecker+Time, 0 mSdLazyCounter, 32 mSDsluCounter, 0 SdHoareTripleChecker+Invalid, 0.2s Time, 0 mProtectedAction, 0 SdHoareTripleChecker+Unchecked, 0 IncrementalHoareTripleChecker+Unchecked, 0 mSDsCounter, 5 IncrementalHoareTripleChecker+Valid, 0 mProtectedPredicate, 356 IncrementalHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 mSolverCounterNotChecked, 5 mSolverCounterUnsat, 0 mSDtfsCounter, 356 mSolverCounterSat, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Unknown, PredicateUnifierStatistics: 0 DeclaredPredicates, 40 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 20 ImplicationChecksByTransitivity, 0.1s Time, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=213occurred in iteration=4, InterpolantAutomatonStates: 30, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TRACE_CHECK: 0.0s SsaConstructionTime, 0.2s SatisfiabilityAnalysisTime, 0.6s InterpolantComputationTime, 70 NumberOfCodeBlocks, 56 NumberOfCodeBlocksAsserted, 8 NumberOfCheckSat, 73 ConstructedInterpolants, 0 QuantifiedInterpolants, 131 SizeOfPredicates, 0 NumberOfNonLiveVariables, 411 ConjunctsInSsa, 9 ConjunctsInUnsatCore, 10 InterpolantComputations, 4 PerfectInterpolantSequences, 120/153 InterpolantCoveringCapability, INVARIANT_SYNTHESIS: No data available, INTERPOLANT_CONSOLIDATION: No data available, ABSTRACT_INTERPRETATION: No data available, PDR: No data available, ACCELERATED_INTERPOLATION: No data available, SIFA: No data available, ReuseStatistics: No data available, ConComCheckerStatistics: No data available - AllSpecificationsHoldResult: All specifications hold 37 specifications checked. All of them hold RESULT: Ultimate proved your program to be correct! [2025-02-08 08:29:26,666 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate-jdk21/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:4000 (1)] Forceful destruction successful, exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Writing output log to file Ultimate.log Result: TRUE