Skip to content

Commit d841a18

Browse files
marek-trtiksmowton
authored andcommitted
Merge pull request diffblue#218 from trtikm/PR_03
Making the security analyser sensitive to "DUMP" configuration
1 parent 6f3389d commit d841a18

File tree

1 file changed

+59
-51
lines changed

1 file changed

+59
-51
lines changed

src/goto-analyzer/taint_security_scanner.cpp

Lines changed: 59 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -122,48 +122,53 @@ bool taint_do_security_scan(
122122
&statistics,
123123
&logger);
124124

125-
logger.status()
126-
<< "Saving analysed GOTO program in HTML format (see '"
127-
<< fileutl_concatenate_file_paths(
128-
config.get_output_root_directory(),
129-
"goto-program/HTML/index.html")
130-
<< "')." << messaget::eom;
131-
132-
dump_goto_program_in_html(
133-
program.get_model(),
134-
program.get_call_graph(),
135-
fileutl_concatenate_file_paths(
136-
config.get_output_root_directory(),
137-
"goto-program/HTML"));
138-
139-
statistics.begin_dump_of_taint_html_summaries();
140-
141-
logger.status()
142-
<< "Saving summaries of TAINT analysis in HTML format (see "
143-
<< fileutl_concatenate_file_paths(
144-
config.get_taint_summaries_root_directory(),
145-
"HTML/index.html")
146-
<< "')." << messaget::eom;
147-
148-
dump_in_html(
149-
taint_summaries,
150-
[&program,&numbering, &transition_rules, &named_tokens]
151-
(const object_summaryt obj, const goto_modelt &, std::ostream &ostr)
152-
-> std::string
153-
{
154-
taint_functions_for_dumping_taint_summary_in_htmlt
155-
dump_fns(program, numbering, named_tokens);
156-
return dump_fns.taint_object_summary_dump_as_html(obj,false,ostr);
157-
},
158-
program.get_model(),
159-
program.get_call_graph(),
160-
fileutl_concatenate_file_paths(
161-
config.get_taint_summaries_root_directory(),
162-
"HTML"),
163-
false);
125+
if(config.is_html_dump_of_program_enabled())
126+
{
127+
logger.status()
128+
<< "Saving analysed GOTO program in HTML format (see '"
129+
<< fileutl_concatenate_file_paths(
130+
config.get_output_root_directory(),
131+
"goto-program/HTML/index.html")
132+
<< "')." << messaget::eom;
133+
134+
dump_goto_program_in_html(
135+
program.get_model(),
136+
program.get_call_graph(),
137+
fileutl_concatenate_file_paths(
138+
config.get_output_root_directory(),
139+
"goto-program/HTML"));
140+
}
164141

165-
statistics.end_dump_of_taint_html_summaries();
142+
if(config.is_html_dump_of_summaries_enabled())
143+
{
144+
statistics.begin_dump_of_taint_html_summaries();
145+
146+
logger.status()
147+
<< "Saving summaries of TAINT analysis in HTML format (see "
148+
<< fileutl_concatenate_file_paths(
149+
config.get_taint_summaries_root_directory(),
150+
"HTML/index.html")
151+
<< "')." << messaget::eom;
152+
153+
dump_in_html(
154+
taint_summaries,
155+
[&program,&numbering, &transition_rules, &named_tokens]
156+
(const object_summaryt obj, const goto_modelt &, std::ostream &ostr)
157+
-> std::string
158+
{
159+
taint_functions_for_dumping_taint_summary_in_htmlt
160+
dump_fns(program, numbering, named_tokens);
161+
return dump_fns.taint_object_summary_dump_as_html(obj,false,ostr);
162+
},
163+
program.get_model(),
164+
program.get_call_graph(),
165+
fileutl_concatenate_file_paths(
166+
config.get_taint_summaries_root_directory(),
167+
"HTML"),
168+
false);
166169

170+
statistics.end_dump_of_taint_html_summaries();
171+
}
167172

168173
logger.status()
169174
<< "Saving summaries of TAINT analysis in JSON format (see "
@@ -183,18 +188,21 @@ bool taint_do_security_scan(
183188

184189
lvsa_summaries.save_all();
185190

186-
logger.status()
187-
<< "Saving statistics of the whole analysis in HTML format (see "
188-
<< fileutl_concatenate_file_paths(
189-
config.get_statistics_root_directory(),
190-
"HTML/index.html")
191-
<< "')." << messaget::eom;
191+
if(config.is_html_dump_of_statistics_enabled())
192+
{
193+
logger.status()
194+
<< "Saving statistics of the whole analysis in HTML format (see "
195+
<< fileutl_concatenate_file_paths(
196+
config.get_statistics_root_directory(),
197+
"HTML/index.html")
198+
<< "')." << messaget::eom;
192199

193-
taint_dump_statistics_in_HTML(
194-
statistics,
195-
fileutl_concatenate_file_paths(
196-
config.get_statistics_root_directory(),
197-
"HTML"));
200+
taint_dump_statistics_in_HTML(
201+
statistics,
202+
fileutl_concatenate_file_paths(
203+
config.get_statistics_root_directory(),
204+
"HTML"));
205+
}
198206

199207
logger.status()
200208
<< "Saving statistics of the whole analysis in JSON format (see "

0 commit comments

Comments
 (0)