| Version 10 (modified by , 12 years ago) ( diff ) |
|---|
GUI Requirements
- the GUI needs to show a view of the source code
- the source code will usually consist of multiple files, these should be shown in separate windows or tabs
- the source view must show line numbers
- GUI needs to show a view of the AST in a hierarchical way
- GUI needs to show a view of the CIVL model in a hierarchical way
- Components of the CIVL model
- Lexical scope tree
- Function tree
- Features
- Show source code for statements
- Components of the CIVL model
- the GUI should provide a (non-interactive) Console view which shows the output produced by CIVL as it executes its functions, similar to what would be seen when using CIVL from the command line
- the GUI needs to guide the user through all commands which can be executed through the command line
- verify, run, parse, etc.
- there should be a file browser for users to choose the .cvl/.c file to run
- the GUI should guide the user by showing the options available to each command in some way and letting the user select those options in a graphical way (buttons, menus, etc.)
- the GUI should allow the user to specify by inputs by showing the list of input variables in a table, with one row for each input. The table should show the type of the input variable.
- for a boolean input variable, the options should be unspecified (always the default), true, or false.
- for an integer input variable, the options should be unspecified (again, the default), or some concrete integer that can be typed into a field
- etc.
- the GUI needs to display the trace and allow the user to interact with the trace if a counterexample is found or if the run command is used
- the GUI needs to display the statistics resulting from execution in formatted way (such as a table)
- the views of the source code, model, AST, and trace need to all be linked. For example, a location occurring in the trace should be clickable, and clicking it should take you to the location in the CIVL Model. Clicking in some other way should take to the AST, and some other way should take you to the source code.
- If an error is reported, the GUI needs to
- display the error message
- display the error state if possible
- allow the user to click the source code summary to go the source code
- if the error is an execution error, then there should be a shortcut for the user to replay the counter example immediately
- the GUI should interact with CIVL solely through CIVL's Java API (and not, for example, through the command line interface), both when invoking CIVL's functionality and in obtaining CIVL's results, including statistics, traces, and error messages
Note:
See TracWiki
for help on using the wiki.
