There was an error while loading. Please reload this page.
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.
N
Modify line:
Add MY_NEW_DOM in List
MY_NEW_DOM
List
Add an enum val for the new domain in XClamDomain in https://github.com/seahorn/clam/blob/master/lib/Clam/ClamOptions.def:
XClamDomain
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 and my_new_domain.cc
my_new_domain.hh
my_new_domain.cc
Update crab_domains.hh
crab_domains.hh
Modify registers_domains.hh. Add line
registers_domains.hh
extern bool register_my_new_domain();
Add the following line in function registerAllDomains in https://github.com/seahorn/clam/blob/master/lib/Clam/RegisterAnalysis.cc:
registerAllDomains
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 in ClamAnalysis library.
crab/domains/my_new_domain.cc
ClamAnalysis
Add the domain in py/clam.py, option --crab-dom
py/clam.py
--crab-dom