java -Xmx6000000000 -jar ./plugins/org.eclipse.equinox.launcher_1.3.100.v20150511-1540.jar -data ./data --generate-csv --csv-dir ../../../releaseScripts/default/UAutomizer-linux/csv -tc ../../../trunk/examples/toolchains/AutomizerCTransformed.xml -s ../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf -i ../../../trunk/examples/svcomp/array-memsafety/cstrcat_unsafe_false-valid-deref.i -------------------------------------------------------------------------------- This is Ultimate 0.1.23-35b68b2 [2018-04-06 22:37:16,688 INFO L170 SettingsManager]: Resetting all preferences to default values... [2018-04-06 22:37:16,689 INFO L174 SettingsManager]: Resetting UltimateCore preferences to default values [2018-04-06 22:37:16,702 INFO L177 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2018-04-06 22:37:16,702 INFO L174 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2018-04-06 22:37:16,703 INFO L174 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2018-04-06 22:37:16,704 INFO L174 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2018-04-06 22:37:16,706 INFO L174 SettingsManager]: Resetting LassoRanker preferences to default values [2018-04-06 22:37:16,708 INFO L174 SettingsManager]: Resetting Reaching Definitions preferences to default values [2018-04-06 22:37:16,709 INFO L174 SettingsManager]: Resetting SyntaxChecker preferences to default values [2018-04-06 22:37:16,710 INFO L177 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2018-04-06 22:37:16,710 INFO L174 SettingsManager]: Resetting LTL2Aut preferences to default values [2018-04-06 22:37:16,711 INFO L174 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2018-04-06 22:37:16,712 INFO L174 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2018-04-06 22:37:16,713 INFO L174 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2018-04-06 22:37:16,715 INFO L174 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2018-04-06 22:37:16,717 INFO L174 SettingsManager]: Resetting CodeCheck preferences to default values [2018-04-06 22:37:16,719 INFO L174 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2018-04-06 22:37:16,720 INFO L174 SettingsManager]: Resetting RCFGBuilder preferences to default values [2018-04-06 22:37:16,721 INFO L174 SettingsManager]: Resetting TraceAbstraction preferences to default values [2018-04-06 22:37:16,724 INFO L177 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2018-04-06 22:37:16,724 INFO L177 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2018-04-06 22:37:16,724 INFO L174 SettingsManager]: Resetting IcfgTransformer preferences to default values [2018-04-06 22:37:16,725 INFO L174 SettingsManager]: Resetting Boogie Printer preferences to default values [2018-04-06 22:37:16,726 INFO L174 SettingsManager]: Resetting Witness Printer preferences to default values [2018-04-06 22:37:16,727 INFO L177 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2018-04-06 22:37:16,728 INFO L174 SettingsManager]: Resetting CDTParser preferences to default values [2018-04-06 22:37:16,728 INFO L174 SettingsManager]: Resetting PEA to Boogie preferences to default values [2018-04-06 22:37:16,729 INFO L177 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2018-04-06 22:37:16,729 INFO L174 SettingsManager]: Resetting Witness Parser preferences to default values [2018-04-06 22:37:16,730 INFO L181 SettingsManager]: Finished resetting all preferences to default values... [2018-04-06 22:37:16,730 INFO L98 SettingsManager]: Beginning loading settings from /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/ai/eq-bench/svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf [2018-04-06 22:37:16,752 INFO L110 SettingsManager]: Loading preferences was successful [2018-04-06 22:37:16,752 INFO L112 SettingsManager]: Preferences different from defaults after loading the file: [2018-04-06 22:37:16,752 INFO L131 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2018-04-06 22:37:16,753 INFO L133 SettingsManager]: * ultimate.logging.details=de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation=DEBUG; [2018-04-06 22:37:16,753 INFO L131 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2018-04-06 22:37:16,753 INFO L133 SettingsManager]: * to procedures, called more than once=true [2018-04-06 22:37:16,753 INFO L131 SettingsManager]: Preferences of Abstract Interpretation differ from their defaults: [2018-04-06 22:37:16,753 INFO L133 SettingsManager]: * Abstract domain for RCFG-of-the-future=VPDomain [2018-04-06 22:37:16,753 INFO L133 SettingsManager]: * Parallel states before merging=1 [2018-04-06 22:37:16,754 INFO L133 SettingsManager]: * Use the RCFG-of-the-future interface=true [2018-04-06 22:37:16,754 INFO L131 SettingsManager]: Preferences of LTL2Aut differ from their defaults: [2018-04-06 22:37:16,754 INFO L133 SettingsManager]: * Property to check=[] a a: x > 42 [2018-04-06 22:37:16,754 INFO L131 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2018-04-06 22:37:16,754 INFO L133 SettingsManager]: * sizeof long=4 [2018-04-06 22:37:16,754 INFO L133 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2018-04-06 22:37:16,755 INFO L133 SettingsManager]: * Overapproximate operations on floating types=true [2018-04-06 22:37:16,755 INFO L133 SettingsManager]: * sizeof POINTER=4 [2018-04-06 22:37:16,755 INFO L133 SettingsManager]: * Check division by zero=IGNORE [2018-04-06 22:37:16,755 INFO L133 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2018-04-06 22:37:16,755 INFO L133 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2018-04-06 22:37:16,755 INFO L133 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2018-04-06 22:37:16,756 INFO L133 SettingsManager]: * sizeof long double=12 [2018-04-06 22:37:16,756 INFO L131 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2018-04-06 22:37:16,756 INFO L133 SettingsManager]: * Size of a code block=SingleStatement [2018-04-06 22:37:16,756 INFO L133 SettingsManager]: * Add additional assume for each assert=false [2018-04-06 22:37:16,756 INFO L133 SettingsManager]: * SMT solver=External_DefaultMode [2018-04-06 22:37:16,757 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-04-06 22:37:16,757 INFO L131 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2018-04-06 22:37:16,757 INFO L133 SettingsManager]: * Interpolant automaton=TWOTRACK [2018-04-06 22:37:16,757 INFO L133 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2018-04-06 22:37:16,757 INFO L133 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2018-04-06 22:37:16,757 INFO L133 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2018-04-06 22:37:16,757 INFO L133 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-04-06 22:37:16,758 INFO L133 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2018-04-06 22:37:16,758 INFO L131 SettingsManager]: Preferences of IcfgTransformer differ from their defaults: [2018-04-06 22:37:16,758 INFO L133 SettingsManager]: * TransformationType=HEAP_SEPARATOR [2018-04-06 22:37:16,759 INFO L131 SettingsManager]: Preferences of Boogie Printer differ from their defaults: [2018-04-06 22:37:16,759 INFO L133 SettingsManager]: * Dump path:=C:\Users\alex\AppData\Local\Temp\ [2018-04-06 22:37:16,790 INFO L81 nceAwareModelManager]: Repository-Root is: /tmp [2018-04-06 22:37:16,800 INFO L266 ainManager$Toolchain]: [Toolchain 1]: Parser(s) successfully (re)initialized [2018-04-06 22:37:16,803 INFO L222 ainManager$Toolchain]: [Toolchain 1]: Toolchain data selected. [2018-04-06 22:37:16,804 INFO L271 PluginConnector]: Initializing CDTParser... [2018-04-06 22:37:16,805 INFO L276 PluginConnector]: CDTParser initialized [2018-04-06 22:37:16,805 INFO L431 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/array-memsafety/cstrcat_unsafe_false-valid-deref.i [2018-04-06 22:37:17,118 INFO L225 CDTParser]: Created temporary CDT project at /storage/ultimate/releaseScripts/default/UAutomizer-linux/data/FLAGe491d2c8c [2018-04-06 22:37:17,233 INFO L287 CDTParser]: IsIndexed: true [2018-04-06 22:37:17,233 INFO L288 CDTParser]: Found 1 translation units. [2018-04-06 22:37:17,234 INFO L168 CDTParser]: Scanning cstrcat_unsafe_false-valid-deref.i [2018-04-06 22:37:17,235 INFO L210 ultiparseSymbolTable]: Include resolver: [2018-04-06 22:37:17,235 INFO L215 ultiparseSymbolTable]: [2018-04-06 22:37:17,235 INFO L218 ultiparseSymbolTable]: Function table: [2018-04-06 22:37:17,235 INFO L221 ultiparseSymbolTable]: Function definition of null ('main') in cstrcat_unsafe_false-valid-deref.i [2018-04-06 22:37:17,235 INFO L221 ultiparseSymbolTable]: Function definition of __U_MULTI_fcstrcat_unsafe_false_valid_deref_i__ ('') in cstrcat_unsafe_false-valid-deref.i [2018-04-06 22:37:17,235 INFO L227 ultiparseSymbolTable]: Global variable table: [2018-04-06 22:37:17,235 INFO L233 ultiparseSymbolTable]: [2018-04-06 22:37:17,250 INFO L330 CDTParser]: Deleted temporary CDT project at /storage/ultimate/releaseScripts/default/UAutomizer-linux/data/FLAGe491d2c8c [2018-04-06 22:37:17,255 INFO L304 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2018-04-06 22:37:17,257 INFO L131 ToolchainWalker]: Walking toolchain with 5 elements. [2018-04-06 22:37:17,258 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2018-04-06 22:37:17,258 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2018-04-06 22:37:17,263 INFO L276 PluginConnector]: CACSL2BoogieTranslator initialized [2018-04-06 22:37:17,264 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,266 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@bfce46f and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17, skipping insertion in model container [2018-04-06 22:37:17,266 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,280 INFO L167 Dispatcher]: Using SV-COMP mode [2018-04-06 22:37:17,291 INFO L167 Dispatcher]: Using SV-COMP mode [2018-04-06 22:37:17,408 INFO L175 PostProcessor]: Settings: Checked method=main [2018-04-06 22:37:17,430 INFO L175 PostProcessor]: Settings: Checked method=main [2018-04-06 22:37:17,434 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-06 22:37:17,442 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17 WrapperNode [2018-04-06 22:37:17,442 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2018-04-06 22:37:17,442 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2018-04-06 22:37:17,443 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2018-04-06 22:37:17,443 INFO L276 PluginConnector]: Boogie Preprocessor initialized [2018-04-06 22:37:17,452 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,452 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,459 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,459 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,463 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,467 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,468 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,470 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2018-04-06 22:37:17,470 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2018-04-06 22:37:17,471 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2018-04-06 22:37:17,471 INFO L276 PluginConnector]: RCFGBuilder initialized [2018-04-06 22:37:17,472 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (1/1) ... No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 1 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2018-04-06 22:37:17,521 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2018-04-06 22:37:17,521 INFO L136 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2018-04-06 22:37:17,521 INFO L136 BoogieDeclarations]: Found implementation of procedure cstrcat [2018-04-06 22:37:17,521 INFO L136 BoogieDeclarations]: Found implementation of procedure main [2018-04-06 22:37:17,521 INFO L128 BoogieDeclarations]: Found specification of procedure cstrcat [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure read~int [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure write~int [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure main [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure write~unchecked~int [2018-04-06 22:37:17,522 INFO L128 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2018-04-06 22:37:17,744 INFO L259 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2018-04-06 22:37:17,744 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.04 10:37:17 BoogieIcfgContainer [2018-04-06 22:37:17,744 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2018-04-06 22:37:17,745 INFO L113 PluginConnector]: ------------------------IcfgTransformer---------------------------- [2018-04-06 22:37:17,745 INFO L271 PluginConnector]: Initializing IcfgTransformer... [2018-04-06 22:37:17,745 INFO L276 PluginConnector]: IcfgTransformer initialized [2018-04-06 22:37:17,748 INFO L185 PluginConnector]: Executing the observer IcfgTransformationObserver from plugin IcfgTransformer for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.04 10:37:17" (1/1) ... [2018-04-06 22:37:17,756 INFO L139 apSepIcfgTransformer]: HeapSepIcfgTransformer: Starting heap partitioning [2018-04-06 22:37:17,756 INFO L140 apSepIcfgTransformer]: To be partitioned heap arrays found [#memory_int] [2018-04-06 22:37:17,771 INFO L299 apSepIcfgTransformer]: Heap separator: starting memloc-array-style preprocessing [2018-04-06 22:37:17,783 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-06 22:37:17,784 INFO L332 apSepIcfgTransformer]: finished MemlocArrayUpdater, created 2 location literals (each corresponds to one heap write) [2018-04-06 22:37:17,790 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-06 22:37:17,793 INFO L412 apSepIcfgTransformer]: finished preprocessing for the equality analysis [2018-04-06 22:37:17,793 DEBUG L416 apSepIcfgTransformer]: storeIndexInfoToLocLiteral: Map: (Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|) : |mll_L6'''''_1| (Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|) : |mll_L6'''''_0| [2018-04-06 22:37:17,795 DEBUG L418 apSepIcfgTransformer]: edgeToIndexToStoreIndexInfo: NestedMap2: (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') : |v_cstrcat_#t~post2.offset_3| : (Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|) (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') : |v_cstrcat_#t~post2.base_3| : (Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|) [2018-04-06 22:37:17,857 INFO L101 FixpointEngine]: Starting fixpoint engine with domain VPDomain (maxUnwinding=3, maxParallelStates=1) [2018-04-06 22:37:40,289 INFO L314 AbstractInterpreter]: Visited 54 different actions 193 times. Merged at 37 different actions 117 times. Widened at 1 different actions 2 times. Found 9 fixpoints after 5 different actions. Largest state had 38 variables. [2018-04-06 22:37:40,292 INFO L424 apSepIcfgTransformer]: finished equality analysis [2018-04-06 22:37:40,299 INFO L195 HeapSepPreAnalysis]: Number of read from array group [#memory_int] : 3 [2018-04-06 22:37:40,300 INFO L434 apSepIcfgTransformer]: Finished pre analysis before partitioning [2018-04-06 22:37:40,300 INFO L435 apSepIcfgTransformer]: array groups: Set: [#memory_int] [2018-04-06 22:37:40,300 INFO L437 apSepIcfgTransformer]: select infos: Set: ((select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|), at (SUMMARY for call #t~mem4 := read~int(#t~post3.base, #t~post3.offset, 1); srcloc: L6'''')) ((select |v_#memory_int_4| |v_cstrcat_#t~post2.base_3|), at (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''')) ((select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2), at (SUMMARY for call #t~mem0 := read~int(~s~0.base, ~s~0.offset, 1); srcloc: L4)) [2018-04-06 22:37:40,306 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_32 [2018-04-06 22:37:40,306 DEBUG L374 HeapPartitionManager]: with contents [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-06 22:37:40,306 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_32 [2018-04-06 22:37:40,306 DEBUG L324 HeapPartitionManager]: at dimension 0 for ((select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|), at (SUMMARY for call #t~mem4 := read~int(#t~post3.base, #t~post3.offset, 1); srcloc: L6'''')) [2018-04-06 22:37:40,306 DEBUG L325 HeapPartitionManager]: write locations: [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-06 22:37:40,306 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_31 [2018-04-06 22:37:40,307 DEBUG L374 HeapPartitionManager]: with contents [(Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|)] [2018-04-06 22:37:40,307 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_31 [2018-04-06 22:37:40,307 DEBUG L324 HeapPartitionManager]: at dimension 1 for ((select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|), at (SUMMARY for call #t~mem4 := read~int(#t~post3.base, #t~post3.offset, 1); srcloc: L6'''')) [2018-04-06 22:37:40,307 DEBUG L325 HeapPartitionManager]: write locations: [(Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|)] [2018-04-06 22:37:40,307 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_32 [2018-04-06 22:37:40,307 DEBUG L324 HeapPartitionManager]: at dimension 0 for ((select |v_#memory_int_4| |v_cstrcat_#t~post2.base_3|), at (SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''')) [2018-04-06 22:37:40,308 DEBUG L325 HeapPartitionManager]: write locations: [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-06 22:37:40,308 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_30 [2018-04-06 22:37:40,308 DEBUG L374 HeapPartitionManager]: with contents [NoStoreIndexInfo] [2018-04-06 22:37:40,308 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_30 [2018-04-06 22:37:40,308 DEBUG L324 HeapPartitionManager]: at dimension 0 for ((select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2), at (SUMMARY for call #t~mem0 := read~int(~s~0.base, ~s~0.offset, 1); srcloc: L4)) [2018-04-06 22:37:40,309 DEBUG L325 HeapPartitionManager]: write locations: [NoStoreIndexInfo] [2018-04-06 22:37:40,309 DEBUG L373 HeapPartitionManager]: creating LocationBlock locs_30 [2018-04-06 22:37:40,309 DEBUG L374 HeapPartitionManager]: with contents [NoStoreIndexInfo] [2018-04-06 22:37:40,309 DEBUG L323 HeapPartitionManager]: adding LocationBlock locs_30 [2018-04-06 22:37:40,309 DEBUG L324 HeapPartitionManager]: at dimension 1 for ((select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2), at (SUMMARY for call #t~mem0 := read~int(~s~0.base, ~s~0.offset, 1); srcloc: L4)) [2018-04-06 22:37:40,309 DEBUG L325 HeapPartitionManager]: write locations: [NoStoreIndexInfo] [2018-04-06 22:37:40,310 INFO L330 HeapPartitionManager]: partitioning result: [2018-04-06 22:37:40,310 INFO L335 HeapPartitionManager]: location blocks for array group [#memory_int] [2018-04-06 22:37:40,310 INFO L344 HeapPartitionManager]: at dimension 0 [2018-04-06 22:37:40,310 INFO L345 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 2 [2018-04-06 22:37:40,310 INFO L346 HeapPartitionManager]: # location blocks :2 [2018-04-06 22:37:40,311 DEBUG L353 HeapPartitionManager]: location block contents: [2018-04-06 22:37:40,311 DEBUG L356 HeapPartitionManager]: [(Store [1] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.base_3|)] [2018-04-06 22:37:40,311 DEBUG L356 HeapPartitionManager]: [NoStoreIndexInfo] [2018-04-06 22:37:40,311 INFO L344 HeapPartitionManager]: at dimension 1 [2018-04-06 22:37:40,311 INFO L345 HeapPartitionManager]: # array writes (possibly including 1 dummy write/NoStoreIndexInfo) : 2 [2018-04-06 22:37:40,311 INFO L346 HeapPartitionManager]: # location blocks :2 [2018-04-06 22:37:40,312 DEBUG L353 HeapPartitionManager]: location block contents: [2018-04-06 22:37:40,312 DEBUG L356 HeapPartitionManager]: [NoStoreIndexInfo] [2018-04-06 22:37:40,312 DEBUG L356 HeapPartitionManager]: [(Store [0] at(SUMMARY for call write~int(#t~mem4, #t~post2.base, #t~post2.offset, 1); srcloc: L6''''') with |v_cstrcat_#t~post2.offset_3|)] [2018-04-06 22:37:40,313 INFO L131 ransitionTransformer]: executing heap partitioning transformation [2018-04-06 22:37:40,317 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,317 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,318 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,319 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,319 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,320 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,320 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,320 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,320 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,321 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_#NULL.offset_1| 0) (= |v_#NULL.base_1| 0)) InVars {} OutVars{#NULL.offset=|v_#NULL.offset_1|, #NULL.base=|v_#NULL.base_1|} AuxVars[] AssignedVars[#NULL.offset, #NULL.base] [2018-04-06 22:37:40,321 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,321 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,321 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,321 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,322 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,322 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,322 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,322 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{main_~s1~0.offset=v_main_~s1~0.offset_1, main_~s1~0.base=v_main_~s1~0.base_1} AuxVars[] AssignedVars[main_~s1~0.offset, main_~s1~0.base] [2018-04-06 22:37:40,322 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,322 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,323 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,324 DEBUG L281 ransitionTransformer]: Formula: (= |v_#valid_1| (store |v_#valid_2| 0 0)) InVars {#valid=|v_#valid_2|} OutVars{#valid=|v_#valid_1|} AuxVars[] AssignedVars[#valid] [2018-04-06 22:37:40,324 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,324 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,324 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,324 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{main_~s2~0.offset=v_main_~s2~0.offset_1, main_~s2~0.base=v_main_~s2~0.base_1} AuxVars[] AssignedVars[main_~s2~0.base, main_~s2~0.offset] [2018-04-06 22:37:40,325 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,325 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,325 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,325 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,325 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,326 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,326 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,326 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_cstrcat_#in~s1.baseInParam_1| v_main_~s1~0.base_3) (= |v_cstrcat_#in~s2.offsetInParam_1| v_main_~s2~0.offset_3) (= |v_cstrcat_#in~s2.baseInParam_1| v_main_~s2~0.base_3) (= |v_cstrcat_#in~s1.offsetInParam_1| v_main_~s1~0.offset_3)) InVars {main_~s2~0.offset=v_main_~s2~0.offset_3, main_~s1~0.offset=v_main_~s1~0.offset_3, main_~s2~0.base=v_main_~s2~0.base_3, main_~s1~0.base=v_main_~s1~0.base_3} OutVars{cstrcat_#in~s1.base=|v_cstrcat_#in~s1.baseInParam_1|, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.baseInParam_1|, cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offsetInParam_1|, cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offsetInParam_1|} AuxVars[] AssignedVars[cstrcat_#in~s1.base, cstrcat_#in~s2.base, cstrcat_#in~s1.offset, cstrcat_#in~s2.offset] [2018-04-06 22:37:40,326 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,326 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,327 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,327 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{main_#t~ret5.offset=|v_main_#t~ret5.offset_2|, main_#t~ret5.base=|v_main_#t~ret5.base_2|} AuxVars[] AssignedVars[main_#t~ret5.offset, main_#t~ret5.base] [2018-04-06 22:37:40,327 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,327 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,328 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,328 DEBUG L281 ransitionTransformer]: Formula: (and (= v_cstrcat_~s1.base_1 |v_cstrcat_#in~s1.base_1|) (= v_cstrcat_~s1.offset_1 |v_cstrcat_#in~s1.offset_1|)) InVars {cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offset_1|, cstrcat_#in~s1.base=|v_cstrcat_#in~s1.base_1|} OutVars{cstrcat_~s1.offset=v_cstrcat_~s1.offset_1, cstrcat_#in~s1.base=|v_cstrcat_#in~s1.base_1|, cstrcat_#in~s1.offset=|v_cstrcat_#in~s1.offset_1|, cstrcat_~s1.base=v_cstrcat_~s1.base_1} AuxVars[] AssignedVars[cstrcat_~s1.offset, cstrcat_~s1.base] [2018-04-06 22:37:40,328 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,328 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,328 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,328 DEBUG L281 ransitionTransformer]: Formula: (= |v_main_#res_1| 0) InVars {} OutVars{main_#res=|v_main_#res_1|} AuxVars[] AssignedVars[main_#res] [2018-04-06 22:37:40,329 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,329 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,329 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,329 DEBUG L281 ransitionTransformer]: Formula: (and (= v_cstrcat_~s2.base_1 |v_cstrcat_#in~s2.base_1|) (= v_cstrcat_~s2.offset_1 |v_cstrcat_#in~s2.offset_1|)) InVars {cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offset_1|, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.base_1|} OutVars{cstrcat_~s2.offset=v_cstrcat_~s2.offset_1, cstrcat_#in~s2.base=|v_cstrcat_#in~s2.base_1|, cstrcat_#in~s2.offset=|v_cstrcat_#in~s2.offset_1|, cstrcat_~s2.base=v_cstrcat_~s2.base_1} AuxVars[] AssignedVars[cstrcat_~s2.base, cstrcat_~s2.offset] [2018-04-06 22:37:40,330 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,330 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,330 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,330 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,330 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,331 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,331 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,331 DEBUG L281 ransitionTransformer]: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,331 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,331 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,332 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,332 DEBUG L281 ransitionTransformer]: Formula: (and (= v_cstrcat_~s~0.base_1 v_cstrcat_~s1.base_2) (= v_cstrcat_~s~0.offset_1 v_cstrcat_~s1.offset_2)) InVars {cstrcat_~s1.offset=v_cstrcat_~s1.offset_2, cstrcat_~s1.base=v_cstrcat_~s1.base_2} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_1, cstrcat_~s1.offset=v_cstrcat_~s1.offset_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_1, cstrcat_~s1.base=v_cstrcat_~s1.base_2} AuxVars[] AssignedVars[cstrcat_~s~0.base, cstrcat_~s~0.offset] [2018-04-06 22:37:40,332 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,332 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,332 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,332 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,333 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,333 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,333 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,333 DEBUG L281 ransitionTransformer]: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,333 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,334 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,336 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,337 DEBUG L281 ransitionTransformer]: Formula: (and (= (select (select |v_#memory_int_part_locs_30_locs_30_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2) |v_cstrcat_#t~mem0_1|) (<= 0 v_cstrcat_~s~0.offset_2) (= (select |v_#valid_3| v_cstrcat_~s~0.base_2) 1) (<= (+ v_cstrcat_~s~0.offset_2 1) (select |v_#length_1| v_cstrcat_~s~0.base_2))) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_#t~mem0=|v_cstrcat_#t~mem0_1|} AuxVars[] AssignedVars[cstrcat_#t~mem0] [2018-04-06 22:37:40,337 DEBUG L288 ransitionTransformer]: formula has changed [2018-04-06 22:37:40,337 DEBUG L289 ransitionTransformer]: old formula: [2018-04-06 22:37:40,337 DEBUG L290 ransitionTransformer]: (and (= (select (select |v_#memory_int_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2) |v_cstrcat_#t~mem0_1|) (<= 0 v_cstrcat_~s~0.offset_2) (= (select |v_#valid_3| v_cstrcat_~s~0.base_2) 1) (<= (+ v_cstrcat_~s~0.offset_2 1) (select |v_#length_1| v_cstrcat_~s~0.base_2))) [2018-04-06 22:37:40,337 DEBUG L291 ransitionTransformer]: new formula: [2018-04-06 22:37:40,337 DEBUG L292 ransitionTransformer]: (and (= (select (select |v_#memory_int_part_locs_30_locs_30_1| v_cstrcat_~s~0.base_2) v_cstrcat_~s~0.offset_2) |v_cstrcat_#t~mem0_1|) (<= 0 v_cstrcat_~s~0.offset_2) (= (select |v_#valid_3| v_cstrcat_~s~0.base_2) 1) (<= (+ v_cstrcat_~s~0.offset_2 1) (select |v_#length_1| v_cstrcat_~s~0.base_2))) [2018-04-06 22:37:40,338 DEBUG L296 ransitionTransformer]: invars have changed [2018-04-06 22:37:40,338 DEBUG L297 ransitionTransformer]: old invars: [2018-04-06 22:37:40,338 DEBUG L298 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #memory_int=|v_#memory_int_1|, #length=|v_#length_1|} [2018-04-06 22:37:40,338 DEBUG L299 ransitionTransformer]: new invars: [2018-04-06 22:37:40,338 DEBUG L300 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|} [2018-04-06 22:37:40,339 DEBUG L304 ransitionTransformer]: outvars have changed [2018-04-06 22:37:40,339 DEBUG L305 ransitionTransformer]: old outvars: [2018-04-06 22:37:40,339 DEBUG L306 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #memory_int=|v_#memory_int_1|, #length=|v_#length_1|, cstrcat_#t~mem0=|v_cstrcat_#t~mem0_1|} [2018-04-06 22:37:40,339 DEBUG L307 ransitionTransformer]: new outvars: [2018-04-06 22:37:40,339 DEBUG L308 ransitionTransformer]: {cstrcat_~s~0.base=v_cstrcat_~s~0.base_2, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_2, #valid=|v_#valid_3|, #length=|v_#length_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_1|, cstrcat_#t~mem0=|v_cstrcat_#t~mem0_1|} [2018-04-06 22:37:40,339 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,340 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,340 DEBUG L281 ransitionTransformer]: Formula: (not (= 1 (select |v_#valid_4| v_cstrcat_~s~0.base_3))) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_3, #valid=|v_#valid_4|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_3, #valid=|v_#valid_4|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,340 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,340 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,341 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,341 DEBUG L281 ransitionTransformer]: Formula: (or (not (<= (+ v_cstrcat_~s~0.offset_3 1) (select |v_#length_2| v_cstrcat_~s~0.base_4))) (not (<= 0 v_cstrcat_~s~0.offset_3))) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_4, #length=|v_#length_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_3} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_4, #length=|v_#length_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_3} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,341 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,341 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,341 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,342 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,342 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,342 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,342 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,342 DEBUG L281 ransitionTransformer]: Formula: false InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,342 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,343 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,343 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,343 DEBUG L281 ransitionTransformer]: Formula: (= |v_cstrcat_#t~mem0_2| 0) InVars {cstrcat_#t~mem0=|v_cstrcat_#t~mem0_2|} OutVars{cstrcat_#t~mem0=|v_cstrcat_#t~mem0_2|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,343 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,344 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,344 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,344 DEBUG L281 ransitionTransformer]: Formula: (not (= |v_cstrcat_#t~mem0_4| 0)) InVars {cstrcat_#t~mem0=|v_cstrcat_#t~mem0_4|} OutVars{cstrcat_#t~mem0=|v_cstrcat_#t~mem0_4|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,344 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,344 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,345 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,345 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_cstrcat_#t~post2.base_1| v_cstrcat_~s~0.base_7) (= |v_cstrcat_#t~post2.offset_1| v_cstrcat_~s~0.offset_6)) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_7, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_6} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_7, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_1|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_1|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_6} AuxVars[] AssignedVars[cstrcat_#t~post2.base, cstrcat_#t~post2.offset] [2018-04-06 22:37:40,345 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,345 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,345 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,346 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_cstrcat_#res.offset_1| v_cstrcat_~s1.offset_3) (= |v_cstrcat_#res.base_1| v_cstrcat_~s1.base_3)) InVars {cstrcat_~s1.offset=v_cstrcat_~s1.offset_3, cstrcat_~s1.base=v_cstrcat_~s1.base_3} OutVars{cstrcat_#res.base=|v_cstrcat_#res.base_1|, cstrcat_~s1.offset=v_cstrcat_~s1.offset_3, cstrcat_~s1.base=v_cstrcat_~s1.base_3, cstrcat_#res.offset=|v_cstrcat_#res.offset_1|} AuxVars[] AssignedVars[cstrcat_#res.base, cstrcat_#res.offset] [2018-04-06 22:37:40,346 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,346 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,346 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,346 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~mem0=|v_cstrcat_#t~mem0_3|} AuxVars[] AssignedVars[cstrcat_#t~mem0] [2018-04-06 22:37:40,346 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,347 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,347 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,347 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~mem0=|v_cstrcat_#t~mem0_5|} AuxVars[] AssignedVars[cstrcat_#t~mem0] [2018-04-06 22:37:40,347 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,347 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,348 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,348 DEBUG L281 ransitionTransformer]: Formula: (and (= v_cstrcat_~s~0.offset_7 (+ |v_cstrcat_#t~post2.offset_2| 1)) (= v_cstrcat_~s~0.base_8 |v_cstrcat_#t~post2.base_2|)) InVars {cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_2|, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_2|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_8, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_2|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_7} AuxVars[] AssignedVars[cstrcat_~s~0.base, cstrcat_~s~0.offset] [2018-04-06 22:37:40,348 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,348 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,348 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,349 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,349 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,349 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,349 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,349 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_cstrcat_#t~post1.base_1| v_cstrcat_~s~0.base_5) (= |v_cstrcat_#t~post1.offset_1| v_cstrcat_~s~0.offset_4)) InVars {cstrcat_~s~0.base=v_cstrcat_~s~0.base_5, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_4} OutVars{cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_1|, cstrcat_~s~0.base=v_cstrcat_~s~0.base_5, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_4, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_1|} AuxVars[] AssignedVars[cstrcat_#t~post1.base, cstrcat_#t~post1.offset] [2018-04-06 22:37:40,349 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,350 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,350 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,350 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_cstrcat_#t~post3.base_1| v_cstrcat_~s2.base_2) (= |v_cstrcat_#t~post3.offset_1| v_cstrcat_~s2.offset_2)) InVars {cstrcat_~s2.offset=v_cstrcat_~s2.offset_2, cstrcat_~s2.base=v_cstrcat_~s2.base_2} OutVars{cstrcat_~s2.offset=v_cstrcat_~s2.offset_2, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_1|, cstrcat_~s2.base=v_cstrcat_~s2.base_2} AuxVars[] AssignedVars[cstrcat_#t~post3.base, cstrcat_#t~post3.offset] [2018-04-06 22:37:40,350 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,350 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,351 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,351 DEBUG L281 ransitionTransformer]: Formula: (and (= v_cstrcat_~s~0.offset_5 (+ |v_cstrcat_#t~post1.offset_2| 1)) (= v_cstrcat_~s~0.base_6 |v_cstrcat_#t~post1.base_2|)) InVars {cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_2|, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_2|} OutVars{cstrcat_~s~0.base=v_cstrcat_~s~0.base_6, cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_2|, cstrcat_~s~0.offset=v_cstrcat_~s~0.offset_5, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_2|} AuxVars[] AssignedVars[cstrcat_~s~0.base, cstrcat_~s~0.offset] [2018-04-06 22:37:40,351 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,351 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,352 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,352 DEBUG L281 ransitionTransformer]: Formula: (and (= v_cstrcat_~s2.base_3 |v_cstrcat_#t~post3.base_2|) (= v_cstrcat_~s2.offset_3 (+ |v_cstrcat_#t~post3.offset_2| 1))) InVars {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_2|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_2|} OutVars{cstrcat_~s2.offset=v_cstrcat_~s2.offset_3, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_2|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_2|, cstrcat_~s2.base=v_cstrcat_~s2.base_3} AuxVars[] AssignedVars[cstrcat_~s2.base, cstrcat_~s2.offset] [2018-04-06 22:37:40,352 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,352 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,352 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,353 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~post1.base=|v_cstrcat_#t~post1.base_3|, cstrcat_#t~post1.offset=|v_cstrcat_#t~post1.offset_3|} AuxVars[] AssignedVars[cstrcat_#t~post1.base, cstrcat_#t~post1.offset] [2018-04-06 22:37:40,353 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,353 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,354 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,354 DEBUG L281 ransitionTransformer]: Formula: (and (= (select (select |v_#memory_int_part_locs_32_locs_31_1| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|) |v_cstrcat_#t~mem4_1|) (= 1 (select |v_#valid_5| |v_cstrcat_#t~post3.base_3|)) (<= (+ |v_cstrcat_#t~post3.offset_3| 1) (select |v_#length_3| |v_cstrcat_#t~post3.base_3|)) (<= 0 |v_cstrcat_#t~post3.offset_3|)) InVars {#memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|, #valid=|v_#valid_5|} OutVars{cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} AuxVars[] AssignedVars[cstrcat_#t~mem4] [2018-04-06 22:37:40,354 DEBUG L288 ransitionTransformer]: formula has changed [2018-04-06 22:37:40,354 DEBUG L289 ransitionTransformer]: old formula: [2018-04-06 22:37:40,355 DEBUG L290 ransitionTransformer]: (and (= (select (select |v_#memory_int_2| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|) |v_cstrcat_#t~mem4_1|) (= 1 (select |v_#valid_5| |v_cstrcat_#t~post3.base_3|)) (<= (+ |v_cstrcat_#t~post3.offset_3| 1) (select |v_#length_3| |v_cstrcat_#t~post3.base_3|)) (<= 0 |v_cstrcat_#t~post3.offset_3|)) [2018-04-06 22:37:40,355 DEBUG L291 ransitionTransformer]: new formula: [2018-04-06 22:37:40,355 DEBUG L292 ransitionTransformer]: (and (= (select (select |v_#memory_int_part_locs_32_locs_31_1| |v_cstrcat_#t~post3.base_3|) |v_cstrcat_#t~post3.offset_3|) |v_cstrcat_#t~mem4_1|) (= 1 (select |v_#valid_5| |v_cstrcat_#t~post3.base_3|)) (<= (+ |v_cstrcat_#t~post3.offset_3| 1) (select |v_#length_3| |v_cstrcat_#t~post3.base_3|)) (<= 0 |v_cstrcat_#t~post3.offset_3|)) [2018-04-06 22:37:40,355 DEBUG L296 ransitionTransformer]: invars have changed [2018-04-06 22:37:40,355 DEBUG L297 ransitionTransformer]: old invars: [2018-04-06 22:37:40,355 DEBUG L298 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int=|v_#memory_int_2|, #length=|v_#length_3|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} [2018-04-06 22:37:40,356 DEBUG L299 ransitionTransformer]: new invars: [2018-04-06 22:37:40,356 DEBUG L300 ransitionTransformer]: {#memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|, #valid=|v_#valid_5|} [2018-04-06 22:37:40,356 DEBUG L304 ransitionTransformer]: outvars have changed [2018-04-06 22:37:40,356 DEBUG L305 ransitionTransformer]: old outvars: [2018-04-06 22:37:40,356 DEBUG L306 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int=|v_#memory_int_2|, #length=|v_#length_3|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} [2018-04-06 22:37:40,356 DEBUG L307 ransitionTransformer]: new outvars: [2018-04-06 22:37:40,357 DEBUG L308 ransitionTransformer]: {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_3|, #valid=|v_#valid_5|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_1|, #length=|v_#length_3|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_1|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_3|} [2018-04-06 22:37:40,357 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,357 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,357 DEBUG L281 ransitionTransformer]: Formula: (not (= (select |v_#valid_6| |v_cstrcat_#t~post3.base_4|) 1)) InVars {cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_4|, #valid=|v_#valid_6|} OutVars{cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_4|, #valid=|v_#valid_6|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,357 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,358 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,358 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,358 DEBUG L281 ransitionTransformer]: Formula: (or (not (<= (+ |v_cstrcat_#t~post3.offset_4| 1) (select |v_#length_4| |v_cstrcat_#t~post3.base_5|))) (not (<= 0 |v_cstrcat_#t~post3.offset_4|))) InVars {#length=|v_#length_4|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_5|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_4|} OutVars{#length=|v_#length_4|, cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_5|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_4|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,358 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,358 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,361 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,362 DEBUG L281 ransitionTransformer]: Formula: (and (<= 0 |v_cstrcat_#t~post2.offset_3|) (= 1 (select |v_#valid_7| |v_cstrcat_#t~post2.base_3|)) (<= (+ |v_cstrcat_#t~post2.offset_3| 1) (select |v_#length_5| |v_cstrcat_#t~post2.base_3|)) (and (= |v_#memory_int_part_locs_30_locs_31_1| |v_#memory_int_part_locs_30_locs_31_2|) (= |v_#memory_int_part_locs_32_locs_30_1| (store |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3| (select |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3|))) (= |v_#memory_int_part_locs_32_locs_31_2| (store |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3| (store (select |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3|) |v_cstrcat_#t~post2.offset_3| |v_cstrcat_#t~mem4_2|))) (= |v_#memory_int_part_locs_30_locs_30_2| |v_#memory_int_part_locs_30_locs_30_3|))) InVars {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_2|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_3|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|, #memory_int_part_locs_30_locs_31=|v_#memory_int_part_locs_30_locs_31_2|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_3|} OutVars{cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_1|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_2|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|, #memory_int_part_locs_30_locs_31=|v_#memory_int_part_locs_30_locs_31_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_2|} AuxVars[] AssignedVars[#memory_int_part_locs_32_locs_30, #memory_int_part_locs_32_locs_31, #memory_int_part_locs_30_locs_31, #memory_int_part_locs_30_locs_30] [2018-04-06 22:37:40,362 DEBUG L288 ransitionTransformer]: formula has changed [2018-04-06 22:37:40,362 DEBUG L289 ransitionTransformer]: old formula: [2018-04-06 22:37:40,362 DEBUG L290 ransitionTransformer]: (and (<= 0 |v_cstrcat_#t~post2.offset_3|) (= 1 (select |v_#valid_7| |v_cstrcat_#t~post2.base_3|)) (<= (+ |v_cstrcat_#t~post2.offset_3| 1) (select |v_#length_5| |v_cstrcat_#t~post2.base_3|)) (= |v_#memory_int_3| (store |v_#memory_int_4| |v_cstrcat_#t~post2.base_3| (store (select |v_#memory_int_4| |v_cstrcat_#t~post2.base_3|) |v_cstrcat_#t~post2.offset_3| |v_cstrcat_#t~mem4_2|)))) [2018-04-06 22:37:40,362 DEBUG L291 ransitionTransformer]: new formula: [2018-04-06 22:37:40,362 DEBUG L292 ransitionTransformer]: (and (<= 0 |v_cstrcat_#t~post2.offset_3|) (= 1 (select |v_#valid_7| |v_cstrcat_#t~post2.base_3|)) (<= (+ |v_cstrcat_#t~post2.offset_3| 1) (select |v_#length_5| |v_cstrcat_#t~post2.base_3|)) (and (= |v_#memory_int_part_locs_30_locs_31_1| |v_#memory_int_part_locs_30_locs_31_2|) (= |v_#memory_int_part_locs_32_locs_30_1| (store |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3| (select |v_#memory_int_part_locs_32_locs_30_2| |v_cstrcat_#t~post2.base_3|))) (= |v_#memory_int_part_locs_32_locs_31_2| (store |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3| (store (select |v_#memory_int_part_locs_32_locs_31_3| |v_cstrcat_#t~post2.base_3|) |v_cstrcat_#t~post2.offset_3| |v_cstrcat_#t~mem4_2|))) (= |v_#memory_int_part_locs_30_locs_30_2| |v_#memory_int_part_locs_30_locs_30_3|))) [2018-04-06 22:37:40,363 DEBUG L296 ransitionTransformer]: invars have changed [2018-04-06 22:37:40,363 DEBUG L297 ransitionTransformer]: old invars: [2018-04-06 22:37:40,363 DEBUG L298 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int=|v_#memory_int_4|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} [2018-04-06 22:37:40,363 DEBUG L299 ransitionTransformer]: new invars: [2018-04-06 22:37:40,363 DEBUG L300 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_2|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_3|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|, #memory_int_part_locs_30_locs_31=|v_#memory_int_part_locs_30_locs_31_2|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_3|} [2018-04-06 22:37:40,364 DEBUG L304 ransitionTransformer]: outvars have changed [2018-04-06 22:37:40,364 DEBUG L305 ransitionTransformer]: old outvars: [2018-04-06 22:37:40,364 DEBUG L306 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int=|v_#memory_int_3|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|} [2018-04-06 22:37:40,364 DEBUG L307 ransitionTransformer]: new outvars: [2018-04-06 22:37:40,364 DEBUG L308 ransitionTransformer]: {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_3|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_3|, #valid=|v_#valid_7|, #memory_int_part_locs_32_locs_30=|v_#memory_int_part_locs_32_locs_30_1|, #memory_int_part_locs_32_locs_31=|v_#memory_int_part_locs_32_locs_31_2|, #length=|v_#length_5|, cstrcat_#t~mem4=|v_cstrcat_#t~mem4_2|, #memory_int_part_locs_30_locs_31=|v_#memory_int_part_locs_30_locs_31_1|, #memory_int_part_locs_30_locs_30=|v_#memory_int_part_locs_30_locs_30_2|} [2018-04-06 22:37:40,364 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,365 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,365 DEBUG L281 ransitionTransformer]: Formula: (not (= 1 (select |v_#valid_8| |v_cstrcat_#t~post2.base_4|))) InVars {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_4|, #valid=|v_#valid_8|} OutVars{cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_4|, #valid=|v_#valid_8|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,365 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,365 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,365 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,366 DEBUG L281 ransitionTransformer]: Formula: (or (not (<= (+ |v_cstrcat_#t~post2.offset_4| 1) (select |v_#length_6| |v_cstrcat_#t~post2.base_5|))) (not (<= 0 |v_cstrcat_#t~post2.offset_4|))) InVars {cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_5|, #length=|v_#length_6|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_4|} OutVars{cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_5|, #length=|v_#length_6|, cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_4|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,366 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,366 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,366 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,366 DEBUG L281 ransitionTransformer]: Formula: (= |v_cstrcat_#t~mem4_3| 0) InVars {cstrcat_#t~mem4=|v_cstrcat_#t~mem4_3|} OutVars{cstrcat_#t~mem4=|v_cstrcat_#t~mem4_3|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,367 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,367 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,367 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,367 DEBUG L281 ransitionTransformer]: Formula: (not (= |v_cstrcat_#t~mem4_5| 0)) InVars {cstrcat_#t~mem4=|v_cstrcat_#t~mem4_5|} OutVars{cstrcat_#t~mem4=|v_cstrcat_#t~mem4_5|} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,367 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,367 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,368 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,368 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_5|, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_6|} AuxVars[] AssignedVars[cstrcat_#t~post2.base, cstrcat_#t~post2.offset] [2018-04-06 22:37:40,368 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,368 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,368 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,369 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~post2.offset=|v_cstrcat_#t~post2.offset_6|, cstrcat_#t~post2.base=|v_cstrcat_#t~post2.base_7|} AuxVars[] AssignedVars[cstrcat_#t~post2.base, cstrcat_#t~post2.offset] [2018-04-06 22:37:40,369 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,369 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,369 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,369 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~mem4=|v_cstrcat_#t~mem4_4|} AuxVars[] AssignedVars[cstrcat_#t~mem4] [2018-04-06 22:37:40,370 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,370 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,370 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,370 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~mem4=|v_cstrcat_#t~mem4_6|} AuxVars[] AssignedVars[cstrcat_#t~mem4] [2018-04-06 22:37:40,370 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,370 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,371 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,371 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_6|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_5|} AuxVars[] AssignedVars[cstrcat_#t~post3.base, cstrcat_#t~post3.offset] [2018-04-06 22:37:40,371 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,371 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,371 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,371 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{cstrcat_#t~post3.base=|v_cstrcat_#t~post3.base_7|, cstrcat_#t~post3.offset=|v_cstrcat_#t~post3.offset_6|} AuxVars[] AssignedVars[cstrcat_#t~post3.base, cstrcat_#t~post3.offset] [2018-04-06 22:37:40,372 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,372 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,372 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,372 DEBUG L281 ransitionTransformer]: Formula: true InVars {} OutVars{} AuxVars[] AssignedVars[] [2018-04-06 22:37:40,372 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,372 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,373 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,373 DEBUG L281 ransitionTransformer]: Formula: (= |v_ULTIMATE.start_#t~ret6_2| |v_main_#resOutParam_1|) InVars {main_#res=|v_main_#resOutParam_1|} OutVars{ULTIMATE.start_#t~ret6=|v_ULTIMATE.start_#t~ret6_2|} AuxVars[] AssignedVars[ULTIMATE.start_#t~ret6] [2018-04-06 22:37:40,373 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,373 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,373 DEBUG L280 ransitionTransformer]: transformed transition [2018-04-06 22:37:40,374 DEBUG L281 ransitionTransformer]: Formula: (and (= |v_main_#t~ret5.base_3| |v_cstrcat_#res.baseOutParam_1|) (= |v_main_#t~ret5.offset_3| |v_cstrcat_#res.offsetOutParam_1|)) InVars {cstrcat_#res.base=|v_cstrcat_#res.baseOutParam_1|, cstrcat_#res.offset=|v_cstrcat_#res.offsetOutParam_1|} OutVars{main_#t~ret5.offset=|v_main_#t~ret5.offset_3|, main_#t~ret5.base=|v_main_#t~ret5.base_3|} AuxVars[] AssignedVars[main_#t~ret5.offset, main_#t~ret5.base] [2018-04-06 22:37:40,374 DEBUG L284 ransitionTransformer]: transformula unchanged [2018-04-06 22:37:40,374 DEBUG L310 ransitionTransformer]: [2018-04-06 22:37:40,374 INFO L100 SccComputation]: Graph consists of 0 InCaSumBalls and 8 non ball SCCs. Number of states in SCCs 8. [2018-04-06 22:37:40,376 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 06.04 10:37:40 BasicIcfg [2018-04-06 22:37:40,376 INFO L132 PluginConnector]: ------------------------ END IcfgTransformer---------------------------- [2018-04-06 22:37:40,377 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2018-04-06 22:37:40,377 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2018-04-06 22:37:40,380 INFO L276 PluginConnector]: TraceAbstraction initialized [2018-04-06 22:37:40,380 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 06.04 10:37:17" (1/4) ... [2018-04-06 22:37:40,381 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7f922971 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.04 10:37:40, skipping insertion in model container [2018-04-06 22:37:40,381 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 06.04 10:37:17" (2/4) ... [2018-04-06 22:37:40,381 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7f922971 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 06.04 10:37:40, skipping insertion in model container [2018-04-06 22:37:40,382 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 06.04 10:37:17" (3/4) ... [2018-04-06 22:37:40,382 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@7f922971 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 06.04 10:37:40, skipping insertion in model container [2018-04-06 22:37:40,382 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation CFG 06.04 10:37:40" (4/4) ... [2018-04-06 22:37:40,383 INFO L107 eAbstractionObserver]: Analyzing ICFG memPartitionedIcfg [2018-04-06 22:37:40,391 INFO L131 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2018-04-06 22:37:40,396 INFO L143 ceAbstractionStarter]: Appying trace abstraction to program that has 7 error locations. [2018-04-06 22:37:40,425 INFO L128 ementStrategyFactory]: Using default assertion order modulation [2018-04-06 22:37:40,426 INFO L369 AbstractCegarLoop]: Interprodecural is true [2018-04-06 22:37:40,426 INFO L370 AbstractCegarLoop]: Hoare is true [2018-04-06 22:37:40,426 INFO L371 AbstractCegarLoop]: Compute interpolants for FPandBP [2018-04-06 22:37:40,426 INFO L372 AbstractCegarLoop]: Backedges is TWOTRACK [2018-04-06 22:37:40,426 INFO L373 AbstractCegarLoop]: Determinization is PREDICATE_ABSTRACTION [2018-04-06 22:37:40,426 INFO L374 AbstractCegarLoop]: Difference is false [2018-04-06 22:37:40,426 INFO L375 AbstractCegarLoop]: Minimize is MINIMIZE_SEVPA [2018-04-06 22:37:40,427 INFO L380 AbstractCegarLoop]: ======== Iteration 0==of CEGAR loop == AllErrorsAtOnce======== [2018-04-06 22:37:40,427 INFO L87 2NestedWordAutomaton]: Mode: main mode - execution starts in main procedure [2018-04-06 22:37:40,436 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states. [2018-04-06 22:37:40,440 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2018-04-06 22:37:40,440 INFO L347 BasicCegarLoop]: Found error trace [2018-04-06 22:37:40,440 INFO L355 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2018-04-06 22:37:40,440 INFO L408 AbstractCegarLoop]: === Iteration 1 === [cstrcatErr0RequiresViolation, cstrcatErr2RequiresViolation, cstrcatErr1RequiresViolation, cstrcatErr5RequiresViolation, cstrcatErr3RequiresViolation, cstrcatErr4RequiresViolation, mainErr0EnsuresViolationMEMORY_LEAK]=== [2018-04-06 22:37:40,444 INFO L82 PathProgramCache]: Analyzing trace with hash -2013644834, now seen corresponding path program 1 times No working directory specified, using /storage/ultimate/releaseScripts/default/UAutomizer-linux/z3 Starting monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in (exit command is (exit), workingDir is null) Waiting until toolchain timeout for monitored process 2 with z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2018-04-06 22:37:40,456 INFO L68 tionRefinementEngine]: Using refinement strategy FixedRefinementStrategy [2018-04-06 22:37:40,492 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-04-06 22:37:40,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is sat [2018-04-06 22:37:40,559 INFO L421 BasicCegarLoop]: Counterexample might be feasible [2018-04-06 22:37:40,582 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction CFG 06.04 10:37:40 BasicIcfg [2018-04-06 22:37:40,582 INFO L132 PluginConnector]: ------------------------ END TraceAbstraction---------------------------- [2018-04-06 22:37:40,583 INFO L168 Benchmark]: Toolchain (without parser) took 23327.35 ms. Allocated memory was 303.6 MB in the beginning and 977.3 MB in the end (delta: 673.7 MB). Free memory was 246.0 MB in the beginning and 540.2 MB in the end (delta: -294.3 MB). Peak memory consumption was 379.4 MB. Max. memory is 5.3 GB. [2018-04-06 22:37:40,583 INFO L168 Benchmark]: CDTParser took 0.23 ms. Allocated memory is still 303.6 MB. Free memory is still 266.0 MB. There was no memory consumed. Max. memory is 5.3 GB. [2018-04-06 22:37:40,584 INFO L168 Benchmark]: CACSL2BoogieTranslator took 184.30 ms. Allocated memory is still 303.6 MB. Free memory was 246.0 MB in the beginning and 237.0 MB in the end (delta: 9.0 MB). Peak memory consumption was 9.0 MB. Max. memory is 5.3 GB. [2018-04-06 22:37:40,584 INFO L168 Benchmark]: Boogie Preprocessor took 27.73 ms. Allocated memory is still 303.6 MB. Free memory was 237.0 MB in the beginning and 235.0 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. [2018-04-06 22:37:40,584 INFO L168 Benchmark]: RCFGBuilder took 273.86 ms. Allocated memory was 303.6 MB in the beginning and 465.0 MB in the end (delta: 161.5 MB). Free memory was 235.0 MB in the beginning and 433.0 MB in the end (delta: -198.0 MB). Peak memory consumption was 25.6 MB. Max. memory is 5.3 GB. [2018-04-06 22:37:40,585 INFO L168 Benchmark]: IcfgTransformer took 22631.53 ms. Allocated memory was 465.0 MB in the beginning and 977.3 MB in the end (delta: 512.2 MB). Free memory was 433.0 MB in the beginning and 624.1 MB in the end (delta: -191.1 MB). Peak memory consumption was 321.1 MB. Max. memory is 5.3 GB. [2018-04-06 22:37:40,585 INFO L168 Benchmark]: TraceAbstraction took 205.15 ms. Allocated memory is still 977.3 MB. Free memory was 624.1 MB in the beginning and 540.2 MB in the end (delta: 83.9 MB). Peak memory consumption was 83.9 MB. Max. memory is 5.3 GB. [2018-04-06 22:37:40,587 INFO L344 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.23 ms. Allocated memory is still 303.6 MB. Free memory is still 266.0 MB. There was no memory consumed. Max. memory is 5.3 GB. * CACSL2BoogieTranslator took 184.30 ms. Allocated memory is still 303.6 MB. Free memory was 246.0 MB in the beginning and 237.0 MB in the end (delta: 9.0 MB). Peak memory consumption was 9.0 MB. Max. memory is 5.3 GB. * Boogie Preprocessor took 27.73 ms. Allocated memory is still 303.6 MB. Free memory was 237.0 MB in the beginning and 235.0 MB in the end (delta: 2.0 MB). Peak memory consumption was 2.0 MB. Max. memory is 5.3 GB. * RCFGBuilder took 273.86 ms. Allocated memory was 303.6 MB in the beginning and 465.0 MB in the end (delta: 161.5 MB). Free memory was 235.0 MB in the beginning and 433.0 MB in the end (delta: -198.0 MB). Peak memory consumption was 25.6 MB. Max. memory is 5.3 GB. * IcfgTransformer took 22631.53 ms. Allocated memory was 465.0 MB in the beginning and 977.3 MB in the end (delta: 512.2 MB). Free memory was 433.0 MB in the beginning and 624.1 MB in the end (delta: -191.1 MB). Peak memory consumption was 321.1 MB. Max. memory is 5.3 GB. * TraceAbstraction took 205.15 ms. Allocated memory is still 977.3 MB. Free memory was 624.1 MB in the beginning and 540.2 MB in the end (delta: 83.9 MB). Peak memory consumption was 83.9 MB. Max. memory is 5.3 GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.analysis.abstractinterpretationv2: - StatisticsResult: ArrayEqualityDomainStatistics #Locations : 48 LocStat_MAX_WEQGRAPH_SIZE : 2 LocStat_MAX_SIZEOF_WEQEDGELABEL : 1 LocStat_NO_SUPPORTING_EQUALITIES : 646 LocStat_NO_SUPPORTING_DISEQUALITIES : 107 LocStat_NO_DISJUNCTIONS : -96 LocStat_MAX_NO_DISJUNCTIONS : -1 #Transitions : 60 TransStat_MAX_WEQGRAPH_SIZE : 4 TransStat_MAX_SIZEOF_WEQEDGELABEL : 1 TransStat_NO_SUPPORTING_EQUALITIES : 67 TransStat_NO_SUPPORTING_DISEQUALITIES : 5 TransStat_NO_DISJUNCTIONS : 60 TransStat_MAX_NO_DISJUNCTIONS : 2 - StatisticsResult: EqConstraintFactoryStatistics CONJOIN_DISJUNCTIVE(MILLISECONDS) : 5790.75 RENAME_VARIABLES(MILLISECONDS) : 200.82 UNFREEZE(MILLISECONDS) : 0.00 CONJOIN(MILLISECONDS) : 5780.37 PROJECTAWAY(MILLISECONDS) : 7826.12 ADD_WEAK_EQUALITY(MILLISECONDS) : 5.09 DISJOIN(MILLISECONDS) : 320.34 RENAME_VARIABLES_DISJUNCTIVE(MILLISECONDS) : 212.50 ADD_EQUALITY(MILLISECONDS) : 8.91 DISJOIN_DISJUNCTIVE(MILLISECONDS) : 0.00 ADD_DISEQUALITY(MILLISECONDS) : 0.26 #CONJOIN_DISJUNCTIVE : 216 #RENAME_VARIABLES : 423 #UNFREEZE : 0 #CONJOIN : 279 #PROJECTAWAY : 288 #ADD_WEAK_EQUALITY : 5 #DISJOIN : 75 #RENAME_VARIABLES_DISJUNCTIVE : 419 #ADD_EQUALITY : 68 #DISJOIN_DISJUNCTIVE : 0 #ADD_DISEQUALITY : 5 - StatisticsResult: WeqCcManagerStatistics FREEZE(MILLISECONDS) : 12745.13 ADDNODE(MILLISECONDS) : 0.00 MEET(MILLISECONDS) : 5773.63 FILTERREDUNDANT(MILLISECONDS) : 0.00 REPORTWEQ(MILLISECONDS) : 5.00 JOIN(MILLISECONDS) : 314.92 RENAMEVARS(MILLISECONDS) : 195.02 FLATTENLABELS(MILLISECONDS) : 0.00 COPY(MILLISECONDS) : 0.00 ISSTRONGERTHAN(MILLISECONDS) : 7471.49 ISLABELSTRONGERTHAN(MILLISECONDS) : 1492.90 ISWEQGRAPHSTRONGERTHAN(MILLISECONDS) : 124.00 UNFREEZE(MILLISECONDS) : 65.20 REPORTCONTAINS(MILLISECONDS) : 0.00 PROJECTAWAY(MILLISECONDS) : 7733.97 MEETEDGELABELS(MILLISECONDS) : 1454.95 REPORTEQUALITY(MILLISECONDS) : 332.36 ADDALLNODES(MILLISECONDS) : 86.36 REPORTDISEQUALITY(MILLISECONDS) : 1.96 WEQGRAPHJOIN(MILLISECONDS) : 252.83 #FREEZE : 1849 #ADDNODE : 0 #MEET : 194 #FILTERREDUNDANT : 0 #REPORTWEQ : 5 #JOIN : 75 #RENAMEVARS : 423 #FLATTENLABELS : 0 #COPY : 0 #ISSTRONGERTHAN : 483 #ISLABELSTRONGERTHAN : 67573 #ISWEQGRAPHSTRONGERTHAN : 239 #UNFREEZE : 1197 #REPORTCONTAINS : 0 #PROJECTAWAY : 580 #MEETEDGELABELS : 1383 #REPORTEQUALITY : 2629 #ADDALLNODES : 194 #REPORTDISEQUALITY : 355 #WEQGRAPHJOIN : 75 - StatisticsResult: CcManagerStatistics ADDNODE(MILLISECONDS) : 0.00 MEET(MILLISECONDS) : 4015.15 REPORT_EQUALITY(MILLISECONDS) : 1513.30 FILTERREDUNDANT(MILLISECONDS) : 10932.11 ADD_ALL_ELEMENTS(MILLISECONDS) : 2637.44 JOIN(MILLISECONDS) : 41.75 ALIGN_ELEMENTS(MILLISECONDS) : 6365.97 COPY(MILLISECONDS) : 0.00 REPORT_DISEQUALITY(MILLISECONDS) : 209.33 UNFREEZE(MILLISECONDS) : 0.00 OVERALL(MILLISECONDS) : 12318.70 REPORTCONTAINS(MILLISECONDS) : 0.00 IS_STRONGER_THAN_NO_CACHING(MILLISECONDS) : 8640.55 REMOVE(MILLISECONDS) : 0.00 IS_STRONGER_THAN_W_CACHING(MILLISECONDS) : 0.00 PROJECT_TO_ELEMENTS(MILLISECONDS) : 1019.98 #ADDNODE : 0 #MEET : 11116 #REPORT_EQUALITY : 171047 #FILTERREDUNDANT : 143890 #ADD_ALL_ELEMENTS : 150075 #JOIN : 75 #ALIGN_ELEMENTS : 69459 #COPY : 0 #REPORT_DISEQUALITY : 38934 #UNFREEZE : 0 #OVERALL : 804743 #REPORTCONTAINS : 0 #IS_STRONGER_THAN_NO_CACHING : 210625 #REMOVE : 0 #IS_STRONGER_THAN_W_CACHING : 0 #PROJECT_TO_ELEMENTS : 9522 * Results from de.uni_freiburg.informatik.ultimate.plugins.icfgtransformation: - StatisticsResult: HeapSeparatorStatistics #COUNT_NEW_ARRAY_VARS_[#memory_int] : 4 COUNT_ARRAY_WRITES_for_[#memory_int]_at_dim_0 : 2 COUNT_BLOCKS_for_[#memory_int]_at_dim_0 : 2 COUNT_ARRAY_WRITES_for_[#memory_int]_at_dim_1 : 2 COUNT_BLOCKS_for_[#memory_int]_at_dim_1 : 2 COUNT_ARRAY_READS for [#memory_int] : 3 * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - CounterExampleResult [Line: 4]: pointer dereference may fail pointer dereference may fail We found a FailurePath: [L11] char *s1; [L12] char *s2; [L13] CALL cstrcat(s1, s2) VAL [s1={0:12}, s2={11:10}] [L3] char *s = s1; VAL [s={0:12}, s1={0:12}, s1={0:12}, s2={11:10}, s2={11:10}] [L4] FCALL \read(*s) - StatisticsResult: Ultimate Automizer benchmark data CFG has 4 procedures, 50 locations, 7 error locations. UNSAFE Result, 0.1s OverallTime, 1 OverallIterations, 1 TraceHistogramMax, 0.0s AutomataDifference, 0.0s DeadEndRemovalTime, 0.0s HoareAnnotationTime, HoareTripleCheckerStatistics: No data available, PredicateUnifierStatistics: No data available, 0.0s BasicInterpolantAutomatonTime, BiggestAbstraction: size=50occurred in iteration=0, traceCheckStatistics: No data available, InterpolantConsolidationStatistics: No data available, PathInvariantsStatistics: No data available, 0/0 InterpolantCoveringCapability, TotalInterpolationStatistics: No data available, 0.0s AbstIntTime, 0 AbstIntIterations, 0 AbstIntStrong, NaN AbsIntWeakeningRatio, NaN AbsIntAvgWeakeningVarsNumRemoved, NaN AbsIntAvgWeakenedConjuncts, 0.0s DumpTime, AutomataMinimizationStatistics: No data available, HoareAnnotationStatistics: No data available, RefinementEngineStatistics: TraceCheckStatistics: 0.0s SsaConstructionTime, 0.0s SatisfiabilityAnalysisTime, 0.0s InterpolantComputationTime, 14 NumberOfCodeBlocks, 14 NumberOfCodeBlocksAsserted, 1 NumberOfCheckSat, 0 ConstructedInterpolants, 0 QuantifiedInterpolants, 0 SizeOfPredicates, 0 NumberOfNonLiveVariables, 0 ConjunctsInSsa, 0 ConjunctsInUnsatCore, 0 InterpolantComputations, 0 PerfectInterpolantSequences, 0/0 InterpolantCoveringCapability, InvariantSynthesisStatistics: No data available, InterpolantConsolidationStatistics: No data available, ReuseStatistics: No data available RESULT: Ultimate proved your program to be incorrect! Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-Benchmark-0-2018-04-06_22-37-40-599.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-VPDomainBenchmark-0-2018-04-06_22-37-40-599.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-BenchmarkWithCounters-0-2018-04-06_22-37-40-599.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-BenchmarkWithCounters-1-2018-04-06_22-37-40-599.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-BenchmarkWithCounters-2-2018-04-06_22-37-40-599.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-HeapSeparatorBenchmark-0-2018-04-06_22-37-40-599.csv Written .csv to /storage/ultimate/releaseScripts/default/UAutomizer-linux/../../../releaseScripts/default/UAutomizer-linux/csv/cstrcat_unsafe_false-valid-deref.i_svcomp-DerefFreeMemtrack-32bit-Automizer_Fixed_noBitfields+AI_EQ_SS.epf_AutomizerCTransformed.xml/Csv-TraceAbstractionBenchmarks-0-2018-04-06_22-37-40-599.csv Received shutdown request...