-
Notifications
You must be signed in to change notification settings - Fork 42
Dependency Analysis #976
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AndreaKe
wants to merge
544
commits into
master
Choose a base branch
from
keuscha/dependency_analysis_refactoring
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Dependency Analysis #976
Changes from all commits
Commits
Show all changes
544 commits
Select commit
Hold shift + click to select a range
ca64da4
cleanup of how passing dependency results to Gobra
AndreaKe f8ea7f8
implement progress metric
AndreaKe 14c87f9
fix lifting from low level to user level graph
AndreaKe 5c0dfce
renaming
AndreaKe acbcca6
implement verification guidance
AndreaKe c990fa6
handle verification failures in progress metric
AndreaKe c75b617
fix for Gobra
AndreaKe 4ce35a3
handle verification failures via infeasible path and assert failed nodes
AndreaKe 9964848
minor fix
AndreaKe af67cfd
minor fix
AndreaKe ca821e1
add dependency types
AndreaKe e15ae1f
revert
AndreaKe c769b79
fix source info "equals"
AndreaKe c87a0f7
fix function axioms of disabled functions
AndreaKe 9863770
progress metric: require verified program
AndreaKe 08233c9
progress metric: exclude trivial assertions
AndreaKe 69ed391
test
AndreaKe b3e6f21
Revert "fix source info "equals""
AndreaKe ffb25e3
fix UserLevelDependencyAnalysisNode creation
AndreaKe b1d20cc
minor fix
AndreaKe 9d67732
temporary fix graph join for frontends
AndreaKe 3afb7bc
fix UserLevelDependencyAnalysisNode
AndreaKe 6672a9d
fix AnalysisSourceInfo
AndreaKe 34b6c18
minor fix
AndreaKe 53d3051
DependencyAnalysisTestFramework: make storing pruned programs optional
AndreaKe bf5f1ca
update submodules
AndreaKe d0a0f07
add progress test
AndreaKe 9ed781e
fix method join
AndreaKe 3d41f98
implement VerificationProgressRunner
AndreaKe 36fa7eb
add verification progress examples
AndreaKe 74a2a1e
update Readme
AndreaKe 71b955f
fix typos
AndreaKe a13e6e7
Merge branch 'master' into keuscha/assumption_analysis_profiling_gobra
AndreaKe 7b45a02
fix after merge
AndreaKe c1231a1
fix assumption types
AndreaKe 901aae1
dependency node equality workaround
AndreaKe 1cef81a
fix assumption types
AndreaKe 12d4ff0
treat assertions as verification annotations
AndreaKe 50821f3
fix function axioms by removing analysis labels
AndreaKe 73d930f
comment in warnings about function axioms
AndreaKe 5077d68
progress metric: remove special treatment of verification failures
AndreaKe e0d695d
optimize progress computation
AndreaKe 54733c2
optimize node storage (assumptions vs assertions)
AndreaKe a12e784
minor fix
AndreaKe 212a37e
combine spec and proof quality computation
AndreaKe cfd76f6
fix assumption and assertion types
AndreaKe 07cc814
progress computation optimizations (removing internal nodes, node maps)
AndreaKe b482ccd
infeasible paths: optimizations
AndreaKe 81b25c0
update submodules
AndreaKe 0a2bd2b
fix infeasible path incompleteness bug
AndreaKe f195487
fix unsoundness bug
AndreaKe 722f36c
TMP: run pipeline with DA enabled
AndreaKe c2bf37e
Revert "TMP: run pipeline with DA enabled"
AndreaKe 35ede49
make DA more precise for magic wands
AndreaKe 662685b
fix graph export (edges)
AndreaKe 5b678f7
(WIP) fix chunk nodes
AndreaKe 1874235
minor fix
AndreaKe c4d6f44
add test case for infeasible paths
AndreaKe 187238d
fix missing dependency types
AndreaKe 3b2a0ea
fix graph join for frontends
AndreaKe eb695ee
minor fixes
AndreaKe 9afa0cd
add more profiling instrumentation
AndreaKe 23c3c31
add enableUnsatCore config option
AndreaKe 5b9d5d2
fix for gobra interfaces
AndreaKe 62e7dcf
cherry-pick silicon PR #961
jcp19 ae05d01
implement graph importer as a stand-alone program
AndreaKe 71c0899
Merge remote-tracking branch 'origin/keuscha/assumption_analysis_prof…
AndreaKe 6fe9365
add command line arguments to graph importer
AndreaKe 18b0939
cleanup smoke checks
AndreaKe 2a5fa17
cleanup fix for Gobra interfaces (custom join nodes)
AndreaKe 19f6dad
handle join nodes in function verification unit
AndreaKe 977c980
optimize graph export
AndreaKe f72b6c1
comment out profiling artifacts for progress metric
AndreaKe 1881e4d
minor fix regarding join nodes
AndreaKe 4e8df60
fix guidance
AndreaKe e350606
attempt to automatically determine minimal dependencies for precision…
AndreaKe e7e15de
fix guidance (function bodies)
AndreaKe ee7bb0a
minor fix, function bodies -> verification annotation
AndreaKe c53794d
fix Gobra method and function postcondition types
AndreaKe 4360244
fix Gobra method and function postcondition types
AndreaKe 06316d7
improve guidance by estimating impact of assumptions on Lea's progres…
AndreaKe 0ccddd1
fix div by 0 in progress computation
AndreaKe 485a2ce
fix function axiom annotations
AndreaKe 1af15bc
add getMaxPriorityType
AndreaKe addf001
fix dependency type annotations for Gobra
AndreaKe 29457ba
fix dependency type annotations for Gobra
AndreaKe 88532c1
fix infinite loop in progress computation
AndreaKe ac929ff
optimize graph joins
AndreaKe ec340c8
handle impure assertion failures
AndreaKe 47e551d
add support for verification failures
AndreaKe cc6a430
minor fix for verification failure handling
AndreaKe 1857b71
annotate imported methods
AndreaKe ae769dd
treat ghost code identical to normal code
AndreaKe 392473c
adjust progress and guidance for abstract and imported methods
AndreaKe bedaee1
nodes with failed obligations are always explicit assumptions
AndreaKe 73fcd94
fix spec quality computation
AndreaKe bc73399
minor fix for verification failures
AndreaKe 815b844
add precision eval query
AndreaKe f2c95bc
add annotate query
AndreaKe c36fe68
update precisionEval query
AndreaKe ce03dff
fix precision test case annotation helper
AndreaKe d2f2a28
fix precision eval query
AndreaKe 373d60e
update precision evaluation query
AndreaKe ae88f7a
fixes for interfaces
AndreaKe f01110a
update precision evaluation query for gobra
AndreaKe 2a7124a
fix for gobra interfaces
AndreaKe 4242846
fix method call without assumptions
AndreaKe fe79c63
fix for preconditions
AndreaKe ac356df
make interprocedural dependencies context-sensitive
AndreaKe c95a2fd
refactoring
AndreaKe 43501c3
create DependencyAnalysisInfo and propagate it
AndreaKe 21658db
create DependencyAnalysisInfoes
AndreaKe 9862a5a
refactor dependency type
AndreaKe 206e326
refactor join info
AndreaKe df9c515
fix
AndreaKe 2d96e53
fix merge info
AndreaKe 6560e2c
fix join
AndreaKe 8c405ea
refactoring
AndreaKe 2d4dd16
fix axioms
AndreaKe 900af54
cleanup
AndreaKe 620003d
renaming
AndreaKe 4cdbeea
cleanup warnings
AndreaKe 6475012
refactoring
AndreaKe 89bfa03
collect DependencyAnalysisInfos only if DA is enabled
AndreaKe 8b53c22
fix
AndreaKe 080116a
fix Silicon DA tests
AndreaKe 38e479f
update silver submodule
AndreaKe 30d9bb3
add DependencyGraphState
AndreaKe f995ad4
fix tests
AndreaKe dd148b8
fix graph export
AndreaKe 7fd6ccb
make method calls more precise by separating it from argument evaluation
AndreaKe d5609a1
make function calls more precise by separating it from argument evalu…
AndreaKe 5f352b2
add test case for join precision
AndreaKe f869afc
refactor interpreter and user tool
AndreaKe d5f2fa5
refactor interpreter and user tool
AndreaKe 329e7dc
fix tests
AndreaKe 7ed0918
fix state consolidation
AndreaKe 9f7f356
fix for method and function calls
AndreaKe 5cf82c0
add some documentation
AndreaKe 505944c
fix tests
AndreaKe 6c69f8b
add documentation and cleanup unused code
AndreaKe 4ae1874
adapt Gobra DA implementation to new design
AndreaKe 86c8f93
update submodules
AndreaKe a195706
adapt solution for Gobra interfaces
AndreaKe 69c7064
fixes
AndreaKe bcbe1b6
fix infeasibility node
AndreaKe d6eec6b
fix withMeta for BackendFuncApp
AndreaKe 8bc735d
fix withMeta for Adt plugin
AndreaKe 61c8fa6
fix DA tests
AndreaKe edf51da
fix dependency queries regarding join edges
AndreaKe 567c480
refactor dependency queries
AndreaKe 7fd1213
refactor progress and pruning supporter
AndreaKe a501721
print warnings when DA info is missing
AndreaKe f84414a
do not collect builtin axioms
AndreaKe c80c852
Add flags for VSC extension
DovydasVad bf7211a
mark infeasibility checks at branches as internal
AndreaKe de0c85b
ignore preconditions for progress and guidance
AndreaKe 0548f80
fix join nodes on infeasible paths
AndreaKe 49d90fd
add assertionTypes query
AndreaKe 9c469a5
create one node per top-level conjuncts for assertions
AndreaKe b2bd2bd
clean up silver
AndreaKe 52c63db
clean up silver
AndreaKe bcc8d7e
remove benchmark artifacts
AndreaKe 395e36f
clean up silver
AndreaKe bf8b403
clean up silicon
AndreaKe c065adf
clean up silicon
AndreaKe da0fe07
clean up DA tests
AndreaKe 142af18
fix implication in combination with infeasibility
AndreaKe 8f6668d
add tests for node types and dependencies (for Silicon and Gobra)
AndreaKe 662c1c4
minor fix
AndreaKe 8be7baa
redesign annotated tests
AndreaKe 39958bc
fix failing tests
AndreaKe 92cf5db
merge silver/master
AndreaKe 1b0c791
merge silver/master
AndreaKe 521979f
Merge branch 'master' into keuscha/dependency_analysis_refactoring
AndreaKe 1ccf5d7
code review
AndreaKe 3472259
fix progress for failing assertions
AndreaKe cb8378b
Add dependency analysis test cases for guidance and verification prog…
DovydasVad 5fb9234
fix unknown constant (function recorder)
AndreaKe c9a0093
Remove duplicate error messages
DovydasVad fe01472
fixes (function recorder and infeasibility)
AndreaKe 9e3a215
Merge pull request #983 from DovydasVad/dependency_analysis_testing
AndreaKe ac9ccfe
Merge remote-tracking branch 'origin/keuscha/dependency_analysis_refa…
AndreaKe ae36076
fix infeasible paths
AndreaKe 08aa77f
cleanup
AndreaKe 350b4af
add progress test
AndreaKe d830c50
cleanup
AndreaKe 6128047
remove precision improvement regarding function arguments
AndreaKe a5a7c85
add allDeps cli command
AndreaKe cb93490
fix da source info extraction for frontends
AndreaKe 8e592f5
fix direct dependencies query
AndreaKe 0ed154c
make dependencies across methods more precise
AndreaKe f665ef0
fix progress computation for failures
AndreaKe e5aa3d3
handle verification failures properly
AndreaKe 54f9e24
fix infinite loop in getAllDeps query
AndreaKe e1b8068
update silver submodule
AndreaKe 9b8580c
cleanup config flag and refactor cli tool
AndreaKe 1cbec38
update graph importer and test it
AndreaKe ea54969
adding memberStr to nodes and removing the need for member-specific d…
AndreaKe 3ed73d9
separate DA features from default decider
AndreaKe 2208747
add ChunkFactories and separate DA code from default code
AndreaKe 60fe517
separate decider, verifier, function and method supporter DA code fro…
AndreaKe 11ef9e6
separate DA code from prover and decider
AndreaKe c55dcc6
tabs -> spaces
AndreaKe 344271a
reorganizing silicon classes
AndreaKe ec8b955
cleanup
AndreaKe 2c5b290
make chunk constructor private -> enforce ChunkFactory
AndreaKe dc230d0
refactor function data
AndreaKe 6ca5160
update README.md
AndreaKe db7c7ec
minor fixes
AndreaKe 689a52f
update progress and weird nodes command for cli tool
AndreaKe e3242a1
rename classes
AndreaKe 3897e97
rename and move classes
AndreaKe 137adec
cleanup progress tests
AndreaKe 3fb8850
Merge branch 'master' into keuscha/dependency_analysis_refactoring
AndreaKe b2fe999
dependency analysis
AndreaKe 2d7ec57
add license headers
AndreaKe a576196
refactor attaching DA info during translator
AndreaKe 3c437c8
refactor attaching DA info during translator
AndreaKe 69e562e
fix pipeline
AndreaKe 5066d71
cleanup
AndreaKe d4a6507
fix weirdNodes command
AndreaKe 1903d9f
fix for method calls with field receiver
AndreaKe 9b3d5ec
fix default analysis infos
AndreaKe c256587
make analysis info creation prettier
AndreaKe d4aa738
code review
AndreaKe 3b6ad8d
update readme
AndreaKe 614c63b
fix getInfo exception sourceInfo.last
AndreaKe 4f7e707
dependency nodes: case class -> class
AndreaKe 7fbae88
optimize graph join
AndreaKe 1bcbe1e
optimize computation of direct dependencies
AndreaKe f7f67d7
more optimizations
AndreaKe 80ee4bb
refactor assumption and dependency type
AndreaKe 7809d23
remove assumption type sets
AndreaKe 3006aee
claude code review
AndreaKe 1de1976
refactor dependency queries
AndreaKe 3e8b0f1
refactor dependency queries
AndreaKe aea477a
cleanup warnings
AndreaKe 40bfe77
rename dependency analysis source info
AndreaKe ae471b0
update silicon/silver
AndreaKe 00138ca
cleanup
AndreaKe 78a6c23
update silver
AndreaKe 1259037
Update src/main/scala/Config.scala
AndreaKe 3a54964
code review
AndreaKe a608c20
fixes
AndreaKe b90426c
update config flags
AndreaKe 4fb645d
implement node factory and turn nodes into case classes
AndreaKe 49d812d
cleanup da config flags
AndreaKe d5cac4a
remove early returns
AndreaKe 89ea5c0
cleanup
AndreaKe File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Submodule silver
updated
33 files
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.