PrevPrev UpUp NextNext Next sectionSide effects for concepts


Uncover Side Effects

Here is an example program with function calls. Bauhaus uncovers all side effects and generates HTML files showing the effects of every statement. There are three different effects:

Mayuse:
a variable may be used by an expression
Maydef:
a variable is conditionally defined by an expression
Mustdef:
a variable is definitely defined by an expression
If you click on line 9 for the function definition of foo, the effects of foo are listed in the lower frame. The side effects depend upon pointer values, which in turn depend upon calling contexts. In this example, however, no pointers occur.

You will have noticed that the effects of foo must take into account the effects of g called by foo. Hence, a global analysis is required.

Important note:

You may now Side effects for conceptscontinue with the side-effect information for concepts. This will open a new browser window that will browse the HTML pages automatically generated by Bauhaus. These HTML files are very large, which may cause delays if you are accessing these files using a slow connection. You may want to download the complete guided tour instead and browse these files locally. Or you may want to take a shortcut to the next section.

Example side effects

Last modified: Wed Aug 27 09:55:25 MET DST 2003