./Ultimate.py --spec ../sv-benchmarks/c/properties/unreach-call.prp --file ../sv-benchmarks/c/product-lines/email_spec27_product30.cil.c --full-output --architecture 32bit -------------------------------------------------------------------------------- Checking for ERROR reachability Using default analysis Version 3a877d22 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/product-lines/email_spec27_product30.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 77340ea3311b00efe6580b7964ad9e7e4d288fea0ba2d6706c8abdac4c4c4bb5 --- Real Ultimate output --- This is Ultimate 0.2.2-3a877d227dc491413fd706022d0c47cd97beb353-3a877d2 [2021-12-15 11:06:03,355 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-12-15 11:06:03,356 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-12-15 11:06:03,407 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-12-15 11:06:03,407 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-12-15 11:06:03,408 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-12-15 11:06:03,411 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-12-15 11:06:03,412 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-12-15 11:06:03,413 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-12-15 11:06:03,417 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-12-15 11:06:03,418 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-12-15 11:06:03,420 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-12-15 11:06:03,420 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-12-15 11:06:03,421 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-12-15 11:06:03,422 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-12-15 11:06:03,423 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-12-15 11:06:03,423 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-12-15 11:06:03,423 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-12-15 11:06:03,424 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-12-15 11:06:03,426 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-12-15 11:06:03,426 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-12-15 11:06:03,427 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-12-15 11:06:03,428 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-12-15 11:06:03,428 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-12-15 11:06:03,430 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-12-15 11:06:03,431 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-12-15 11:06:03,431 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-12-15 11:06:03,431 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-12-15 11:06:03,432 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-12-15 11:06:03,432 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-12-15 11:06:03,432 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-12-15 11:06:03,433 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-12-15 11:06:03,433 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-12-15 11:06:03,434 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-12-15 11:06:03,434 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-12-15 11:06:03,435 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-12-15 11:06:03,435 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-12-15 11:06:03,435 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-12-15 11:06:03,436 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-12-15 11:06:03,436 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-12-15 11:06:03,437 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-12-15 11:06:03,437 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Default.epf [2021-12-15 11:06:03,454 INFO L113 SettingsManager]: Loading preferences was successful [2021-12-15 11:06:03,459 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-12-15 11:06:03,460 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-12-15 11:06:03,460 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-12-15 11:06:03,461 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2021-12-15 11:06:03,461 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2021-12-15 11:06:03,462 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-12-15 11:06:03,462 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-12-15 11:06:03,462 INFO L138 SettingsManager]: * Use SBE=true [2021-12-15 11:06:03,462 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-12-15 11:06:03,463 INFO L138 SettingsManager]: * sizeof long=4 [2021-12-15 11:06:03,463 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2021-12-15 11:06:03,463 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-12-15 11:06:03,463 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * sizeof long double=12 [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * Use constant arrays=true [2021-12-15 11:06:03,464 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-12-15 11:06:03,465 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-12-15 11:06:03,465 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-12-15 11:06:03,465 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-12-15 11:06:03,465 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:06:03,465 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-12-15 11:06:03,465 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-12-15 11:06:03,466 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-12-15 11:06:03,466 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2021-12-15 11:06:03,466 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2021-12-15 11:06:03,467 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2021-12-15 11:06:03,467 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2021-12-15 11:06:03,467 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-12-15 11:06:03,467 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-12-15 11:06:03,467 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 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/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml 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 ! call(reach_error())) ) 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 -> 77340ea3311b00efe6580b7964ad9e7e4d288fea0ba2d6706c8abdac4c4c4bb5 [2021-12-15 11:06:03,676 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-12-15 11:06:03,693 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-12-15 11:06:03,701 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-12-15 11:06:03,702 INFO L271 PluginConnector]: Initializing CDTParser... [2021-12-15 11:06:03,702 INFO L275 PluginConnector]: CDTParser initialized [2021-12-15 11:06:03,703 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/email_spec27_product30.cil.c [2021-12-15 11:06:03,748 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/106e6cd58/13cef266c46b4e2f9802234eb96968ab/FLAG56a4a58ea [2021-12-15 11:06:04,192 INFO L306 CDTParser]: Found 1 translation units. [2021-12-15 11:06:04,192 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c [2021-12-15 11:06:04,205 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/106e6cd58/13cef266c46b4e2f9802234eb96968ab/FLAG56a4a58ea [2021-12-15 11:06:04,216 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/106e6cd58/13cef266c46b4e2f9802234eb96968ab [2021-12-15 11:06:04,218 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-12-15 11:06:04,219 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-12-15 11:06:04,225 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-12-15 11:06:04,225 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-12-15 11:06:04,228 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-12-15 11:06:04,228 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,229 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@5f05cff5 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04, skipping insertion in model container [2021-12-15 11:06:04,230 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,234 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-12-15 11:06:04,282 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 11:06:04,623 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c[47628,47641] [2021-12-15 11:06:04,671 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:06:04,678 INFO L203 MainTranslator]: Completed pre-run [2021-12-15 11:06:04,720 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c[47628,47641] [2021-12-15 11:06:04,746 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:06:04,766 INFO L208 MainTranslator]: Completed translation [2021-12-15 11:06:04,766 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04 WrapperNode [2021-12-15 11:06:04,767 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-12-15 11:06:04,768 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-12-15 11:06:04,768 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-12-15 11:06:04,768 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-12-15 11:06:04,773 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,797 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,839 INFO L137 Inliner]: procedures = 131, calls = 219, calls flagged for inlining = 59, calls inlined = 50, statements flattened = 916 [2021-12-15 11:06:04,839 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-12-15 11:06:04,840 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-12-15 11:06:04,840 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-12-15 11:06:04,846 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-12-15 11:06:04,852 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,852 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,856 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,856 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,868 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,874 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,878 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,884 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-12-15 11:06:04,885 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-12-15 11:06:04,885 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-12-15 11:06:04,885 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-12-15 11:06:04,886 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (1/1) ... [2021-12-15 11:06:04,902 INFO L168 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:06:04,910 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-12-15 11:06:04,953 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-12-15 11:06:04,972 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-12-15 11:06:04,986 INFO L130 BoogieDeclarations]: Found specification of procedure getClientPrivateKey [2021-12-15 11:06:04,986 INFO L138 BoogieDeclarations]: Found implementation of procedure getClientPrivateKey [2021-12-15 11:06:05,011 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailEncryptionKey [2021-12-15 11:06:05,012 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailEncryptionKey [2021-12-15 11:06:05,012 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailEncryptionKey [2021-12-15 11:06:05,012 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailEncryptionKey [2021-12-15 11:06:05,012 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailTo [2021-12-15 11:06:05,013 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailTo [2021-12-15 11:06:05,013 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailFrom [2021-12-15 11:06:05,013 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailFrom [2021-12-15 11:06:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure isReadable [2021-12-15 11:06:05,014 INFO L138 BoogieDeclarations]: Found implementation of procedure isReadable [2021-12-15 11:06:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure createClientKeyringEntry [2021-12-15 11:06:05,014 INFO L138 BoogieDeclarations]: Found implementation of procedure createClientKeyringEntry [2021-12-15 11:06:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailIsEncrypted [2021-12-15 11:06:05,014 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailIsEncrypted [2021-12-15 11:06:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailSignKey [2021-12-15 11:06:05,014 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailSignKey [2021-12-15 11:06:05,014 INFO L130 BoogieDeclarations]: Found specification of procedure chuckKeyAdd [2021-12-15 11:06:05,015 INFO L138 BoogieDeclarations]: Found implementation of procedure chuckKeyAdd [2021-12-15 11:06:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2021-12-15 11:06:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailFrom [2021-12-15 11:06:05,015 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailFrom [2021-12-15 11:06:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure setClientId [2021-12-15 11:06:05,015 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientId [2021-12-15 11:06:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2021-12-15 11:06:05,015 INFO L130 BoogieDeclarations]: Found specification of procedure isSigned [2021-12-15 11:06:05,015 INFO L138 BoogieDeclarations]: Found implementation of procedure isSigned [2021-12-15 11:06:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure isKeyPairValid [2021-12-15 11:06:05,016 INFO L138 BoogieDeclarations]: Found implementation of procedure isKeyPairValid [2021-12-15 11:06:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure setClientKeyringUser [2021-12-15 11:06:05,016 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientKeyringUser [2021-12-15 11:06:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure setClientKeyringPublicKey [2021-12-15 11:06:05,016 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientKeyringPublicKey [2021-12-15 11:06:05,016 INFO L130 BoogieDeclarations]: Found specification of procedure outgoing [2021-12-15 11:06:05,016 INFO L138 BoogieDeclarations]: Found implementation of procedure outgoing [2021-12-15 11:06:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure isVerified [2021-12-15 11:06:05,017 INFO L138 BoogieDeclarations]: Found implementation of procedure isVerified [2021-12-15 11:06:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure findPublicKey [2021-12-15 11:06:05,017 INFO L138 BoogieDeclarations]: Found implementation of procedure findPublicKey [2021-12-15 11:06:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure sendEmail [2021-12-15 11:06:05,017 INFO L138 BoogieDeclarations]: Found implementation of procedure sendEmail [2021-12-15 11:06:05,017 INFO L130 BoogieDeclarations]: Found specification of procedure isEncrypted [2021-12-15 11:06:05,018 INFO L138 BoogieDeclarations]: Found implementation of procedure isEncrypted [2021-12-15 11:06:05,018 INFO L130 BoogieDeclarations]: Found specification of procedure setClientPrivateKey [2021-12-15 11:06:05,018 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientPrivateKey [2021-12-15 11:06:05,018 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailTo [2021-12-15 11:06:05,018 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailTo [2021-12-15 11:06:05,018 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2021-12-15 11:06:05,018 INFO L130 BoogieDeclarations]: Found specification of procedure generateKeyPair [2021-12-15 11:06:05,018 INFO L138 BoogieDeclarations]: Found implementation of procedure generateKeyPair [2021-12-15 11:06:05,019 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-12-15 11:06:05,019 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-12-15 11:06:05,210 INFO L236 CfgBuilder]: Building ICFG [2021-12-15 11:06:05,212 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2021-12-15 11:06:05,642 INFO L277 CfgBuilder]: Performing block encoding [2021-12-15 11:06:05,652 INFO L296 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-12-15 11:06:05,655 INFO L301 CfgBuilder]: Removed 1 assume(true) statements. [2021-12-15 11:06:05,657 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:06:05 BoogieIcfgContainer [2021-12-15 11:06:05,658 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-12-15 11:06:05,659 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-12-15 11:06:05,659 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-12-15 11:06:05,662 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-12-15 11:06:05,662 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.12 11:06:04" (1/3) ... [2021-12-15 11:06:05,663 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58ed53c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:06:05, skipping insertion in model container [2021-12-15 11:06:05,663 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:04" (2/3) ... [2021-12-15 11:06:05,663 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@58ed53c1 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:06:05, skipping insertion in model container [2021-12-15 11:06:05,663 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:06:05" (3/3) ... [2021-12-15 11:06:05,665 INFO L111 eAbstractionObserver]: Analyzing ICFG email_spec27_product30.cil.c [2021-12-15 11:06:05,669 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-12-15 11:06:05,669 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2021-12-15 11:06:05,713 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-12-15 11:06:05,719 INFO L339 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, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mLoopAccelerationTechnique=FAST_UPR [2021-12-15 11:06:05,719 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2021-12-15 11:06:05,746 INFO L276 IsEmpty]: Start isEmpty. Operand has 354 states, 274 states have (on average 1.5145985401459854) internal successors, (415), 278 states have internal predecessors, (415), 54 states have call successors, (54), 24 states have call predecessors, (54), 24 states have return successors, (54), 54 states have call predecessors, (54), 54 states have call successors, (54) [2021-12-15 11:06:05,766 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 143 [2021-12-15 11:06:05,766 INFO L506 BasicCegarLoop]: Found error trace [2021-12-15 11:06:05,767 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 11:06:05,768 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting outgoingErr0ASSERT_VIOLATIONERROR_FUNCTION === [outgoingErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2021-12-15 11:06:05,772 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 11:06:05,772 INFO L85 PathProgramCache]: Analyzing trace with hash -1260939319, now seen corresponding path program 1 times [2021-12-15 11:06:05,780 INFO L121 FreeRefinementEngine]: Executing refinement strategy CAMEL [2021-12-15 11:06:05,780 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1820224450] [2021-12-15 11:06:05,780 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 11:06:05,781 INFO L126 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2021-12-15 11:06:05,847 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2021-12-15 11:06:05,847 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: Set is immutable at de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.UnmodifiableTransFormula.removeSuperfluousVars(UnmodifiableTransFormula.java:212) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaBuilder.finishConstruction(TransFormulaBuilder.java:273) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.constructGlobalVarsAssignment(OldVarsAssignmentCache.java:155) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.getGlobalVarsAssignment(OldVarsAssignmentCache.java:93) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:89) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:1) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.NestedFormulas.getGlobalVarAssignment(NestedFormulas.java:126) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckUtils.decoupleArrayValues(TraceCheckUtils.java:384) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheck.(InterpolatingTraceCheck.java:87) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheckCraig.(InterpolatingTraceCheckCraig.java:89) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleCraig.construct(IpTcStrategyModuleCraig.java:79) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleCraig.construct(IpTcStrategyModuleCraig.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:124) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:88) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:393) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:263) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:176) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2021-12-15 11:06:05,854 INFO L158 Benchmark]: Toolchain (without parser) took 1634.30ms. Allocated memory was 109.1MB in the beginning and 148.9MB in the end (delta: 39.8MB). Free memory was 70.3MB in the beginning and 115.6MB in the end (delta: -45.3MB). Peak memory consumption was 47.3MB. Max. memory is 16.1GB. [2021-12-15 11:06:05,855 INFO L158 Benchmark]: CDTParser took 0.16ms. Allocated memory is still 109.1MB. Free memory is still 89.4MB. There was no memory consumed. Max. memory is 16.1GB. [2021-12-15 11:06:05,856 INFO L158 Benchmark]: CACSL2BoogieTranslator took 542.06ms. Allocated memory is still 109.1MB. Free memory was 70.0MB in the beginning and 57.9MB in the end (delta: 12.0MB). Peak memory consumption was 10.8MB. Max. memory is 16.1GB. [2021-12-15 11:06:05,856 INFO L158 Benchmark]: Boogie Procedure Inliner took 71.39ms. Allocated memory is still 109.1MB. Free memory was 57.9MB in the beginning and 52.5MB in the end (delta: 5.4MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. [2021-12-15 11:06:05,857 INFO L158 Benchmark]: Boogie Preprocessor took 44.75ms. Allocated memory is still 109.1MB. Free memory was 52.5MB in the beginning and 48.3MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2021-12-15 11:06:05,858 INFO L158 Benchmark]: RCFGBuilder took 772.59ms. Allocated memory was 109.1MB in the beginning and 148.9MB in the end (delta: 39.8MB). Free memory was 48.3MB in the beginning and 77.3MB in the end (delta: -29.0MB). Peak memory consumption was 17.5MB. Max. memory is 16.1GB. [2021-12-15 11:06:05,862 INFO L158 Benchmark]: TraceAbstraction took 193.45ms. Allocated memory is still 148.9MB. Free memory was 77.3MB in the beginning and 115.6MB in the end (delta: -38.3MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2021-12-15 11:06:05,867 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.16ms. Allocated memory is still 109.1MB. Free memory is still 89.4MB. There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 542.06ms. Allocated memory is still 109.1MB. Free memory was 70.0MB in the beginning and 57.9MB in the end (delta: 12.0MB). Peak memory consumption was 10.8MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 71.39ms. Allocated memory is still 109.1MB. Free memory was 57.9MB in the beginning and 52.5MB in the end (delta: 5.4MB). Peak memory consumption was 6.3MB. Max. memory is 16.1GB. * Boogie Preprocessor took 44.75ms. Allocated memory is still 109.1MB. Free memory was 52.5MB in the beginning and 48.3MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 772.59ms. Allocated memory was 109.1MB in the beginning and 148.9MB in the end (delta: 39.8MB). Free memory was 48.3MB in the beginning and 77.3MB in the end (delta: -29.0MB). Peak memory consumption was 17.5MB. Max. memory is 16.1GB. * TraceAbstraction took 193.45ms. Allocated memory is still 148.9MB. Free memory was 77.3MB in the beginning and 115.6MB in the end (delta: -38.3MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: Set is immutable: de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2021-12-15 11:06:05,897 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Ended with exit code 0 Received shutdown request... --- End real Ultimate output --- Execution finished normally Using bit-precise analysis Retrying with bit-precise analysis ### Bit-precise run ### Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerReach.xml -i ../sv-benchmarks/c/product-lines/email_spec27_product30.cil.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G ! call(reach_error())) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 77340ea3311b00efe6580b7964ad9e7e4d288fea0ba2d6706c8abdac4c4c4bb5 --- Real Ultimate output --- This is Ultimate 0.2.2-3a877d227dc491413fd706022d0c47cd97beb353-3a877d2 [2021-12-15 11:06:07,578 INFO L177 SettingsManager]: Resetting all preferences to default values... [2021-12-15 11:06:07,580 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2021-12-15 11:06:07,623 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2021-12-15 11:06:07,624 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2021-12-15 11:06:07,625 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2021-12-15 11:06:07,627 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2021-12-15 11:06:07,632 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2021-12-15 11:06:07,633 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2021-12-15 11:06:07,638 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2021-12-15 11:06:07,639 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2021-12-15 11:06:07,640 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2021-12-15 11:06:07,640 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2021-12-15 11:06:07,642 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2021-12-15 11:06:07,645 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2021-12-15 11:06:07,647 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2021-12-15 11:06:07,648 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2021-12-15 11:06:07,649 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2021-12-15 11:06:07,650 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2021-12-15 11:06:07,656 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2021-12-15 11:06:07,657 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2021-12-15 11:06:07,663 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2021-12-15 11:06:07,664 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2021-12-15 11:06:07,665 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2021-12-15 11:06:07,667 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2021-12-15 11:06:07,669 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2021-12-15 11:06:07,672 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2021-12-15 11:06:07,673 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2021-12-15 11:06:07,673 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2021-12-15 11:06:07,673 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2021-12-15 11:06:07,674 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2021-12-15 11:06:07,674 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2021-12-15 11:06:07,675 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2021-12-15 11:06:07,676 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2021-12-15 11:06:07,677 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2021-12-15 11:06:07,677 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2021-12-15 11:06:07,678 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2021-12-15 11:06:07,678 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2021-12-15 11:06:07,679 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2021-12-15 11:06:07,679 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2021-12-15 11:06:07,680 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2021-12-15 11:06:07,681 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-Reach-32bit-Automizer_Bitvector.epf [2021-12-15 11:06:07,699 INFO L113 SettingsManager]: Loading preferences was successful [2021-12-15 11:06:07,699 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2021-12-15 11:06:07,699 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2021-12-15 11:06:07,699 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2021-12-15 11:06:07,700 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2021-12-15 11:06:07,700 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2021-12-15 11:06:07,700 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2021-12-15 11:06:07,701 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2021-12-15 11:06:07,701 INFO L138 SettingsManager]: * Use SBE=true [2021-12-15 11:06:07,701 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2021-12-15 11:06:07,701 INFO L138 SettingsManager]: * sizeof long=4 [2021-12-15 11:06:07,701 INFO L138 SettingsManager]: * sizeof POINTER=4 [2021-12-15 11:06:07,701 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * Use bitvectors instead of ints=true [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * Memory model=HoenickeLindenmann_4ByteResolution [2021-12-15 11:06:07,702 INFO L138 SettingsManager]: * sizeof long double=12 [2021-12-15 11:06:07,703 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2021-12-15 11:06:07,703 INFO L138 SettingsManager]: * Use constant arrays=true [2021-12-15 11:06:07,703 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2021-12-15 11:06:07,703 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2021-12-15 11:06:07,703 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2021-12-15 11:06:07,704 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2021-12-15 11:06:07,704 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:06:07,704 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2021-12-15 11:06:07,704 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2021-12-15 11:06:07,704 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2021-12-15 11:06:07,704 INFO L138 SettingsManager]: * Trace refinement strategy=WOLF [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * Command for external solver=cvc4 --incremental --print-success --lang smt [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * Large block encoding in concurrent analysis=OFF [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * Trace refinement exception blacklist=NONE [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode [2021-12-15 11:06:07,705 INFO L138 SettingsManager]: * Logic for external solver=AUFBV WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release 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/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml 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 ! call(reach_error())) ) 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 -> 77340ea3311b00efe6580b7964ad9e7e4d288fea0ba2d6706c8abdac4c4c4bb5 [2021-12-15 11:06:07,952 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2021-12-15 11:06:07,969 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2021-12-15 11:06:07,971 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2021-12-15 11:06:07,972 INFO L271 PluginConnector]: Initializing CDTParser... [2021-12-15 11:06:07,972 INFO L275 PluginConnector]: CDTParser initialized [2021-12-15 11:06:07,973 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/product-lines/email_spec27_product30.cil.c [2021-12-15 11:06:08,025 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0255d83fe/9d8af710282043ad8af3639768a3cf27/FLAG7a69de585 [2021-12-15 11:06:08,516 INFO L306 CDTParser]: Found 1 translation units. [2021-12-15 11:06:08,517 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c [2021-12-15 11:06:08,538 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0255d83fe/9d8af710282043ad8af3639768a3cf27/FLAG7a69de585 [2021-12-15 11:06:09,010 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/0255d83fe/9d8af710282043ad8af3639768a3cf27 [2021-12-15 11:06:09,013 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2021-12-15 11:06:09,015 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2021-12-15 11:06:09,016 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2021-12-15 11:06:09,016 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2021-12-15 11:06:09,019 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2021-12-15 11:06:09,020 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,021 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@362e6382 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09, skipping insertion in model container [2021-12-15 11:06:09,021 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,025 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2021-12-15 11:06:09,069 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 11:06:09,492 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c[47628,47641] [2021-12-15 11:06:09,571 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:06:09,590 INFO L200 MainTranslator]: Restarting translation with changed settings: SettingsChange [mNewPreferredMemoryModel=HoenickeLindenmann_1ByteResolution] [2021-12-15 11:06:09,602 INFO L178 MainTranslator]: Built tables and reachable declarations [2021-12-15 11:06:09,660 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c[47628,47641] [2021-12-15 11:06:09,688 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:06:09,691 INFO L203 MainTranslator]: Completed pre-run [2021-12-15 11:06:09,731 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/product-lines/email_spec27_product30.cil.c[47628,47641] [2021-12-15 11:06:09,753 INFO L209 PostProcessor]: Analyzing one entry point: main [2021-12-15 11:06:09,783 INFO L208 MainTranslator]: Completed translation [2021-12-15 11:06:09,784 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09 WrapperNode [2021-12-15 11:06:09,784 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2021-12-15 11:06:09,790 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2021-12-15 11:06:09,790 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2021-12-15 11:06:09,790 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2021-12-15 11:06:09,795 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,830 INFO L185 PluginConnector]: Executing the observer Inliner from plugin Boogie Procedure Inliner for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,880 INFO L137 Inliner]: procedures = 133, calls = 219, calls flagged for inlining = 59, calls inlined = 50, statements flattened = 866 [2021-12-15 11:06:09,887 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2021-12-15 11:06:09,888 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2021-12-15 11:06:09,888 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2021-12-15 11:06:09,888 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2021-12-15 11:06:09,895 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,907 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,911 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,911 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,929 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,935 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,938 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,947 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2021-12-15 11:06:09,948 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2021-12-15 11:06:09,948 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2021-12-15 11:06:09,948 INFO L275 PluginConnector]: RCFGBuilder initialized [2021-12-15 11:06:09,949 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (1/1) ... [2021-12-15 11:06:09,958 INFO L168 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2021-12-15 11:06:09,968 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2021-12-15 11:06:10,003 INFO L229 MonitoredProcess]: Starting monitored process 1 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (exit command is (exit), workingDir is null) [2021-12-15 11:06:10,012 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Waiting until timeout for monitored process [2021-12-15 11:06:10,032 INFO L130 BoogieDeclarations]: Found specification of procedure getClientPrivateKey [2021-12-15 11:06:10,032 INFO L138 BoogieDeclarations]: Found implementation of procedure getClientPrivateKey [2021-12-15 11:06:10,032 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailEncryptionKey [2021-12-15 11:06:10,032 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailEncryptionKey [2021-12-15 11:06:10,032 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailEncryptionKey [2021-12-15 11:06:10,033 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailEncryptionKey [2021-12-15 11:06:10,033 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailTo [2021-12-15 11:06:10,033 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailTo [2021-12-15 11:06:10,033 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailFrom [2021-12-15 11:06:10,033 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailFrom [2021-12-15 11:06:10,033 INFO L130 BoogieDeclarations]: Found specification of procedure isReadable [2021-12-15 11:06:10,033 INFO L138 BoogieDeclarations]: Found implementation of procedure isReadable [2021-12-15 11:06:10,033 INFO L130 BoogieDeclarations]: Found specification of procedure createClientKeyringEntry [2021-12-15 11:06:10,034 INFO L138 BoogieDeclarations]: Found implementation of procedure createClientKeyringEntry [2021-12-15 11:06:10,034 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailIsEncrypted [2021-12-15 11:06:10,034 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailIsEncrypted [2021-12-15 11:06:10,034 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailSignKey [2021-12-15 11:06:10,034 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailSignKey [2021-12-15 11:06:10,034 INFO L130 BoogieDeclarations]: Found specification of procedure chuckKeyAdd [2021-12-15 11:06:10,034 INFO L138 BoogieDeclarations]: Found implementation of procedure chuckKeyAdd [2021-12-15 11:06:10,034 INFO L130 BoogieDeclarations]: Found specification of procedure puts [2021-12-15 11:06:10,034 INFO L130 BoogieDeclarations]: Found specification of procedure getEmailFrom [2021-12-15 11:06:10,035 INFO L138 BoogieDeclarations]: Found implementation of procedure getEmailFrom [2021-12-15 11:06:10,035 INFO L130 BoogieDeclarations]: Found specification of procedure setClientId [2021-12-15 11:06:10,035 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientId [2021-12-15 11:06:10,035 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2021-12-15 11:06:10,035 INFO L130 BoogieDeclarations]: Found specification of procedure isSigned [2021-12-15 11:06:10,035 INFO L138 BoogieDeclarations]: Found implementation of procedure isSigned [2021-12-15 11:06:10,035 INFO L130 BoogieDeclarations]: Found specification of procedure isKeyPairValid [2021-12-15 11:06:10,035 INFO L138 BoogieDeclarations]: Found implementation of procedure isKeyPairValid [2021-12-15 11:06:10,036 INFO L130 BoogieDeclarations]: Found specification of procedure setClientKeyringUser [2021-12-15 11:06:10,036 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientKeyringUser [2021-12-15 11:06:10,036 INFO L130 BoogieDeclarations]: Found specification of procedure setClientKeyringPublicKey [2021-12-15 11:06:10,036 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientKeyringPublicKey [2021-12-15 11:06:10,036 INFO L130 BoogieDeclarations]: Found specification of procedure outgoing [2021-12-15 11:06:10,036 INFO L138 BoogieDeclarations]: Found implementation of procedure outgoing [2021-12-15 11:06:10,036 INFO L130 BoogieDeclarations]: Found specification of procedure isVerified [2021-12-15 11:06:10,036 INFO L138 BoogieDeclarations]: Found implementation of procedure isVerified [2021-12-15 11:06:10,037 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~intINTTYPE1 [2021-12-15 11:06:10,037 INFO L130 BoogieDeclarations]: Found specification of procedure findPublicKey [2021-12-15 11:06:10,037 INFO L138 BoogieDeclarations]: Found implementation of procedure findPublicKey [2021-12-15 11:06:10,037 INFO L130 BoogieDeclarations]: Found specification of procedure sendEmail [2021-12-15 11:06:10,037 INFO L138 BoogieDeclarations]: Found implementation of procedure sendEmail [2021-12-15 11:06:10,037 INFO L130 BoogieDeclarations]: Found specification of procedure isEncrypted [2021-12-15 11:06:10,037 INFO L138 BoogieDeclarations]: Found implementation of procedure isEncrypted [2021-12-15 11:06:10,037 INFO L130 BoogieDeclarations]: Found specification of procedure setClientPrivateKey [2021-12-15 11:06:10,037 INFO L138 BoogieDeclarations]: Found implementation of procedure setClientPrivateKey [2021-12-15 11:06:10,038 INFO L130 BoogieDeclarations]: Found specification of procedure setEmailTo [2021-12-15 11:06:10,038 INFO L138 BoogieDeclarations]: Found implementation of procedure setEmailTo [2021-12-15 11:06:10,038 INFO L130 BoogieDeclarations]: Found specification of procedure generateKeyPair [2021-12-15 11:06:10,038 INFO L138 BoogieDeclarations]: Found implementation of procedure generateKeyPair [2021-12-15 11:06:10,038 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2021-12-15 11:06:10,038 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2021-12-15 11:06:10,256 INFO L236 CfgBuilder]: Building ICFG [2021-12-15 11:06:10,258 INFO L262 CfgBuilder]: Building CFG for each procedure with an implementation [2021-12-15 11:06:10,733 INFO L277 CfgBuilder]: Performing block encoding [2021-12-15 11:06:10,740 INFO L296 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2021-12-15 11:06:10,740 INFO L301 CfgBuilder]: Removed 1 assume(true) statements. [2021-12-15 11:06:10,742 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:06:10 BoogieIcfgContainer [2021-12-15 11:06:10,742 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2021-12-15 11:06:10,744 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2021-12-15 11:06:10,744 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2021-12-15 11:06:10,746 INFO L275 PluginConnector]: TraceAbstraction initialized [2021-12-15 11:06:10,746 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 15.12 11:06:09" (1/3) ... [2021-12-15 11:06:10,747 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@73b10197 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:06:10, skipping insertion in model container [2021-12-15 11:06:10,747 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 15.12 11:06:09" (2/3) ... [2021-12-15 11:06:10,747 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@73b10197 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 15.12 11:06:10, skipping insertion in model container [2021-12-15 11:06:10,747 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 15.12 11:06:10" (3/3) ... [2021-12-15 11:06:10,748 INFO L111 eAbstractionObserver]: Analyzing ICFG email_spec27_product30.cil.c [2021-12-15 11:06:10,752 INFO L204 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2021-12-15 11:06:10,752 INFO L163 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2021-12-15 11:06:10,785 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2021-12-15 11:06:10,789 INFO L339 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, mHoare=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mLoopAccelerationTechnique=FAST_UPR [2021-12-15 11:06:10,789 INFO L340 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2021-12-15 11:06:10,821 INFO L276 IsEmpty]: Start isEmpty. Operand has 354 states, 274 states have (on average 1.5145985401459854) internal successors, (415), 278 states have internal predecessors, (415), 54 states have call successors, (54), 24 states have call predecessors, (54), 24 states have return successors, (54), 54 states have call predecessors, (54), 54 states have call successors, (54) [2021-12-15 11:06:10,842 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 143 [2021-12-15 11:06:10,844 INFO L506 BasicCegarLoop]: Found error trace [2021-12-15 11:06:10,845 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2021-12-15 11:06:10,845 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting outgoingErr0ASSERT_VIOLATIONERROR_FUNCTION === [outgoingErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2021-12-15 11:06:10,851 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2021-12-15 11:06:10,852 INFO L85 PathProgramCache]: Analyzing trace with hash -1260939319, now seen corresponding path program 1 times [2021-12-15 11:06:10,862 INFO L121 FreeRefinementEngine]: Executing refinement strategy WOLF [2021-12-15 11:06:10,863 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleMathsat [688090159] [2021-12-15 11:06:10,863 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2021-12-15 11:06:10,864 INFO L168 SolverBuilder]: Constructing external solver with command: mathsat -unsat_core_generation=3 [2021-12-15 11:06:10,864 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat [2021-12-15 11:06:10,865 INFO L229 MonitoredProcess]: Starting monitored process 2 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (exit command is (exit), workingDir is null) [2021-12-15 11:06:10,866 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Waiting until timeout for monitored process [2021-12-15 11:06:10,956 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 (2)] Forceful destruction successful, exit code 0 [2021-12-15 11:06:11,155 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/mathsat -unsat_core_generation=3 [2021-12-15 11:06:11,156 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.UnsupportedOperationException: Set is immutable at de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.UnmodifiableTransFormula.removeSuperfluousVars(UnmodifiableTransFormula.java:212) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.transitions.TransFormulaBuilder.finishConstruction(TransFormulaBuilder.java:273) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.constructGlobalVarsAssignment(OldVarsAssignmentCache.java:155) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.cfg.OldVarsAssignmentCache.getGlobalVarsAssignment(OldVarsAssignmentCache.java:93) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:89) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.DefaultTransFormulas.getGlobalVarAssignmentFromValidPos(DefaultTransFormulas.java:1) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.NestedFormulas.getGlobalVarAssignment(NestedFormulas.java:126) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckUtils.decoupleArrayValues(TraceCheckUtils.java:384) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.InterpolatingTraceCheck.(InterpolatingTraceCheck.java:87) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:132) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:100) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:211) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:124) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:88) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:76) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:610) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:413) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:330) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.CegarLoopUtils.getCegarLoopResult(CegarLoopUtils.java:56) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:393) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:303) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:263) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:176) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:155) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2021-12-15 11:06:11,160 INFO L158 Benchmark]: Toolchain (without parser) took 2145.02ms. Allocated memory was 58.7MB in the beginning and 92.3MB in the end (delta: 33.6MB). Free memory was 34.9MB in the beginning and 43.5MB in the end (delta: -8.6MB). Peak memory consumption was 26.0MB. Max. memory is 16.1GB. [2021-12-15 11:06:11,160 INFO L158 Benchmark]: CDTParser took 0.18ms. Allocated memory is still 58.7MB. Free memory was 41.1MB in the beginning and 41.0MB in the end (delta: 50.8kB). There was no memory consumed. Max. memory is 16.1GB. [2021-12-15 11:06:11,161 INFO L158 Benchmark]: CACSL2BoogieTranslator took 767.95ms. Allocated memory was 58.7MB in the beginning and 75.5MB in the end (delta: 16.8MB). Free memory was 34.8MB in the beginning and 35.6MB in the end (delta: -847.0kB). Peak memory consumption was 17.3MB. Max. memory is 16.1GB. [2021-12-15 11:06:11,162 INFO L158 Benchmark]: Boogie Procedure Inliner took 97.09ms. Allocated memory is still 75.5MB. Free memory was 56.7MB in the beginning and 51.4MB in the end (delta: 5.3MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2021-12-15 11:06:11,163 INFO L158 Benchmark]: Boogie Preprocessor took 59.39ms. Allocated memory is still 75.5MB. Free memory was 51.4MB in the beginning and 47.2MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. [2021-12-15 11:06:11,168 INFO L158 Benchmark]: RCFGBuilder took 794.61ms. Allocated memory was 75.5MB in the beginning and 92.3MB in the end (delta: 16.8MB). Free memory was 47.2MB in the beginning and 57.8MB in the end (delta: -10.6MB). Peak memory consumption was 21.8MB. Max. memory is 16.1GB. [2021-12-15 11:06:11,168 INFO L158 Benchmark]: TraceAbstraction took 414.15ms. Allocated memory is still 92.3MB. Free memory was 57.2MB in the beginning and 43.5MB in the end (delta: 13.8MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. [2021-12-15 11:06:11,172 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.18ms. Allocated memory is still 58.7MB. Free memory was 41.1MB in the beginning and 41.0MB in the end (delta: 50.8kB). There was no memory consumed. Max. memory is 16.1GB. * CACSL2BoogieTranslator took 767.95ms. Allocated memory was 58.7MB in the beginning and 75.5MB in the end (delta: 16.8MB). Free memory was 34.8MB in the beginning and 35.6MB in the end (delta: -847.0kB). Peak memory consumption was 17.3MB. Max. memory is 16.1GB. * Boogie Procedure Inliner took 97.09ms. Allocated memory is still 75.5MB. Free memory was 56.7MB in the beginning and 51.4MB in the end (delta: 5.3MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * Boogie Preprocessor took 59.39ms. Allocated memory is still 75.5MB. Free memory was 51.4MB in the beginning and 47.2MB in the end (delta: 4.2MB). Peak memory consumption was 4.2MB. Max. memory is 16.1GB. * RCFGBuilder took 794.61ms. Allocated memory was 75.5MB in the beginning and 92.3MB in the end (delta: 16.8MB). Free memory was 47.2MB in the beginning and 57.8MB in the end (delta: -10.6MB). Peak memory consumption was 21.8MB. Max. memory is 16.1GB. * TraceAbstraction took 414.15ms. Allocated memory is still 92.3MB. Free memory was 57.2MB in the beginning and 43.5MB in the end (delta: 13.8MB). Peak memory consumption was 14.7MB. Max. memory is 16.1GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: UnsupportedOperationException: Set is immutable: de.uni_freiburg.informatik.ultimate.util.datastructures.ImmutableSet.retainAll(ImmutableSet.java:338) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2021-12-15 11:06:11,200 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (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: ERROR: ExceptionOrErrorResult: UnsupportedOperationException: Set is immutable