MCPcopy Create free account
hub / github.com/FuzzAnything/PromptFuzz / compute_library_api_coverage

Method compute_library_api_coverage

src/feedback/observer.rs:133–150  ·  view source on GitHub ↗
(&mut self)

Source from the content-addressed store, hash-verified

131 }
132
133 pub fn compute_library_api_coverage(&mut self) -> Result<&HashMap<String, f32>> {
134 self.api_coverage.clear();
135 let mut cov_cache: HashMap<String, (u32, u32)> = HashMap::new();
136 for func_name in self.get_global_branches().get_entity().keys() {
137 let (covered, total) = self
138 .get_global_branches()
139 .compute_func_branch_status(func_name);
140 cov_cache.insert(func_name.to_string(), (covered, total));
141 }
142 for gadget in get_func_gadgets() {
143 let func = gadget.get_func_name();
144 let api_cov = self
145 .get_global_branches()
146 .compute_recursive_func_coverage(func, &cov_cache)?;
147 self.api_coverage.insert(func.to_string(), api_cov);
148 }
149 Ok(&self.api_coverage)
150 }
151
152 pub fn is_library_api_all_covered(&self) -> bool {
153 for v in self.api_coverage.values() {

Callers 3

mutate_promptMethod · 0.80
eval_api_cov_mapFunction · 0.80

Calls 7

get_func_gadgetsFunction · 0.85
get_entityMethod · 0.80
get_global_branchesMethod · 0.80
get_func_nameMethod · 0.80
clearMethod · 0.45

Tested by 1