svf-tools 1.0.510 → 1.0.511
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.gitignore +1 -0
- package/SVF-doxygen/html/html/AndersenHCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenHLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenLCD_8cpp_source.html +2 -2
- package/SVF-doxygen/html/html/AndersenWaveDiff_8cpp_source.html +4 -13
- package/SVF-doxygen/html/html/Andersen_8h_source.html +34 -35
- package/SVF-doxygen/html/html/WPAPass_8cpp_source.html +3 -3
- package/SVF-doxygen/html/html/classSVF_1_1Andersen.html +1 -3
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHCD.html +29 -29
- package/SVF-doxygen/html/html/classSVF_1_1AndersenHLCD.html +19 -19
- package/SVF-doxygen/html/html/classSVF_1_1AndersenLCD.html +28 -28
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff-members.html +74 -75
- package/SVF-doxygen/html/html/classSVF_1_1AndersenWaveDiff.html +14 -138
- package/SVF-doxygen/html/html/classSVF_1_1WPAPass.html +3 -3
- package/SVF-doxygen/html/html/functions_func_h.html +3 -4
- package/SVF-doxygen/html/html/functions_func_p.html +1 -5
- package/SVF-doxygen/html/html/functions_h.html +4 -5
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +11 -19
- package/SVF-doxygen/html/html/functions_r.html +9 -5
- package/SVF-doxygen/html/html/functions_s.html +18 -16
- package/SVF-doxygen/html/html/functions_t.html +5 -7
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_w.html +11 -11
- package/SVF-doxygen/html/html/search/all_10.js +6 -7
- package/SVF-doxygen/html/html/search/all_11.js +2 -2
- package/SVF-doxygen/html/html/search/all_12.js +9 -9
- package/SVF-doxygen/html/html/search/all_13.js +3 -3
- package/SVF-doxygen/html/html/search/all_15.js +1 -1
- package/SVF-doxygen/html/html/search/all_16.js +2 -2
- package/SVF-doxygen/html/html/search/all_8.js +1 -1
- package/SVF-doxygen/html/html/search/all_9.js +1 -1
- package/SVF-doxygen/html/html/search/all_b.js +1 -1
- package/SVF-doxygen/html/html/search/all_c.js +1 -1
- package/SVF-doxygen/html/html/search/all_e.js +1 -1
- package/SVF-doxygen/html/html/search/all_f.js +1 -1
- package/SVF-doxygen/html/html/search/functions_7.js +1 -1
- package/SVF-doxygen/html/html/search/functions_f.js +2 -3
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_9.js +1 -1
- package/SVF-doxygen/html/html/search/variables_c.js +1 -1
- package/SVF-doxygen/html/html/search/variables_e.js +1 -1
- package/include/WPA/Andersen.h +0 -8
- package/lib/WPA/AndersenWaveDiff.cpp +0 -40
- package/package.json +1 -1
|
@@ -4,12 +4,12 @@ var searchData=
|
|
|
4
4
|
['weakupdateoutfromin',['weakUpdateOutFromIn',['../classSVF_1_1FlowSensitive.html#ab492c283e2264b4cbd4c192e805b7750',1,'SVF::FlowSensitive']]],
|
|
5
5
|
['which',['which',['../cJSON_8h.html#aa2a4dae2a14de4093826005f9bdfd3bb',1,'which(): cJSON.h'],['../cJSON_8cpp.html#aa2a4dae2a14de4093826005f9bdfd3bb',1,'which(): cJSON.cpp']]],
|
|
6
6
|
['while',['while',['../cJSON_8cpp.html#a209b15238c5803bc547b2d77e02f29b4',1,'cJSON.cpp']]],
|
|
7
|
-
['word',['
|
|
7
|
+
['word',['Word',['../classSVF_1_1CoreBitVector.html#aaee26ffc13d05cd57f0fd7e4c2ea875c',1,'SVF::CoreBitVector::Word()'],['../structSVF_1_1SparseBitVectorElement.html#a5d43d980591d14d3a3d0782be034ed4f',1,'SVF::SparseBitVectorElement::word()']]],
|
|
8
8
|
['wordit',['wordIt',['../classSVF_1_1CoreBitVector_1_1CoreBitVectorIterator.html#a1afa1cb9e8377d3dab767aa4bfc713dc',1,'SVF::CoreBitVector::CoreBitVectorIterator']]],
|
|
9
9
|
['wordnumber',['WordNumber',['../classSVF_1_1SparseBitVector_1_1SparseBitVectorIterator.html#a6b139db78c9cba017df0fa468bee713a',1,'SVF::SparseBitVector::SparseBitVectorIterator']]],
|
|
10
10
|
['words',['words',['../classSVF_1_1CoreBitVector.html#a807283a917e845ef19c4962b1744e98b',1,'SVF::CoreBitVector']]],
|
|
11
11
|
['wordsize',['WordSize',['../classSVF_1_1CoreBitVector.html#a63f5e4a36359ae62401e5f8dfecb86a3',1,'SVF::CoreBitVector']]],
|
|
12
|
-
['worklist',['
|
|
12
|
+
['worklist',['worklist',['../classSVF_1_1CFLSolver.html#a211bb78846886aa9ccd4b160da81e02e',1,'SVF::CFLSolver::worklist()'],['../classSVF_1_1SVFGOPT.html#a925f39665e13b18dfe66c2dded44c194',1,'SVF::SVFGOPT::worklist()'],['../classSVF_1_1SrcSnkSolver.html#aeecbd88066567b2f123e84072dd09941',1,'SVF::SrcSnkSolver::worklist()'],['../classSVF_1_1GraphReachSolver.html#a5032d3988dbce5a29274c55dc4dbe6bc',1,'SVF::GraphReachSolver::worklist()'],['../classSVF_1_1WPASolver.html#a1775717a8c8d5d125b7561bc1ae6abf5',1,'SVF::WPASolver::worklist()'],['../classSVF_1_1CFLSolver.html#a194d2c4c801799b0ba9562e33ca5b695',1,'SVF::CFLSolver::WorkList()'],['../classSVF_1_1CHGraph.html#af1b638faf888898cdf168c25e008ab12',1,'SVF::CHGraph::WorkList()'],['../classSVF_1_1ConstraintGraph.html#ae80fc7e5d68e103d8f3a82bc9ffb0f00',1,'SVF::ConstraintGraph::WorkList()'],['../classSVF_1_1SVFGOPT.html#a3ee399dc45e90a512be7575642855f40',1,'SVF::SVFGOPT::WorkList()'],['../classSVF_1_1MRGenerator.html#a68d50c752252bd40c402c7b99b95f0fc',1,'SVF::MRGenerator::WorkList()'],['../classSVF_1_1LeakChecker.html#af1e1f0fd38f72dcdfb5daa3d8af9538b',1,'SVF::LeakChecker::WorkList()'],['../classSVF_1_1SaberSVFGBuilder.html#a8e07c6afc4ae6e2792431065c2948039',1,'SVF::SaberSVFGBuilder::WorkList()'],['../classSVF_1_1SrcSnkDDA.html#a3c0d8850c4dae49a760ce5f80fb8822a',1,'SVF::SrcSnkDDA::WorkList()'],['../classSVF_1_1SrcSnkSolver.html#a19861635c58ef6db7347c22daabf80da',1,'SVF::SrcSnkSolver::WorkList()'],['../classSVF_1_1CHGBuilder.html#a727a1737e7290536b29b05e03d8b85ac',1,'SVF::CHGBuilder::WorkList()'],['../classSVF_1_1ICFGBuilder.html#a2dc4467008cdd6eb896e98b67457082a',1,'SVF::ICFGBuilder::WorkList()'],['../classSVF_1_1GraphReachSolver.html#a472784c3cb958b4347958f039d2fe054',1,'SVF::GraphReachSolver::WorkList()'],['../classSVF_1_1WPASolver.html#a624e9156b2d3a4f284548cbaaf650334',1,'SVF::WPASolver::WorkList()']]],
|
|
13
13
|
['worklist_2eh',['WorkList.h',['../WorkList_8h.html',1,'']]],
|
|
14
14
|
['workstack',['WorkStack',['../classSVF_1_1CSC.html#a0490b9998987d245ee6e56bc68db4f1e',1,'SVF::CSC']]],
|
|
15
15
|
['wpa_2ecpp',['wpa.cpp',['../wpa_8cpp.html',1,'']]],
|
|
@@ -8,7 +8,7 @@ var searchData=
|
|
|
8
8
|
['handlecallrelation',['handleCallRelation',['../classSVF_1_1LockAnalysis.html#ab99ef73905f35d4c20ca408586fc8680',1,'SVF::LockAnalysis::handleCallRelation()'],['../classSVF_1_1TCT.html#aac0c4c3f1c7cb1d89ebd2a3da2d49bd3',1,'SVF::TCT::handleCallRelation()']]],
|
|
9
9
|
['handlecallsitemodref',['handleCallsiteModRef',['../classSVF_1_1MRGenerator.html#acbf0be131b1fc5d0366157d300d1aa68',1,'SVF::MRGenerator']]],
|
|
10
10
|
['handlece',['handleCE',['../classSVF_1_1SymbolTableBuilder.html#abe39a7a3557899b4991bcc60d436dc50',1,'SVF::SymbolTableBuilder']]],
|
|
11
|
-
['handlecopygep',['handleCopyGep',['../classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e',1,'SVF::Andersen::handleCopyGep()'],['../
|
|
11
|
+
['handlecopygep',['handleCopyGep',['../classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e',1,'SVF::Andersen::handleCopyGep()'],['../classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5',1,'SVF::AndersenLCD::handleCopyGep()'],['../classSVF_1_1AndersenHLCD.html#a9582cde6cbb510f3fb624109f8ea8f63',1,'SVF::AndersenHLCD::handleCopyGep()'],['../classSVF_1_1AndersenSCD.html#aa0a496376f7bea2c417ef83c51d19a61',1,'SVF::AndersenSCD::handleCopyGep()']]],
|
|
12
12
|
['handledibasictype',['handleDIBasicType',['../classSVF_1_1DCHGraph.html#a86bf48776ccf53092f4cb742cf95f8eb',1,'SVF::DCHGraph']]],
|
|
13
13
|
['handledicompositetype',['handleDICompositeType',['../classSVF_1_1DCHGraph.html#a3ce75cbe92a1fa7d34c6fca2d2ca1b0f',1,'SVF::DCHGraph']]],
|
|
14
14
|
['handlediderivedtype',['handleDIDerivedType',['../classSVF_1_1DCHGraph.html#a1a4162e68b22d53e9dca73c6780ed3e5',1,'SVF::DCHGraph']]],
|
|
@@ -27,7 +27,7 @@ var searchData=
|
|
|
27
27
|
['icfgprinter',['ICFGPrinter',['../classSVF_1_1ICFGPrinter.html',1,'SVF::ICFGPrinter'],['../classSVF_1_1ICFGPrinter.html#ab51ba2c92e69d3688b0a185b4b1d69cb',1,'SVF::ICFGPrinter::ICFGPrinter()']]],
|
|
28
28
|
['icfgstat',['ICFGStat',['../classSVF_1_1ICFGStat.html',1,'SVF::ICFGStat'],['../classSVF_1_1ICFGStat.html#a3bbad3d1c0ab0cad3cc4b7aa069d1f9f',1,'SVF::ICFGStat::ICFGStat()']]],
|
|
29
29
|
['icfgstat_2eh',['ICFGStat.h',['../ICFGStat_8h.html',1,'']]],
|
|
30
|
-
['id',['
|
|
30
|
+
['id',['ID',['../classSVF_1_1DDAPass.html#adb39fc24e3d45e558ac36f37b5dc3565',1,'SVF::DDAPass::ID()'],['../classSVF_1_1MTA.html#a5ce0b3247bd412e5267a42be0646471b',1,'SVF::MTA::ID()'],['../classSVF_1_1BreakConstantGEPs.html#a8010c4f5824ed5ebcb7ae283473ada22',1,'SVF::BreakConstantGEPs::ID()'],['../classSVF_1_1MergeFunctionRets.html#a7a763ae6c9d3c72345495f01b0b4b458',1,'SVF::MergeFunctionRets::ID()'],['../classSVF_1_1IteratedDominanceFrontier.html#aaae6f876063759941ac236f17a80cea2',1,'SVF::IteratedDominanceFrontier::ID()'],['../classSVF_1_1WPAPass.html#a2674527c92cdef223e655d449f0811d4',1,'SVF::WPAPass::ID()'],['../classSVF_1_1GenericNode.html#aaa53457604fe4cf4cb97ca85d33907b0',1,'SVF::GenericNode::id()'],['../classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca',1,'SVF::Z3Expr::id()']]],
|
|
31
31
|
['idcounter',['idCounter',['../classSVF_1_1PersistentPointsToCache.html#ad8d24772f7503e0e735f546506d2bcc5',1,'SVF::PersistentPointsToCache']]],
|
|
32
32
|
['identifyfollowers',['identifyFollowers',['../classSVF_1_1PCG.html#ae5ee8cf8cfe42854407190f30f3b6c1b',1,'SVF::PCG']]],
|
|
33
33
|
['idtocallsitemap',['IdToCallSiteMap',['../classSVF_1_1PTACallGraph.html#a5f626f5c9254b9e643d943e59068efba',1,'SVF::PTACallGraph']]],
|
|
@@ -9,7 +9,7 @@ var searchData=
|
|
|
9
9
|
['keepnoneselfcycle',['KeepNoneSelfCycle',['../SVFGOPT_8cpp.html#a644ce2ce8b3224e9cd4cfc8480941c6f',1,'SVFGOPT.cpp']]],
|
|
10
10
|
['keytoidmap',['KeyToIDMap',['../classSVF_1_1PersistentPTData.html#aa4660a55bee52fc51248d694d475811f',1,'SVF::PersistentPTData::KeyToIDMap()'],['../classSVF_1_1PersistentDiffPTData.html#a4e706309fe4bb40b4424251888363215',1,'SVF::PersistentDiffPTData::KeyToIDMap()'],['../classSVF_1_1PersistentDFPTData.html#aee8871b4895d38bccb9078ad540f9f0f',1,'SVF::PersistentDFPTData::KeyToIDMap()'],['../classSVF_1_1PersistentVersionedPTData.html#a1927ccf9bb74b698f540f683e7f0d0f2',1,'SVF::PersistentVersionedPTData::KeyToIDMap()']]],
|
|
11
11
|
['kgrn',['KGRN',['../SVFUtil_8cpp.html#ac081c83b067273757f7a2e54a5957d41',1,'SVFUtil.cpp']]],
|
|
12
|
-
['kind',['
|
|
12
|
+
['kind',['kind',['../structSVF_1_1GrammarBase_1_1Symbol.html#aa60ddaabcb38b277d56b41bc9133ef71',1,'SVF::GrammarBase::Symbol::kind()'],['../classSVF_1_1CommonCHGraph.html#a4d3f2b9ed7ae8e87baf69525e9115071',1,'SVF::CommonCHGraph::kind()'],['../classSVF_1_1PTACallGraph.html#a6a5927a58cc777a0745bd0ca635f25b1',1,'SVF::PTACallGraph::kind()'],['../classSVF_1_1VFG.html#a3867c591a231bad0aa2e6ab7c095a42f',1,'SVF::VFG::kind()'],['../classSVF_1_1SVFValue.html#af9f71a3c0d055f5fed6831a6ecf40d67',1,'SVF::SVFValue::kind()'],['../classSVF_1_1GrammarBase.html#a7aef5c42fbd8a62dd4a541cc0e8e8187',1,'SVF::GrammarBase::Kind()'],['../classSVF_1_1CFLGraphBuilder.html#a20299631d2b85507af6d81861736db5e',1,'SVF::CFLGraphBuilder::Kind()'],['../classSVF_1_1CFLGraph.html#a27444bf84135748d32291cf0aa78ff81',1,'SVF::CFLGraph::Kind()']]],
|
|
13
13
|
['kind2attrsmap',['kind2AttrsMap',['../classSVF_1_1GrammarBase.html#a9782f4baeece8095f8a55cadd049ffce',1,'SVF::GrammarBase::kind2AttrsMap()'],['../classSVF_1_1CFLGraphBuilder.html#a5159cea5bc8d69715782ac5f56965a90',1,'SVF::CFLGraphBuilder::kind2AttrsMap()']]],
|
|
14
14
|
['kind2labelmap',['kind2LabelMap',['../classSVF_1_1CFLGraphBuilder.html#a461ff21d73f60cf96a3e36672d4c6a6c',1,'SVF::CFLGraphBuilder']]],
|
|
15
15
|
['kind2str',['kind2Str',['../classSVF_1_1GrammarBase.html#ac8ecc4293c5a63d2d30d0ca0832217d3',1,'SVF::GrammarBase']]],
|
|
@@ -93,7 +93,7 @@ var searchData=
|
|
|
93
93
|
['lookupunions',['lookupUnions',['../classSVF_1_1PersistentPointsToCache.html#ace976f138cf1b8ab6bbf7a5c5d0b60b8',1,'SVF::PersistentPointsToCache']]],
|
|
94
94
|
['loop',['Loop',['../namespaceSVF.html#abf85e29310b2e4df8925d00a5c081314',1,'SVF']]],
|
|
95
95
|
['loopanalysis',['LoopAnalysis',['../classSVF_1_1Options.html#a420e6656b02fd900430d51b8b4a5c6c1',1,'SVF::Options']]],
|
|
96
|
-
['loopbound',['
|
|
96
|
+
['loopbound',['loopBound',['../classSVF_1_1SVFLoop.html#ac4e2c365e2a08477381802205029b85c',1,'SVF::SVFLoop::loopBound()'],['../classSVF_1_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb',1,'SVF::Options::LoopBound()']]],
|
|
97
97
|
['loopinfo',['LoopInfo',['../namespaceSVF.html#a77e088bfe47c0b0ddcbbe0693dec6fe5',1,'SVF']]],
|
|
98
98
|
['loopinfobuilder',['loopInfoBuilder',['../classSVF_1_1TCT.html#ae64d6203b41c92d4ca617b8e976b88b2',1,'SVF::TCT']]],
|
|
99
99
|
['lowlink',['lowlink',['../structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2',1,'SVF::VersionedFlowSensitive::SCC::NodeData']]],
|
|
@@ -97,7 +97,7 @@ var searchData=
|
|
|
97
97
|
['numgtintregions',['NumGtIntRegions',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
98
98
|
['numnodes',['numNodes',['../classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62',1,'SVF::NodeIDAllocator']]],
|
|
99
99
|
['numnontrivialregionobjects',['NumNonTrivialRegionObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
100
|
-
['numobjects',['
|
|
100
|
+
['numobjects',['NumObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()'],['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()']]],
|
|
101
101
|
['numofactualin',['numOfActualIn',['../classSVF_1_1SVFGStat.html#a5365744d2ec3594e2255d274f7256569',1,'SVF::SVFGStat']]],
|
|
102
102
|
['numofactualout',['numOfActualOut',['../classSVF_1_1SVFGStat.html#a122555f5c4b9746cc2b7f38c7cd6b505',1,'SVF::SVFGStat']]],
|
|
103
103
|
['numofactualparam',['numOfActualParam',['../classSVF_1_1SVFGStat.html#a0494c59483520b57acdca95952c93d76',1,'SVF::SVFGStat']]],
|
|
@@ -63,7 +63,7 @@ var searchData=
|
|
|
63
63
|
['options_2eh',['Options.h',['../Options_8h.html',1,'']]],
|
|
64
64
|
['optsvfg',['OPTSVFG',['../classSVF_1_1Options.html#a7704ff30e6fc5043313adf5c655bcd4a',1,'SVF::Options']]],
|
|
65
65
|
['opvarbegin',['opVarBegin',['../classSVF_1_1MultiOpndStmt.html#abebed8985cb4d4d1361c42e5454c90b9',1,'SVF::MultiOpndStmt']]],
|
|
66
|
-
['opvars',['
|
|
66
|
+
['opvars',['OPVars',['../classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007',1,'SVF::MultiOpndStmt::OPVars()'],['../classSVF_1_1MultiOpndStmt.html#a172025849492f4de8f87564ef08f5880',1,'SVF::MultiOpndStmt::opVars()']]],
|
|
67
67
|
['opver',['opVer',['../classSVF_1_1MSSACHI.html#a86f2f3f6e2215cdbe31caee048510757',1,'SVF::MSSACHI']]],
|
|
68
68
|
['opverbegin',['opVerBegin',['../classSVF_1_1MSSAPHISVFGNode.html#ace39549f7e300cb4a0ac7b8506a8632a',1,'SVF::MSSAPHISVFGNode::opVerBegin()'],['../classSVF_1_1IntraMSSAPHISVFGNode.html#aff4e88ef6569d3c4f29b532d610cd2b9',1,'SVF::IntraMSSAPHISVFGNode::opVerBegin()'],['../classSVF_1_1CmpVFGNode.html#a78fb624f0ca9ff16e6a8e5fd1c384904',1,'SVF::CmpVFGNode::opVerBegin()'],['../classSVF_1_1BinaryOPVFGNode.html#adaff45c46c4cc8158bd3147d304deab5',1,'SVF::BinaryOPVFGNode::opVerBegin()'],['../classSVF_1_1UnaryOPVFGNode.html#ab63ddaa05181f2c60ca7a001001a908d',1,'SVF::UnaryOPVFGNode::opVerBegin()'],['../classSVF_1_1PHIVFGNode.html#a2e00f6d582aa4ac9aa116cc6d5c79369',1,'SVF::PHIVFGNode::opVerBegin()'],['../classSVF_1_1MSSAPHI.html#a940f9afa26bf54c7175276ea27003c2f',1,'SVF::MSSAPHI::opVerBegin()']]],
|
|
69
69
|
['opverend',['opVerEnd',['../classSVF_1_1MSSAPHISVFGNode.html#a33ec42a011781bbb63dce6dbe5f88bdf',1,'SVF::MSSAPHISVFGNode::opVerEnd()'],['../classSVF_1_1IntraMSSAPHISVFGNode.html#a5e78faceb497b0f3cb6f8f1a9fc4f799',1,'SVF::IntraMSSAPHISVFGNode::opVerEnd()'],['../classSVF_1_1CmpVFGNode.html#ae5ba94ffae500168f0e5c1b1ce78af9c',1,'SVF::CmpVFGNode::opVerEnd()'],['../classSVF_1_1BinaryOPVFGNode.html#aed5a32d1a145df7007ba7d934e4c2bd4',1,'SVF::BinaryOPVFGNode::opVerEnd()'],['../classSVF_1_1UnaryOPVFGNode.html#af31a06d33f41bdcff625ac23e269708c',1,'SVF::UnaryOPVFGNode::opVerEnd()'],['../classSVF_1_1PHIVFGNode.html#add18c60773871744123d12a037e78e20',1,'SVF::PHIVFGNode::opVerEnd()'],['../classSVF_1_1MultiOpndStmt.html#ad53097d07487d564e7d13f9d7d9ab10c',1,'SVF::MultiOpndStmt::opVerEnd()'],['../classSVF_1_1MSSAPHI.html#a2a49ad9d2eedf1dea98d725b13878d88',1,'SVF::MSSAPHI::opVerEnd()']]],
|
|
@@ -7,7 +7,7 @@ var searchData=
|
|
|
7
7
|
['handlecallrelation',['handleCallRelation',['../classSVF_1_1LockAnalysis.html#ab99ef73905f35d4c20ca408586fc8680',1,'SVF::LockAnalysis::handleCallRelation()'],['../classSVF_1_1TCT.html#aac0c4c3f1c7cb1d89ebd2a3da2d49bd3',1,'SVF::TCT::handleCallRelation()']]],
|
|
8
8
|
['handlecallsitemodref',['handleCallsiteModRef',['../classSVF_1_1MRGenerator.html#acbf0be131b1fc5d0366157d300d1aa68',1,'SVF::MRGenerator']]],
|
|
9
9
|
['handlece',['handleCE',['../classSVF_1_1SymbolTableBuilder.html#abe39a7a3557899b4991bcc60d436dc50',1,'SVF::SymbolTableBuilder']]],
|
|
10
|
-
['handlecopygep',['handleCopyGep',['../classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e',1,'SVF::Andersen::handleCopyGep()'],['../
|
|
10
|
+
['handlecopygep',['handleCopyGep',['../classSVF_1_1Andersen.html#ab069683dd6ca563113efbde2813ab35e',1,'SVF::Andersen::handleCopyGep()'],['../classSVF_1_1AndersenLCD.html#a139d80e25fe713194f719581915d36d5',1,'SVF::AndersenLCD::handleCopyGep()'],['../classSVF_1_1AndersenHLCD.html#a9582cde6cbb510f3fb624109f8ea8f63',1,'SVF::AndersenHLCD::handleCopyGep()'],['../classSVF_1_1AndersenSCD.html#aa0a496376f7bea2c417ef83c51d19a61',1,'SVF::AndersenSCD::handleCopyGep()']]],
|
|
11
11
|
['handledibasictype',['handleDIBasicType',['../classSVF_1_1DCHGraph.html#a86bf48776ccf53092f4cb742cf95f8eb',1,'SVF::DCHGraph']]],
|
|
12
12
|
['handledicompositetype',['handleDICompositeType',['../classSVF_1_1DCHGraph.html#a3ce75cbe92a1fa7d34c6fca2d2ca1b0f',1,'SVF::DCHGraph']]],
|
|
13
13
|
['handlediderivedtype',['handleDIDerivedType',['../classSVF_1_1DCHGraph.html#a1a4162e68b22d53e9dca73c6780ed3e5',1,'SVF::DCHGraph']]],
|
|
@@ -41,7 +41,7 @@ var searchData=
|
|
|
41
41
|
['phivfgnode',['PHIVFGNode',['../classSVF_1_1PHIVFGNode.html#add1ed5dfc7fbb095e2bdb7ff1e2658ef',1,'SVF::PHIVFGNode']]],
|
|
42
42
|
['plainmap',['plainMap',['../classSVF_1_1FlowSensitive.html#a5a8688102f3675cf414b01dc2ae51c6b',1,'SVF::FlowSensitive']]],
|
|
43
43
|
['pointeranalysis',['PointerAnalysis',['../classSVF_1_1PointerAnalysis.html#a14e2a209cb594f91a24ef09b12f82f3f',1,'SVF::PointerAnalysis']]],
|
|
44
|
-
['pointsto',['
|
|
44
|
+
['pointsto',['PointsTo',['../classSVF_1_1PointsTo.html#a05aa807f21f311eb50ff11dde98b8d22',1,'SVF::PointsTo::PointsTo(void)'],['../classSVF_1_1PointsTo.html#acef2d3e41263aef641c3411e28ad445c',1,'SVF::PointsTo::PointsTo(const PointsTo &pt)'],['../classSVF_1_1PointsTo.html#a5ecef616428a70e8e7726406dfb43544',1,'SVF::PointsTo::PointsTo(PointsTo &&pt)'],['../classSVF_1_1CondPointsToSet.html#a63f09ca69e00b317de29af6a6a12daac',1,'SVF::CondPointsToSet::pointsTo(void)'],['../classSVF_1_1CondPointsToSet.html#ada240bc77570174a1d17ac097583fa78',1,'SVF::CondPointsToSet::pointsTo(void) const'],['../classSVF_1_1CondPointsToSet.html#a03311162626acf16ad05b7b93248a92b',1,'SVF::CondPointsToSet::pointsTo(Cond cond) const'],['../classSVF_1_1CondPointsToSet.html#a8775ef2c073af6c8055c3f5b0035288f',1,'SVF::CondPointsToSet::pointsTo(Cond cond)']]],
|
|
45
45
|
['pointstoiterator',['PointsToIterator',['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a3974dee7680da3a43b58932766e77a16',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(void)=delete'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#a19f371ccb5b1c84fb4adfd5b0c8a3eec',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsToIterator &pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#abe128c47fb16093756195f789e5f68d5',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(PointsToIterator &&pt)'],['../classSVF_1_1PointsTo_1_1PointsToIterator.html#ad9efcd9fb0c8201b9166a1560d06a71b',1,'SVF::PointsTo::PointsToIterator::PointsToIterator(const PointsTo *pt, bool end=false)']]],
|
|
46
46
|
['pop',['pop',['../classSVF_1_1CFLFIFOWorkList.html#a8ccf884ed6bc0d172f3c2999717f9cff',1,'SVF::CFLFIFOWorkList::pop()'],['../classSVF_1_1List.html#a6e85bd3d8b23ccc7752a72e2a5b171ab',1,'SVF::List::pop()'],['../classSVF_1_1FIFOWorkList.html#a8fa72918fce7e9c0b2dc34b683a797c6',1,'SVF::FIFOWorkList::pop()'],['../classSVF_1_1FILOWorkList.html#a3fd9acb6d09fd142bfd402fdf8cac93b',1,'SVF::FILOWorkList::pop()']]],
|
|
47
47
|
['popfromctpworklist',['popFromCTPWorkList',['../classSVF_1_1LockAnalysis.html#ac3de5acfb887c17ebf1213a1c2c38b58',1,'SVF::LockAnalysis::popFromCTPWorkList()'],['../classSVF_1_1TCT.html#ad84cdb0d192312f96d006f7b9e660da3',1,'SVF::TCT::popFromCTPWorkList()']]],
|
|
@@ -83,10 +83,9 @@ var searchData=
|
|
|
83
83
|
['processargumentnode',['processArgumentNode',['../classSVF_1_1IRAnnotator.html#a79ce14045e7321569b95cff0b4800c08',1,'SVF::IRAnnotator']]],
|
|
84
84
|
['processarguments',['processArguments',['../namespaceSVF_1_1LLVMUtil.html#accdd44093d6d145dc92edeaaff3f5732',1,'SVF::LLVMUtil']]],
|
|
85
85
|
['processbasicblocknode',['processBasicBlockNode',['../classSVF_1_1IRAnnotator.html#a6da6bf2db9dd582739e621aefc72025f',1,'SVF::IRAnnotator']]],
|
|
86
|
-
['processcast',['processCast',['../classSVF_1_1AndersenWaveDiff.html#a57c7c12ebcf06f2912e93c802c6cdd02',1,'SVF::AndersenWaveDiff']]],
|
|
87
86
|
['processce',['processCE',['../classSVF_1_1SVFIRBuilder.html#a5adf8baa546292434ba1fec48db2d0a7',1,'SVF::SVFIRBuilder']]],
|
|
88
87
|
['processconstantnode',['processConstantNode',['../classSVF_1_1IRAnnotator.html#a0a26b250269a2e38a5507d68fdbe03f4',1,'SVF::IRAnnotator']]],
|
|
89
|
-
['processcopy',['processCopy',['../classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2',1,'SVF::Andersen::processCopy()'],['../
|
|
88
|
+
['processcopy',['processCopy',['../classSVF_1_1Andersen.html#ac4afe532655c3f311143ebbe15175ca2',1,'SVF::Andersen::processCopy()'],['../classSVF_1_1FlowSensitive.html#aa401cc90de4e1c6842f08a43a28c5aa1',1,'SVF::FlowSensitive::processCopy()']]],
|
|
90
89
|
['processfunbody',['processFunBody',['../classSVF_1_1ICFGBuilder.html#ab1cc5de5c2ee7acf83e9ae51c7b38cb5',1,'SVF::ICFGBuilder']]],
|
|
91
90
|
['processfunctionnode',['processFunctionNode',['../classSVF_1_1IRAnnotator.html#a31cbc6e5c63442cdbab3eea1b7b5393f',1,'SVF::IRAnnotator']]],
|
|
92
91
|
['processfunentry',['processFunEntry',['../classSVF_1_1ICFGBuilder.html#a52e6426f0a1af479159f6fbac6d5b8f4',1,'SVF::ICFGBuilder']]],
|
|
@@ -23,12 +23,12 @@ var searchData=
|
|
|
23
23
|
['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
|
|
24
24
|
['timeofcreatemuchi',['TimeOfCreateMUCHI',['../classSVF_1_1MemSSAStat.html#a48c70f0ed1c7d031a3cd528035162e52',1,'SVF::MemSSAStat::TimeOfCreateMUCHI()'],['../classSVF_1_1MemSSA.html#a4d2418b7df74f23d8fd328f66e29f198',1,'SVF::MemSSA::timeOfCreateMUCHI()']]],
|
|
25
25
|
['timeofgeneratingmemregions',['timeOfGeneratingMemRegions',['../classSVF_1_1MemSSA.html#a37dca8a7d155de4870358146d219b5e5',1,'SVF::MemSSA::timeOfGeneratingMemRegions()'],['../classSVF_1_1MemSSAStat.html#a74c36654b7452aa94aa241881f0a83c5',1,'SVF::MemSSAStat::TimeOfGeneratingMemRegions()']]],
|
|
26
|
-
['timeofinsertingphi',['
|
|
26
|
+
['timeofinsertingphi',['TimeOfInsertingPHI',['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::TimeOfInsertingPHI()'],['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()']]],
|
|
27
27
|
['timeofprocesscopygep',['timeOfProcessCopyGep',['../classSVF_1_1AndersenBase.html#aae14de6fbca9280d8d0290326aa493f0',1,'SVF::AndersenBase']]],
|
|
28
28
|
['timeofprocessloadstore',['timeOfProcessLoadStore',['../classSVF_1_1AndersenBase.html#a9fe738f1e11c80006d540f246a80bfdf',1,'SVF::AndersenBase']]],
|
|
29
29
|
['timeofsccdetection',['timeOfSCCDetection',['../classSVF_1_1AndersenBase.html#a6b7d0e57f741c446d0bf178939960143',1,'SVF::AndersenBase']]],
|
|
30
30
|
['timeofsccmerges',['timeOfSCCMerges',['../classSVF_1_1AndersenBase.html#a02c5a50b214d36921e1404784e76704d',1,'SVF::AndersenBase']]],
|
|
31
|
-
['timeofssarenaming',['
|
|
31
|
+
['timeofssarenaming',['timeOfSSARenaming',['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::timeOfSSARenaming()'],['../classSVF_1_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()']]],
|
|
32
32
|
['timeofupdatecallgraph',['timeOfUpdateCallGraph',['../classSVF_1_1AndersenBase.html#a2afb49f513c9534fd051117b59dc056b',1,'SVF::AndersenBase']]],
|
|
33
33
|
['timestatmap',['timeStatMap',['../classSVF_1_1PTAStat.html#a3724756ac0527ba3d199be32e38c6337',1,'SVF::PTAStat']]],
|
|
34
34
|
['tlptdata',['tlPTData',['../classSVF_1_1MutableVersionedPTData.html#a01974968b7cf60a4231cc83c93b26d7f',1,'SVF::MutableVersionedPTData::tlPTData()'],['../classSVF_1_1PersistentVersionedPTData.html#a29104a2d53d94805e142f778d3d21ad5',1,'SVF::PersistentVersionedPTData::tlPTData()']]],
|
|
@@ -8,7 +8,7 @@ var searchData=
|
|
|
8
8
|
['icfgnode2svfstmtsmap',['icfgNode2SVFStmtsMap',['../classSVF_1_1SVFIR.html#a86c0c23d854b034d741d9d8891debab7',1,'SVF::SVFIR']]],
|
|
9
9
|
['icfgnodes',['icfgNodes',['../classSVF_1_1SVFLoop.html#a062e4b336b9b8315a9fc1107c9cab840',1,'SVF::SVFLoop']]],
|
|
10
10
|
['icfgnodetosvfloopvec',['icfgNodeToSVFLoopVec',['../classSVF_1_1ICFG.html#a7d6aeecb00d77600a204a72d60023d54',1,'SVF::ICFG']]],
|
|
11
|
-
['id',['
|
|
11
|
+
['id',['ID',['../classSVF_1_1DDAPass.html#adb39fc24e3d45e558ac36f37b5dc3565',1,'SVF::DDAPass::ID()'],['../classSVF_1_1MTA.html#a5ce0b3247bd412e5267a42be0646471b',1,'SVF::MTA::ID()'],['../classSVF_1_1BreakConstantGEPs.html#a8010c4f5824ed5ebcb7ae283473ada22',1,'SVF::BreakConstantGEPs::ID()'],['../classSVF_1_1MergeFunctionRets.html#a7a763ae6c9d3c72345495f01b0b4b458',1,'SVF::MergeFunctionRets::ID()'],['../classSVF_1_1IteratedDominanceFrontier.html#aaae6f876063759941ac236f17a80cea2',1,'SVF::IteratedDominanceFrontier::ID()'],['../classSVF_1_1WPAPass.html#a2674527c92cdef223e655d449f0811d4',1,'SVF::WPAPass::ID()'],['../classSVF_1_1GenericNode.html#aaa53457604fe4cf4cb97ca85d33907b0',1,'SVF::GenericNode::id()']]],
|
|
12
12
|
['idcounter',['idCounter',['../classSVF_1_1PersistentPointsToCache.html#ad8d24772f7503e0e735f546506d2bcc5',1,'SVF::PersistentPointsToCache']]],
|
|
13
13
|
['idtocsmap',['idToCSMap',['../classSVF_1_1PTACallGraph.html#a5d6f63baad19589a9fd1e069631e18fa',1,'SVF::PTACallGraph']]],
|
|
14
14
|
['idtonodemap',['IDToNodeMap',['../classSVF_1_1GenericGraph.html#a47a1ef8b67b0c92f78b4457dc3bbfe71',1,'SVF::GenericGraph']]],
|
|
@@ -40,7 +40,7 @@ var searchData=
|
|
|
40
40
|
['lookupintersections',['lookupIntersections',['../classSVF_1_1PersistentPointsToCache.html#a15d3235017b35f4a5c668d0b6626faff',1,'SVF::PersistentPointsToCache']]],
|
|
41
41
|
['lookupunions',['lookupUnions',['../classSVF_1_1PersistentPointsToCache.html#ace976f138cf1b8ab6bbf7a5c5d0b60b8',1,'SVF::PersistentPointsToCache']]],
|
|
42
42
|
['loopanalysis',['LoopAnalysis',['../classSVF_1_1Options.html#a420e6656b02fd900430d51b8b4a5c6c1',1,'SVF::Options']]],
|
|
43
|
-
['loopbound',['
|
|
43
|
+
['loopbound',['loopBound',['../classSVF_1_1SVFLoop.html#ac4e2c365e2a08477381802205029b85c',1,'SVF::SVFLoop::loopBound()'],['../classSVF_1_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb',1,'SVF::Options::LoopBound()']]],
|
|
44
44
|
['loopinfobuilder',['loopInfoBuilder',['../classSVF_1_1TCT.html#ae64d6203b41c92d4ca617b8e976b88b2',1,'SVF::TCT']]],
|
|
45
45
|
['lowlink',['lowlink',['../structSVF_1_1VersionedFlowSensitive_1_1SCC_1_1NodeData.html#a6d66813dfb5338c22de62c100e951cf2',1,'SVF::VersionedFlowSensitive::SCC::NodeData']]],
|
|
46
46
|
['ls',['ls',['../classSVF_1_1NormalGepCGEdge.html#a7cbcaa28acde49ef0b03a8554a41344b',1,'SVF::NormalGepCGEdge::ls()'],['../classSVF_1_1GepStmt.html#a543a3f4801b22719f7b9677246bf2ac7',1,'SVF::GepStmt::ls()'],['../classSVF_1_1GepValVar.html#a2ee5e9a2e5a92b32fd81fda09b560ad6',1,'SVF::GepValVar::ls()'],['../classSVF_1_1GepObjVar.html#a55b057663180420c6bb09bf849d83f6b',1,'SVF::GepObjVar::ls()']]],
|
|
@@ -38,7 +38,7 @@ var searchData=
|
|
|
38
38
|
['numgtintregions',['NumGtIntRegions',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#ad7cb36a1f0f67864fb8290e9dfd7b639',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
39
39
|
['numnodes',['numNodes',['../classSVF_1_1NodeIDAllocator.html#a8e76e0da58f0a5bdbd8118ac419cfa62',1,'SVF::NodeIDAllocator']]],
|
|
40
40
|
['numnontrivialregionobjects',['NumNonTrivialRegionObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#a1bf9461c717e8dabaee6a57f3d76d61f',1,'SVF::NodeIDAllocator::Clusterer']]],
|
|
41
|
-
['numobjects',['
|
|
41
|
+
['numobjects',['NumObjects',['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::NumObjects()'],['../classSVF_1_1NodeIDAllocator.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()']]],
|
|
42
42
|
['numofactualin',['numOfActualIn',['../classSVF_1_1SVFGStat.html#a5365744d2ec3594e2255d274f7256569',1,'SVF::SVFGStat']]],
|
|
43
43
|
['numofactualout',['numOfActualOut',['../classSVF_1_1SVFGStat.html#a122555f5c4b9746cc2b7f38c7cd6b505',1,'SVF::SVFGStat']]],
|
|
44
44
|
['numofactualparam',['numOfActualParam',['../classSVF_1_1SVFGStat.html#a0494c59483520b57acdca95952c93d76',1,'SVF::SVFGStat']]],
|
package/include/WPA/Andersen.h
CHANGED
|
@@ -447,19 +447,11 @@ public:
|
|
|
447
447
|
virtual void solveWorklist();
|
|
448
448
|
virtual void processNode(NodeID nodeId);
|
|
449
449
|
virtual void postProcessNode(NodeID nodeId);
|
|
450
|
-
virtual void handleCopyGep(ConstraintNode* node);
|
|
451
450
|
virtual bool handleLoad(NodeID id, const ConstraintEdge* load);
|
|
452
451
|
virtual bool handleStore(NodeID id, const ConstraintEdge* store);
|
|
453
|
-
virtual bool processCopy(NodeID node, const ConstraintEdge* edge);
|
|
454
452
|
|
|
455
453
|
protected:
|
|
456
454
|
virtual void mergeNodeToRep(NodeID nodeId,NodeID newRepId);
|
|
457
|
-
|
|
458
|
-
/// process "bitcast" CopyCGEdge
|
|
459
|
-
virtual void processCast(const ConstraintEdge*)
|
|
460
|
-
{
|
|
461
|
-
return;
|
|
462
|
-
}
|
|
463
455
|
};
|
|
464
456
|
|
|
465
457
|
|
|
@@ -130,25 +130,6 @@ void AndersenWaveDiff::postProcessNode(NodeID nodeId)
|
|
|
130
130
|
timeOfProcessLoadStore += (insertEnd - insertStart) / TIMEINTERVAL;
|
|
131
131
|
}
|
|
132
132
|
|
|
133
|
-
/*!
|
|
134
|
-
* Handle copy gep
|
|
135
|
-
*/
|
|
136
|
-
void AndersenWaveDiff::handleCopyGep(ConstraintNode* node)
|
|
137
|
-
{
|
|
138
|
-
NodeID nodeId = node->getId();
|
|
139
|
-
computeDiffPts(nodeId);
|
|
140
|
-
|
|
141
|
-
if (!getDiffPts(nodeId).empty())
|
|
142
|
-
{
|
|
143
|
-
for (ConstraintEdge* edge : node->getCopyOutEdges())
|
|
144
|
-
if (CopyCGEdge* copyEdge = SVFUtil::dyn_cast<CopyCGEdge>(edge))
|
|
145
|
-
processCopy(nodeId, copyEdge);
|
|
146
|
-
for (ConstraintEdge* edge : node->getGepOutEdges())
|
|
147
|
-
if (GepCGEdge* gepEdge = SVFUtil::dyn_cast<GepCGEdge>(edge))
|
|
148
|
-
processGep(nodeId, gepEdge);
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
|
|
152
133
|
/*!
|
|
153
134
|
* Handle load
|
|
154
135
|
*/
|
|
@@ -183,27 +164,6 @@ bool AndersenWaveDiff::handleStore(NodeID nodeId, const ConstraintEdge* edge)
|
|
|
183
164
|
return changed;
|
|
184
165
|
}
|
|
185
166
|
|
|
186
|
-
/*!
|
|
187
|
-
* Propagate diff points-to set from src to dst
|
|
188
|
-
*/
|
|
189
|
-
bool AndersenWaveDiff::processCopy(NodeID node, const ConstraintEdge* edge)
|
|
190
|
-
{
|
|
191
|
-
numOfProcessedCopy++;
|
|
192
|
-
|
|
193
|
-
bool changed = false;
|
|
194
|
-
assert((SVFUtil::isa<CopyCGEdge>(edge)) && "not copy/call/ret ??");
|
|
195
|
-
NodeID dst = edge->getDstID();
|
|
196
|
-
const PointsTo& srcDiffPts = getDiffPts(node);
|
|
197
|
-
processCast(edge);
|
|
198
|
-
if(unionPts(dst,srcDiffPts))
|
|
199
|
-
{
|
|
200
|
-
changed = true;
|
|
201
|
-
pushIntoWorklist(dst);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
return changed;
|
|
205
|
-
}
|
|
206
|
-
|
|
207
167
|
/*
|
|
208
168
|
* Merge a node to its rep node
|
|
209
169
|
*/
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.511",
|
|
4
4
|
"description": "* <b>[TypeClone](https://github.com/SVF-tools/SVF/wiki/TypeClone) published in our [ECOOP paper](https://yuleisui.github.io/publications/ecoop20.pdf) is now available in SVF </b> * <b>SVF now uses a single script for its build. Just type [`source ./build.sh`](https://github.com/SVF-tools/SVF/blob/master/build.sh) in your terminal, that's it!</b> * <b>SVF now supports LLVM-10.0.0! </b> * <b>We thank [bsauce](https://github.com/bsauce) for writing a user manual of SVF ([link1](https://www.jianshu.com/p/068a08ec749c) and [link2](https://www.jianshu.com/p/777c30d4240e)) in Chinese </b> * <b>SVF now supports LLVM-9.0.0 (Thank [Byoungyoung Lee](https://github.com/SVF-tools/SVF/issues/142) for his help!). </b> * <b>SVF now supports a set of [field-sensitive pointer analyses](https://yuleisui.github.io/publications/sas2019a.pdf). </b> * <b>[Use SVF as an external lib](https://github.com/SVF-tools/SVF/wiki/Using-SVF-as-a-lib-in-your-own-tool) for your own project (Contributed by [Hongxu Chen](https://github.com/HongxuChen)). </b> * <b>SVF now supports LLVM-7.0.0. </b> * <b>SVF now supports Docker. [Try SVF in Docker](https://github.com/SVF-tools/SVF/wiki/Try-SVF-in-Docker)! </b> * <b>SVF now supports [LLVM-6.0.0](https://github.com/svf-tools/SVF/pull/38) (Contributed by [Jack Anthony](https://github.com/jackanth)). </b> * <b>SVF now supports [LLVM-4.0.0](https://github.com/svf-tools/SVF/pull/23) (Contributed by Jared Carlson. Thank [Jared](https://github.com/jcarlson23) and [Will](https://github.com/dtzWill) for their in-depth [discussions](https://github.com/svf-tools/SVF/pull/18) about updating SVF!) </b> * <b>SVF now supports analysis for C++ programs.</b> <br />",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|