@@ -227,6 +227,7 @@ void goto_analyzer_parse_optionst::get_command_line_options(optionst &options)
227227 options.set_option (" text" , false );
228228 options.set_option (" json" , false );
229229 options.set_option (" xml" , false );
230+ options.set_option (" dot" , false );
230231 options.set_option (" outfile" , " -" );
231232
232233 if (cmdline.isset (" text" ))
@@ -244,6 +245,11 @@ void goto_analyzer_parse_optionst::get_command_line_options(optionst &options)
244245 options.set_option (" xml" , true );
245246 options.set_option (" outfile" , cmdline.get_value (" xml" ));
246247 }
248+ else if (cmdline.isset (" dot" ))
249+ {
250+ options.set_option (" dot" , true );
251+ options.set_option (" outfile" , cmdline.get_value (" dot" ));
252+ }
247253 else
248254 {
249255 options.set_option (" text" , true );
@@ -298,6 +304,7 @@ void goto_analyzer_parse_optionst::get_command_line_options(optionst &options)
298304 options.set_option (" constants" , false );
299305 options.set_option (" intervals" , false );
300306 options.set_option (" non-null" , false );
307+ options.set_option (" dependence-graph" , false );
301308
302309 if (cmdline.isset (" intervals" ) ||
303310 cmdline.isset (" show-intervals" ))
@@ -307,10 +314,13 @@ void goto_analyzer_parse_optionst::get_command_line_options(optionst &options)
307314 options.set_option (" non-null" , true );
308315 else if (cmdline.isset (" constants" ))
309316 options.set_option (" constants" , true );
317+ else if (cmdline.isset (" dependence-graph" ))
318+ options.set_option (" dependence-graph" , true );
310319
311320 if (!(options.get_bool_option (" constants" ) ||
312321 options.get_bool_option (" intervals" ) ||
313- options.get_bool_option (" non-null" )))
322+ options.get_bool_option (" non-null" ) ||
323+ options.get_bool_option (" dependence-graph" )))
314324 {
315325 status () << " Domain defaults to --constants" << eom;
316326 options.set_option (" constants" , true );
@@ -661,11 +671,13 @@ void goto_analyzer_parse_optionst::help()
661671 " --constants constant abstraction\n "
662672 " --intervals interval abstraction\n "
663673 " --non-null non-null abstraction\n "
674+ " --dependence-graph dependency relation between instructions\n "
664675 " \n "
665676 " Output options:\n "
666677 " --text file_name output results in plain text to given file\n "
667678 " --json file_name output results in JSON format to given file\n "
668679 " --xml file_name output results in XML format to given file\n "
680+ " --dot file_name output results in DOT format to given file\n "
669681 " \n "
670682 " Other analyses:\n "
671683 " --taint file_name perform taint analysis using rules in given file\n "
0 commit comments