Skip to content

Scope-based SymbExLogger#475

Merged
mschwerhoff merged 52 commits into
masterfrom
arquintl/silicon/default
Mar 15, 2020
Merged

Scope-based SymbExLogger#475
mschwerhoff merged 52 commits into
masterfrom
arquintl/silicon/default

Conversation

@viper-admin

Copy link
Copy Markdown
Member

Pull request 🔀 created by @ArquintL on 2019-08-23 11:45
Last updated on 2020-02-14 14:40
Original Bitbucket pull request id: 65

Participants:

Source: 5670297 on branch arquintl/silicon/default
Destination: 76f21ec on branch master

State: OPEN

  • adds logConfig as additional Silicon config parameter
  • expects consolidateOnAssertTrue as additional SilFrontendConfig parameter (TODO LA: PR for silver)
  • adds implementation of new SymbExLogger with heavy code cleanup (it’s now more than 1 source file → viper.silicon.logger package
  • moves unit tests of SymbExLogger to a dedicated test file: SymbExLoggerTests
  • makes SymbExLogger unit tests more flexible by ignoring additional records and expecting only method, function, predicate, braching, joining, and execute records

ArquintL added 30 commits May 3, 2019 14:54
…adds logger support for arbitrary CFG branching
… checker for exec time completeness on records
…nsolidation was performed next, and verification is retried
…e not considered scopes, some runtime checks on logged paths, genericNode export
@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:16

Outdated location: line 17 of src/main/scala/logger/records/data/SingleMergeRecord.scala

Please change constant functions to actual constants, i.e. override val toTypeString: String = "single merge". This might require you to declare the abstract def toTypeString without parentheses.

Please do this for all such functions, I’ve noticed them in nearly all data records.

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:24

Outdated location: line 1 of src/main/scala/logger/records/data/SingleMergeRecord.scala

MPL header missing.

Please check all files for missing MPL headers.

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:24

Outdated location: line 1 of src/main/scala/logger/records/data/ProverAssertRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:24

Outdated location: line 1 of src/main/scala/logger/records/data/ProduceRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:24

Outdated location: line 1 of src/main/scala/logger/records/data/PredicateRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/MethodRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/MethodCallRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/MemberRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/ImpliesRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/FunctionRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/ExecuteRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/EvaluateRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/DeciderAssumeRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/DeciderAssertRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/DataRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:25

Outdated location: line 1 of src/main/scala/logger/records/data/ConsumeRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:26

Outdated location: line 1 of src/main/scala/logger/records/data/ConditionalEdgeRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:26

Outdated location: line 1 of src/main/scala/logger/records/data/CondExpRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:26

Outdated location: line 1 of src/main/scala/logger/records/data/CommentRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:26

Outdated location: line 1 of src/main/scala/logger/records/SymbolicRecord.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:26

Outdated location: line 1 of src/main/scala/logger/records/RecordData.scala

MPL header missing

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:27

Outdated location: line 370 of src/main/scala/logger/SymbExLogger.scala

Appending to List has O(n) cost. Create Vectors instead of Lists or Seqs.

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:27

Outdated location: line 1 of src/main/scala/logger/LogConfig.scala

MPL header is missing from file

done

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:41

Outdated location: line 2 of src/test/resources/symbExLogTests/symbLogTest_ImpureBranching.sil.elog

Checking for these internal names seems to make the test case rather brittle. Are they really necessary?

If I remember correctly, this is the only information I have about the branch condition. I thought it’s still better than having no condition at all

@viper-admin

Copy link
Copy Markdown
Member Author

@ArquintL commented on 2019-10-01 15:51

Your suggestions are now implemented and conflicts should be fixed

# Conflicts:
#	src/main/scala/Config.scala
#	src/main/scala/rules/QuantifiedChunkSupport.scala
#	src/main/scala/supporters/functions/FunctionVerificationUnit.scala
#	src/test/scala/PortableSiliconTests.scala
@mschwerhoff mschwerhoff merged commit 85ecb64 into master Mar 15, 2020
@mschwerhoff mschwerhoff deleted the arquintl/silicon/default branch March 15, 2020 12:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants