% How useful were code analysis tools?
The usefulness of the Fortify Static Code Analysis tool turned out to be very limited.
Since we had most verdicts ready before a license was provided we could not use
the tool as an initial guide through the code. This forced us to manually check
the application source which took quite some time. After the tool became available we
did not get any new insights regarding potential security risks, just more examples
of problems we already detected. An example would be the use of the \code{crypt()} \PHP{}
function which will, on some platforms, use the outdated \code{DES} algorithm in order to encrypt data. The
use of this function would pose a security risk and results in a failed check. Since
we where only interested in providing a verdict for each check a single occurrence of
this function allowed us to back-up our verdict. Fortify provides a full list of all
occurrences which could be used to fix the application, our verdict on the other hand
does not provide the developer with any information on how to fix the problem. We just
state that there is a problem.

% How could they be improved? (niet echt een antwoord maar we hebben de tool ook niet echt gebruikt?)
In our opinion the tool could have proved very useful in pointing out certain security
flaws in the initial stage of this project since we spent a lot of time scanning the
application code-base. Since Fortify located relatively low-level problems we could
have used these to locate potential hot-spots. 
Saving us from going through every source file and trying to determine if they are part of the
applications external access points. In order to improve upon the tool we suggest a larger
focus on determining which parts of a application need to be secure and less on pointing
out actual security flaws.

% How did you experience the rates and amounts of false and true positives?
As far we where able to verify the tool did not produce any false positives.
However, Fortify was not able to detect all problems we found.
Fortify concluded the application passed all checks in the 
Error reporting and Logging (\ref{sec:V8}) section, however we detected a number of severe
problems in this area.

% How might that be improved?
Since some problems occur multiple times it might be nice if Fortify was able to
generate a clear overview of which components of the application contain detected
problems. This could be very useful in combination with the information about
components and functions which do pass the given security check. This would allow
developers to determine if they suffer from chronically malformed code 
(e.g. all relevant code fails the check, indicating a very serious problem throughout the entire code base) 
or a single error (e.g. most relevant code passes the check except for a few isolated cases).
In the tested code base there is a clean distinction between an installer component and the
actual web application. If the installer suffers from problems not present in
the web application and Fortify would be able to point out the specific check is
relevant to both components the company would know which team or developer needs some major
reeducation and who would be the best person to teach them.
