svf-tools 1.0.507 → 1.0.508
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/SVF-doxygen/html/html/ExeState_8cpp_source.html +14 -15
- package/SVF-doxygen/html/html/ExeState_8h_source.html +16 -16
- package/SVF-doxygen/html/html/ProgSlice_8h_source.html +4 -4
- package/SVF-doxygen/html/html/SaberCondAllocator_8cpp_source.html +28 -30
- package/SVF-doxygen/html/html/SaberCondAllocator_8h_source.html +33 -33
- package/SVF-doxygen/html/html/Z3Expr_8cpp_source.html +13 -12
- package/SVF-doxygen/html/html/Z3Expr_8h_source.html +48 -47
- package/SVF-doxygen/html/html/classSVF_1_1ExeState.html +33 -33
- package/SVF-doxygen/html/html/classSVF_1_1ProgSlice.html +4 -4
- package/SVF-doxygen/html/html/classSVF_1_1SaberCondAllocator.html +91 -91
- package/SVF-doxygen/html/html/classSVF_1_1SrcSnkDDA.html +1 -1
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr-members.html +13 -12
- package/SVF-doxygen/html/html/classSVF_1_1Z3Expr.html +148 -115
- package/SVF-doxygen/html/html/functions_c.html +1 -1
- package/SVF-doxygen/html/html/functions_func_r.html +6 -3
- package/SVF-doxygen/html/html/functions_o.html +3 -3
- package/SVF-doxygen/html/html/functions_p.html +10 -6
- package/SVF-doxygen/html/html/functions_r.html +10 -11
- package/SVF-doxygen/html/html/functions_s.html +8 -10
- package/SVF-doxygen/html/html/functions_t.html +10 -8
- package/SVF-doxygen/html/html/functions_v.html +3 -3
- package/SVF-doxygen/html/html/functions_vars_c.html +1 -1
- package/SVF-doxygen/html/html/functions_vars_s.html +1 -1
- package/SVF-doxygen/html/html/search/all_10.js +4 -4
- package/SVF-doxygen/html/html/search/all_11.js +4 -3
- package/SVF-doxygen/html/html/search/all_12.js +6 -6
- package/SVF-doxygen/html/html/search/all_13.js +4 -4
- package/SVF-doxygen/html/html/search/all_14.js +1 -1
- package/SVF-doxygen/html/html/search/all_15.js +2 -2
- package/SVF-doxygen/html/html/search/all_16.js +1 -1
- package/SVF-doxygen/html/html/search/all_3.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_10.js +1 -0
- package/SVF-doxygen/html/html/search/functions_f.js +1 -1
- package/SVF-doxygen/html/html/search/variables_12.js +1 -1
- package/SVF-doxygen/html/html/search/variables_13.js +2 -2
- package/SVF-doxygen/html/html/search/variables_14.js +1 -1
- package/SVF-doxygen/html/html/search/variables_3.js +1 -1
- 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/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1ExeState_01_4.html +1 -1
- package/SVF-doxygen/html/html/structstd_1_1hash_3_01SVF_1_1Z3Expr_01_4.html +3 -3
- package/include/Util/Z3Expr.h +4 -1
- package/lib/SABER/SaberCondAllocator.cpp +0 -2
- package/lib/Util/ExeState.cpp +0 -1
- package/lib/Util/Z3Expr.cpp +15 -1
- package/package.json +1 -1
|
@@ -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_1GenericNode.html#aaa53457604fe4cf4cb97ca85d33907b0',1,'SVF::GenericNode::id()'],['../classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca',1,'SVF::Z3Expr::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()']]],
|
|
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',['../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()'],['../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()']]],
|
|
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_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb',1,'SVF::Options::LoopBound()'],['../classSVF_1_1SVFLoop.html#ac4e2c365e2a08477381802205029b85c',1,'SVF::SVFLoop::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.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()'],['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::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#a172025849492f4de8f87564ef08f5880',1,'SVF::MultiOpndStmt::opVars()'],['../classSVF_1_1MultiOpndStmt.html#acf8c7cfbf1c8baab672040635bb9a007',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()']]],
|
|
@@ -28,6 +28,7 @@ var searchData=
|
|
|
28
28
|
['releasefswpa',['releaseFSWPA',['../classSVF_1_1FlowSensitive.html#ae6aed22a79ac6567446dfcba82cb17b8',1,'SVF::FlowSensitive']]],
|
|
29
29
|
['releasellvmmoduleset',['releaseLLVMModuleSet',['../classSVF_1_1LLVMModuleSet.html#a2f8e91c075d90be66412a079fe73e936',1,'SVF::LLVMModuleSet']]],
|
|
30
30
|
['releasememory',['releaseMemory',['../classSVF_1_1SVFGBuilder.html#a6e08e6a99f7e743abf35e603e35e54f5',1,'SVF::SVFGBuilder']]],
|
|
31
|
+
['releasesolver',['releaseSolver',['../classSVF_1_1Z3Expr.html#a9cf1997ee2d22542f7288506ed0f4733',1,'SVF::Z3Expr']]],
|
|
31
32
|
['releasesteensgaard',['releaseSteensgaard',['../classSVF_1_1Steensgaard.html#a375a16c7538866fcebfecf228f7ee63d',1,'SVF::Steensgaard']]],
|
|
32
33
|
['releasesvfg',['releaseSVFG',['../classSVF_1_1SVFGBuilder.html#a9767f95253f02901da757076e3010b37',1,'SVF::SVFGBuilder']]],
|
|
33
34
|
['releasesvfir',['releaseSVFIR',['../classSVF_1_1SVFIR.html#a007c86e5d2d541d08815547a5492731e',1,'SVF::SVFIR']]],
|
|
@@ -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_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)'],['../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)']]],
|
|
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()']]],
|
|
@@ -29,7 +29,7 @@ var searchData=
|
|
|
29
29
|
['singlevfg',['SingleVFG',['../classSVF_1_1Options.html#a78ce4bd2e80e7b87ff0ee52edd1db403',1,'SVF::Options']]],
|
|
30
30
|
['sinks',['sinks',['../classSVF_1_1SVFGStat.html#a332adbaad93a3077416c870f175a1202',1,'SVF::SVFGStat::sinks()'],['../classSVF_1_1ProgSlice.html#ab4da58e7c4cd2c80b4830efeaa896f80',1,'SVF::ProgSlice::sinks()'],['../classSVF_1_1SrcSnkDDA.html#aaffd4b48be1f99e0450b23f20f034b1e',1,'SVF::SrcSnkDDA::sinks()']]],
|
|
31
31
|
['solveall',['solveAll',['../classSVF_1_1DDAClient.html#aa8a67c60ec0395c9cfae178dcff638a8',1,'SVF::DDAClient']]],
|
|
32
|
-
['solver',['solver',['../classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35',1,'SVF::CFLAlias::solver()'],['../classSVF_1_1Z3Expr.html#
|
|
32
|
+
['solver',['solver',['../classSVF_1_1CFLAlias.html#aa61c3683c9b759b6eca65b1f88e00b35',1,'SVF::CFLAlias::solver()'],['../classSVF_1_1Z3Expr.html#a2f0cf6549d9bc6fc1d4be46976ad0f0e',1,'SVF::Z3Expr::solver()']]],
|
|
33
33
|
['solvetime',['solveTime',['../classSVF_1_1FlowSensitive.html#a4202f837e863a48712765cc346d8b514',1,'SVF::FlowSensitive']]],
|
|
34
34
|
['sources',['sources',['../classSVF_1_1SVFGStat.html#a18a30f659c3a79d65b4ae7f3316c5f91',1,'SVF::SVFGStat::sources()'],['../classSVF_1_1SrcSnkDDA.html#a96c41d03d2615f952b58dca327a2866c',1,'SVF::SrcSnkDDA::sources()']]],
|
|
35
35
|
['spawncallsites',['spawnCallSites',['../classSVF_1_1PCG.html#a859545671beab2a85c721ce98b785452',1,'SVF::PCG']]],
|
|
@@ -21,14 +21,14 @@ var searchData=
|
|
|
21
21
|
['threadstmttotheadinterleav',['threadStmtToTheadInterLeav',['../classSVF_1_1MHP.html#afcfc409e625b74cbefd240170627c541',1,'SVF::MHP']]],
|
|
22
22
|
['tid',['tid',['../classSVF_1_1CxtThreadStmt.html#ad96bacc3de1ce576ad397d19aa99a269',1,'SVF::CxtThreadStmt::tid()'],['../classSVF_1_1CxtThreadProc.html#a99b24e1be2bfb49569532c2c28c68969',1,'SVF::CxtThreadProc::tid()']]],
|
|
23
23
|
['timeofcollapse',['timeOfCollapse',['../classSVF_1_1AndersenBase.html#ad40b196c2c699bd115529b806d20de25',1,'SVF::AndersenBase']]],
|
|
24
|
-
['timeofcreatemuchi',['
|
|
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
26
|
['timeofinsertingphi',['timeOfInsertingPHI',['../classSVF_1_1MemSSA.html#a3c7b5fa73fdc7c805ee3673fbe812b44',1,'SVF::MemSSA::timeOfInsertingPHI()'],['../classSVF_1_1MemSSAStat.html#a0c24822c8549af6a96e82312954fab9b',1,'SVF::MemSSAStat::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_1MemSSAStat.html#a887ff23a7ea1a18f08b1744ff30da773',1,'SVF::MemSSAStat::TimeOfSSARenaming()'],['../classSVF_1_1MemSSA.html#a97ccd5e0b9ab6144415e26bdf95cbabd',1,'SVF::MemSSA::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()']]],
|
|
@@ -5,7 +5,7 @@ var searchData=
|
|
|
5
5
|
['uniqueintersections',['uniqueIntersections',['../classSVF_1_1PersistentPointsToCache.html#a474023fe293b080fbda7da06ef380531',1,'SVF::PersistentPointsToCache']]],
|
|
6
6
|
['uniqueunions',['uniqueUnions',['../classSVF_1_1PersistentPointsToCache.html#aacebdd87b1dd45250391d035b032f9d4',1,'SVF::PersistentPointsToCache']]],
|
|
7
7
|
['unlocksites',['unlocksites',['../classSVF_1_1LockAnalysis.html#aec459af1d1624df55ffc95cd75655780',1,'SVF::LockAnalysis']]],
|
|
8
|
-
['updatecallgraphtime',['
|
|
8
|
+
['updatecallgraphtime',['UpdateCallGraphTime',['../classSVF_1_1PTAStat.html#a8aedfeb35f76e6d33135637156468894',1,'SVF::PTAStat::UpdateCallGraphTime()'],['../classSVF_1_1FlowSensitive.html#afc140b6c8e78dc2d962f64fdf53b1e07',1,'SVF::FlowSensitive::updateCallGraphTime()']]],
|
|
9
9
|
['updatetime',['updateTime',['../classSVF_1_1FlowSensitive.html#af5a94d14096ae2bbc47b3b3b9f723226',1,'SVF::FlowSensitive']]],
|
|
10
10
|
['usedregs',['usedRegs',['../classSVF_1_1MemSSA.html#acf840b71b67cabe831f01f2d358f27fa',1,'SVF::MemSSA']]],
|
|
11
11
|
['usepcg',['UsePCG',['../classSVF_1_1Options.html#af2f66307e1d51947676f622c98ef0762',1,'SVF::Options']]],
|
|
@@ -108,7 +108,7 @@ var searchData=
|
|
|
108
108
|
['ctptonodemap',['ctpToNodeMap',['../classSVF_1_1TCT.html#a0ccb6e9ffff0f22a0a054a92222893d5',1,'SVF::TCT']]],
|
|
109
109
|
['cttoforkcxtmap',['ctToForkCxtMap',['../classSVF_1_1TCT.html#aea88fdb40c28724546f5903d3a73999a',1,'SVF::TCT']]],
|
|
110
110
|
['cttoroutinefunmap',['ctToRoutineFunMap',['../classSVF_1_1TCT.html#a36c7884869d923c1a9363962c9e013bd',1,'SVF::TCT']]],
|
|
111
|
-
['ctx',['ctx',['../classSVF_1_1TCTNode.html#a8f2ef1020b45aada8b79ac3b8d27c2a6',1,'SVF::TCTNode::ctx()'],['../classSVF_1_1Z3Expr.html#
|
|
111
|
+
['ctx',['ctx',['../classSVF_1_1TCTNode.html#a8f2ef1020b45aada8b79ac3b8d27c2a6',1,'SVF::TCTNode::ctx()'],['../classSVF_1_1Z3Expr.html#af02935097a8db09812781ac8c42d93e5',1,'SVF::Z3Expr::ctx()']]],
|
|
112
112
|
['cur',['cur',['../classSVF_1_1DPItem.html#a82d2a11fb456192ec88fcb5ffe239d80',1,'SVF::DPItem']]],
|
|
113
113
|
['curbb',['curBB',['../classSVF_1_1SVFIRBuilder.html#aac1cbf0cb2b402b5fd0e2324c89c31b0',1,'SVF::SVFIRBuilder']]],
|
|
114
114
|
['curevalsvfgnode',['curEvalSVFGNode',['../classSVF_1_1SaberCondAllocator.html#a4ac9b5ec6bfd7a7b468cb13a5e8803e0',1,'SVF::SaberCondAllocator']]],
|
|
@@ -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_1GenericNode.html#aaa53457604fe4cf4cb97ca85d33907b0',1,'SVF::GenericNode::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()']]],
|
|
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_1Options.html#ab7161ca7a809792af82e5aabdfcc3bfb',1,'SVF::Options::LoopBound()'],['../classSVF_1_1SVFLoop.html#ac4e2c365e2a08477381802205029b85c',1,'SVF::SVFLoop::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.html#a190c729a3f3f622f82cee4917946b50f',1,'SVF::NodeIDAllocator::numObjects()'],['../classSVF_1_1NodeIDAllocator_1_1Clusterer.html#afa74c5ccd22bebe0b76db33066d8b498',1,'SVF::NodeIDAllocator::Clusterer::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']]],
|
|
@@ -113,7 +113,7 @@ struct std::hash< SVF::ExeState ></h3>
|
|
|
113
113
|
<div class="ttc" id="structSVF_1_1Hash_html"><div class="ttname"><a href="structSVF_1_1Hash.html">SVF::Hash</a></div><div class="ttdoc">provide extra hash function for std::pair handling </div><div class="ttdef"><b>Definition:</b> <a href="SVFBasicTypes_8h_source.html#l00056">SVFBasicTypes.h:56</a></div></div>
|
|
114
114
|
<div class="ttc" id="classSVF_1_1ExeState_html_a00bd54e2dc70a8547581008e27790eb8"><div class="ttname"><a href="classSVF_1_1ExeState.html#a00bd54e2dc70a8547581008e27790eb8">SVF::ExeState::getPathConstraint</a></div><div class="ttdeci">const Z3Expr & getPathConstraint() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00097">ExeState.h:97</a></div></div>
|
|
115
115
|
<div class="ttc" id="classSVF_1_1ExeState_html_abf1237f5e4661a2da6e479f147957b18"><div class="ttname"><a href="classSVF_1_1ExeState.html#abf1237f5e4661a2da6e479f147957b18">SVF::ExeState::getVarToVal</a></div><div class="ttdeci">const VarToValMap & getVarToVal() const</div><div class="ttdef"><b>Definition:</b> <a href="ExeState_8h_source.html#l00087">ExeState.h:87</a></div></div>
|
|
116
|
-
<div class="ttc" id="classSVF_1_1Z3Expr_html_acdb4fbb53f19bac033e79cfe96ce82ca"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">SVF::Z3Expr::id</a></div><div class="ttdeci">u32_t id() const</div><div class="ttdoc">get id </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#
|
|
116
|
+
<div class="ttc" id="classSVF_1_1Z3Expr_html_acdb4fbb53f19bac033e79cfe96ce82ca"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">SVF::Z3Expr::id</a></div><div class="ttdeci">u32_t id() const</div><div class="ttdoc">get id </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00104">Z3Expr.h:104</a></div></div>
|
|
117
117
|
</div><!-- fragment -->
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
|
@@ -86,7 +86,7 @@ struct std::hash< SVF::Z3Expr ></h3>
|
|
|
86
86
|
|
|
87
87
|
<p>Specialise hash for AbsCxtDPItem. </p>
|
|
88
88
|
|
|
89
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
89
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00309">309</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
90
90
|
</div><h2 class="groupheader">Member Function Documentation</h2>
|
|
91
91
|
<a id="a5f22ba479b6e05b6d3932d65c7034ade"></a>
|
|
92
92
|
<h2 class="memtitle"><span class="permalink"><a href="#a5f22ba479b6e05b6d3932d65c7034ade">◆ </a></span>operator()()</h2>
|
|
@@ -112,8 +112,8 @@ struct std::hash< SVF::Z3Expr ></h3>
|
|
|
112
112
|
</table>
|
|
113
113
|
</div><div class="memdoc">
|
|
114
114
|
|
|
115
|
-
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#
|
|
116
|
-
<div class="fragment"><div class="line"><a name="
|
|
115
|
+
<p class="definition">Definition at line <a class="el" href="Z3Expr_8h_source.html#l00311">311</a> of file <a class="el" href="Z3Expr_8h_source.html">Z3Expr.h</a>.</p>
|
|
116
|
+
<div class="fragment"><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  {</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  <span class="keywordflow">return</span> z3Expr.<a class="code" href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">id</a>();</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  }</div><div class="ttc" id="classSVF_1_1Z3Expr_html_acdb4fbb53f19bac033e79cfe96ce82ca"><div class="ttname"><a href="classSVF_1_1Z3Expr.html#acdb4fbb53f19bac033e79cfe96ce82ca">SVF::Z3Expr::id</a></div><div class="ttdeci">u32_t id() const</div><div class="ttdoc">get id </div><div class="ttdef"><b>Definition:</b> <a href="Z3Expr_8h_source.html#l00104">Z3Expr.h:104</a></div></div>
|
|
117
117
|
</div><!-- fragment -->
|
|
118
118
|
</div>
|
|
119
119
|
</div>
|
package/include/Util/Z3Expr.h
CHANGED
|
@@ -39,7 +39,7 @@ class Z3Expr
|
|
|
39
39
|
{
|
|
40
40
|
public:
|
|
41
41
|
static z3::context *ctx;
|
|
42
|
-
static
|
|
42
|
+
static z3::solver* solver;
|
|
43
43
|
|
|
44
44
|
private:
|
|
45
45
|
z3::expr e;
|
|
@@ -90,6 +90,9 @@ public:
|
|
|
90
90
|
/// release z3 context
|
|
91
91
|
static void releaseContext();
|
|
92
92
|
|
|
93
|
+
/// release z3 solver
|
|
94
|
+
static void releaseSolver();
|
|
95
|
+
|
|
93
96
|
|
|
94
97
|
/// null expression
|
|
95
98
|
static z3::expr nullExpr()
|
|
@@ -45,8 +45,6 @@ u32_t ContextCond::maximumCxt = 0;
|
|
|
45
45
|
u32_t ContextCond::maximumPathLen = 0;
|
|
46
46
|
u32_t ContextCond::maximumPath = 0;
|
|
47
47
|
u32_t SaberCondAllocator::totalCondNum = 0;
|
|
48
|
-
unique_ptr<z3::solver> SaberCondAllocator::Condition::solver = nullptr;
|
|
49
|
-
z3::context* SaberCondAllocator::Condition::ctx = nullptr;
|
|
50
48
|
|
|
51
49
|
|
|
52
50
|
SaberCondAllocator::SaberCondAllocator()
|
package/lib/Util/ExeState.cpp
CHANGED
package/lib/Util/Z3Expr.cpp
CHANGED
|
@@ -31,19 +31,33 @@
|
|
|
31
31
|
|
|
32
32
|
namespace SVF
|
|
33
33
|
{
|
|
34
|
+
|
|
35
|
+
z3::context *Z3Expr::ctx = nullptr;
|
|
36
|
+
z3::solver* Z3Expr::solver = nullptr;
|
|
37
|
+
|
|
38
|
+
|
|
34
39
|
/// release z3 context
|
|
35
40
|
void Z3Expr::releaseContext()
|
|
36
41
|
{
|
|
42
|
+
if(solver)
|
|
43
|
+
releaseSolver();
|
|
37
44
|
delete ctx;
|
|
38
45
|
ctx = nullptr;
|
|
39
46
|
}
|
|
40
47
|
|
|
48
|
+
/// release z3 solver
|
|
49
|
+
void Z3Expr::releaseSolver()
|
|
50
|
+
{
|
|
51
|
+
delete solver;
|
|
52
|
+
solver = nullptr;
|
|
53
|
+
}
|
|
54
|
+
|
|
41
55
|
/// Get z3 solver, singleton design here to make sure we only have one context
|
|
42
56
|
z3::solver &Z3Expr::getSolver()
|
|
43
57
|
{
|
|
44
58
|
if (solver == nullptr)
|
|
45
59
|
{
|
|
46
|
-
solver =
|
|
60
|
+
solver = new z3::solver(getContext());
|
|
47
61
|
}
|
|
48
62
|
return *solver;
|
|
49
63
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "svf-tools",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.508",
|
|
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": {
|