SVF-tools / SVF

Static Value-Flow Analysis Framework for Source Code
http://svf-tools.github.io/SVF/
Other
1.43k stars 436 forks source link

move icfg building to llvmmodule #1566

Closed jumormt closed 1 month ago

codecov[bot] commented 1 month ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 62.84%. Comparing base (905d5fe) to head (f98501e). Report is 4 commits behind head on master.

Additional details and impacted files [![Impacted file tree graph](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566/graphs/tree.svg?width=650&height=150&src=pr&token=swDcvdBMse&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None)](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) ```diff @@ Coverage Diff @@ ## master #1566 +/- ## ======================================= Coverage 62.84% 62.84% ======================================= Files 245 245 Lines 25664 25665 +1 Branches 4504 4505 +1 ======================================= + Hits 16129 16130 +1 Misses 9535 9535 ``` | [Files with missing lines](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None) | Coverage Δ | | |---|---|---| | [svf-llvm/include/SVF-LLVM/ICFGBuilder.h](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?src=pr&el=tree&filepath=svf-llvm%2Finclude%2FSVF-LLVM%2FICFGBuilder.h&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3ZmLWxsdm0vaW5jbHVkZS9TVkYtTExWTS9JQ0ZHQnVpbGRlci5o) | `100.00% <100.00%> (ø)` | | | [svf-llvm/include/SVF-LLVM/LLVMModule.h](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?src=pr&el=tree&filepath=svf-llvm%2Finclude%2FSVF-LLVM%2FLLVMModule.h&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3ZmLWxsdm0vaW5jbHVkZS9TVkYtTExWTS9MTFZNTW9kdWxlLmg=) | `94.11% <100.00%> (+0.05%)` | :arrow_up: | | [svf-llvm/lib/ICFGBuilder.cpp](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?src=pr&el=tree&filepath=svf-llvm%2Flib%2FICFGBuilder.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3ZmLWxsdm0vbGliL0lDRkdCdWlsZGVyLmNwcA==) | `99.23% <100.00%> (ø)` | | | [svf-llvm/lib/LLVMModule.cpp](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?src=pr&el=tree&filepath=svf-llvm%2Flib%2FLLVMModule.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3ZmLWxsdm0vbGliL0xMVk1Nb2R1bGUuY3Bw) | `83.75% <100.00%> (+0.07%)` | :arrow_up: | | [svf-llvm/lib/SVFIRBuilder.cpp](https://app.codecov.io/gh/SVF-tools/SVF/pull/1566?src=pr&el=tree&filepath=svf-llvm%2Flib%2FSVFIRBuilder.cpp&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=None#diff-c3ZmLWxsdm0vbGliL1NWRklSQnVpbGRlci5jcHA=) | `83.95% <ø> (-0.11%)` | :arrow_down: |
jumormt commented 1 month ago

--- log/redis-server.log 2024-10-10 11:06:20.366611258 +1100 +++ log/redis-server-xiao.log 2024-10-10 11:04:40.759648535 +1100 @@ -31,9 +31,9 @@ VarArrayObj 831 VarStructObj 1664 ----------------Time and memory stats-------------------- -LLVMIRTime 3.124 -SVFIRTime 3.63 -SymbolTableTime 0.542 +LLVMIRTime 4.626 +SVFIRTime 2.592 +SymbolTableTime 0.733 #######################################################

*CallGraph Stats (Andersen analysis)*** @@ -60,11 +60,11 @@ CollapseTime 0 CopyGepTime 0 LoadStoreTime 0 -MemoryUsageVmrss 4.16041e+06 -MemoryUsageVmsize 4.16009e+06 +MemoryUsageVmrss 4.16478e+06 +MemoryUsageVmsize 4.16453e+06 SCCDetectTime 0 SCCMergeTime 0 -TotalTime 128.696 +TotalTime 129.188 UpdateCGTime 0 ----------------Numbers stats---------------------------- AddrProcessed 17887 @@ -115,32 +115,32 @@ Persistent Points-To Cache Statistics: Andersen's analysis bitvector ################ (program : redis-server.bc)############### UniquePointsToSets 44837 -TotalUnions 673061 +TotalUnions 673058 PropertyUnions 222658 UniqueUnions 19260 LookupUnions 395148 -PreemptiveUnions 35995 +PreemptiveUnions 35992 TotalComplements 3364152 PropertyComplements 2998574 UniqueComplements 16887 LookupComplements 331806 PreemptiveComplements 16885 -TotalIntersections 4182812 -PropertyIntersections 4145481 -UniqueIntersections 839 -LookupIntersections 2194 -PreemptiveIntersections 34298 +TotalIntersections 4182809 +PropertyIntersections 4145459 +UniqueIntersections 853 +LookupIntersections 2202 +PreemptiveIntersections 34295 #######################################################

*Memory SSA Statistics*** ################ (program : redis-server.bc)############### ----------------Time and memory stats-------------------- AverageRegSize 85.0301 -GenMUCHITime 1.964 -GenRegionTime 543.746 -InsertPHITime 0.578 -SSARenameTime 0.094 -TotalMSSATime 546.39 +GenMUCHITime 1.851 +GenRegionTime 505.47 +InsertPHITime 0.572 +SSARenameTime 0.105 +TotalMSSATime 508.002 ----------------Numbers stats---------------------------- BBHasMSSAPhi 10755 CSChiNode 112337 @@ -163,13 +163,13 @@ *SVFG Statistics*** ################ (program : redis-server.bc)############### ----------------Time and memory stats-------------------- -ATNodeTime 0.882 +ATNodeTime 0.843 AvgWeight 166.005 ConnDirEdgeTime 0 -ConnIndEdgeTime 4.497 +ConnIndEdgeTime 4.402 OptTime 0 TLNodeTime 0 -TotalTime 5.379 +TotalTime 5.245 ----------------Numbers stats---------------------------- ActualIn 164766 ActualOut 112337 @@ -231,20 +231,20 @@ GepTime 0 IndirectPropaTime 0 LoadTime 0 -MemoryUsageVmrss 3.58573e+06 -MemoryUsageVmsize 3.62093e+06 +MemoryUsageVmrss 3.58384e+06 +MemoryUsageVmsize 3.61566e+06 PhiTime 0 -PrelabelingTime 0.132 +PrelabelingTime 0.143 ProcessTime 0 PropagationTime 0 SCCTime 0 -SolveTime 492.487 +SolveTime 436.273 StoreTime 0 Strong/WeakUpdTime 0 -TotalTime 729.507 +TotalTime 670.406 UpdateCGTime 0 VersionPropTime 0 -meldLabelingTime 233.568 +meldLabelingTime 230.696 ----------------Numbers stats---------------------------- CopysNum 14138 DummyFieldPtrs 2305 @@ -262,13 +262,13 @@ Pointers 494739 ProcessedAParam 0 ProcessedAddr 107322 -ProcessedCopy 168576 +ProcessedCopy 162695 ProcessedFRet 0 -ProcessedGep 888553 -ProcessedLoad 936951 +ProcessedGep 867432 +ProcessedLoad 854435 ProcessedMSSANode 2318016 -ProcessedPhi 109701 -ProcessedStore 335220 +ProcessedPhi 103561 +ProcessedStore 318453 SolveIterations 6 StoresNum 24164 StrongUpdates 3378 @@ -283,12 +283,12 @@

Persistent Points-To Cache Statistics: flow-sensitive analysis bitvector ################ (program : redis-server.bc)############### -UniquePointsToSets 29775 -TotalUnions 1254062949 -PropertyUnions 1092063958 -UniqueUnions 37941 -LookupUnions 161909939 -PreemptiveUnions 51111 +UniquePointsToSets 29653 +TotalUnions 1142363923 +PropertyUnions 976559201 +UniqueUnions 38387 +LookupUnions 165714696 +PreemptiveUnions 51639 TotalComplements 0 PropertyComplements 0 UniqueComplements 0

jumormt commented 1 month ago

--- log/nanomq.log 2024-10-10 10:55:22.889456497 +1100 +++ log/nanomq-xiao.log 2024-10-10 10:55:17.645511078 +1100 @@ -31,9 +31,9 @@ VarArrayObj 155 VarStructObj 510 ----------------Time and memory stats-------------------- -LLVMIRTime 1.062 -SVFIRTime 1.63 -SymbolTableTime 0.249 +LLVMIRTime 1.572 +SVFIRTime 1.101 +SymbolTableTime 0.267 #######################################################

*CallGraph Stats (Andersen analysis)*** @@ -60,11 +60,11 @@ CollapseTime 0 CopyGepTime 0 LoadStoreTime 0 -MemoryUsageVmrss 2.15045e+06 -MemoryUsageVmsize 2.15044e+06 +MemoryUsageVmrss 2.15342e+06 +MemoryUsageVmsize 2.15344e+06 SCCDetectTime 0 SCCMergeTime 0 -TotalTime 36.745 +TotalTime 35.703 UpdateCGTime 0 ----------------Numbers stats---------------------------- AddrProcessed 19323 @@ -115,32 +115,32 @@ Persistent Points-To Cache Statistics: Andersen's analysis bitvector ################ (program : nanomq.bc)############### UniquePointsToSets 25548 -TotalUnions 368436 +TotalUnions 368440 PropertyUnions 154683 UniqueUnions 5249 LookupUnions 198938 -PreemptiveUnions 9566 +PreemptiveUnions 9570 TotalComplements 1480184 PropertyComplements 1306970 UniqueComplements 3692 LookupComplements 165832 PreemptiveComplements 3690 -TotalIntersections 2198716 -PropertyIntersections 2191116 -UniqueIntersections 28 -LookupIntersections 172 -PreemptiveIntersections 7400 +TotalIntersections 2198720 +PropertyIntersections 2191096 +UniqueIntersections 33 +LookupIntersections 187 +PreemptiveIntersections 7404 #######################################################

*Memory SSA Statistics*** ################ (program : nanomq.bc)############### ----------------Time and memory stats-------------------- AverageRegSize 8.01554 -GenMUCHITime 0.489 -GenRegionTime 58.856 -InsertPHITime 0.08 -SSARenameTime 0.034 -TotalMSSATime 59.461 +GenMUCHITime 0.464 +GenRegionTime 56.918 +InsertPHITime 0.09 +SSARenameTime 0.03 +TotalMSSATime 57.504 ----------------Numbers stats---------------------------- BBHasMSSAPhi 4150 CSChiNode 20298 @@ -163,13 +163,13 @@ *SVFG Statistics*** ################ (program : nanomq.bc)############### ----------------Time and memory stats-------------------- -ATNodeTime 0.258 +ATNodeTime 0.246 AvgWeight 81.3557 ConnDirEdgeTime 0 -ConnIndEdgeTime 1.025 +ConnIndEdgeTime 0.999 OptTime 0 TLNodeTime 0 -TotalTime 1.283 +TotalTime 1.245 ----------------Numbers stats---------------------------- ActualIn 40569 ActualOut 20298 @@ -231,20 +231,20 @@ GepTime 0 IndirectPropaTime 0 LoadTime 0 -MemoryUsageVmrss 1.20436e+06 -MemoryUsageVmsize 1.27355e+06 +MemoryUsageVmrss 1.20877e+06 +MemoryUsageVmsize 1.27682e+06 PhiTime 0 -PrelabelingTime 0.049 +PrelabelingTime 0.048 ProcessTime 0 PropagationTime 0 SCCTime 0 -SolveTime 110.408 +SolveTime 106.99 StoreTime 0 Strong/WeakUpdTime 0 -TotalTime 152.522 +TotalTime 150.332 UpdateCGTime 0 VersionPropTime 0 -meldLabelingTime 40.718 +meldLabelingTime 41.953 ----------------Numbers stats---------------------------- CopysNum 6031 DummyFieldPtrs 594 @@ -262,13 +262,13 @@ Pointers 215124 ProcessedAParam 0 ProcessedAddr 77292 -ProcessedCopy 78505 +ProcessedCopy 79887 ProcessedFRet 0 -ProcessedGep 304631 -ProcessedLoad 656914 +ProcessedGep 308594 +ProcessedLoad 665455 ProcessedMSSANode 483796 -ProcessedPhi 4344 -ProcessedStore 203272 +ProcessedPhi 4416 +ProcessedStore 206422 SolveIterations 4 StoresNum 14195 StrongUpdates 6824 @@ -283,12 +283,12 @@

Persistent Points-To Cache Statistics: flow-sensitive analysis bitvector ################ (program : nanomq.bc)############### -UniquePointsToSets 25441 -TotalUnions 246926730 -PropertyUnions 190415944 -UniqueUnions 26819 -LookupUnions 56450233 -PreemptiveUnions 33734 +UniquePointsToSets 25549 +TotalUnions 246272736 +PropertyUnions 191726498 +UniqueUnions 27293 +LookupUnions 54484623 +PreemptiveUnions 34322 TotalComplements 0 PropertyComplements 0 UniqueComplements 0