-
Notifications
You must be signed in to change notification settings - Fork 38
AddAbstractDomain
-
Modify https://github.com/seahorn/clam/blob/master/include/clam/CrabDomain.hh
Add line:
constexpr Type MY_NEW_DOM(N, "my-new-domain", "text description of the domain");
where
N
is the next available number.Modify line:
Add
MY_NEW_DOM
inList
-
Add an enum val for the new domain in
XClamDomain
in https://github.com/seahorn/clam/blob/master/lib/Clam/ClamOptions.def:clEnumValN(clam::CrabDomain::MY_NEW_DOMAIN, "my-new-domain", "Here description")
-
In directory directory https://github.com/seahorn/clam/tree/master/lib/Clam/crab/domains:
-
Create new files
my_new_domain.hh
andmy_new_domain.cc
-
Update
crab_domains.hh
-
Modify
registers_domains.hh
. Add lineextern bool register_my_new_domain();
-
Add the following line in function
registerAllDomains
in https://github.com/seahorn/clam/blob/master/lib/Clam/RegisterAnalysis.cc:void DomainRegistry::registerAllDomains() { register_interval_domain(); register_ric_domain(); ... register_my_new_domain(); }
-
Modify cmake https://github.com/seahorn/clam/blob/master/lib/Clam/CMakeLists.txt to include
crab/domains/my_new_domain.cc
inClamAnalysis
library. -
Add the domain in
py/clam.py
, option--crab-dom