Download User Manual - Frama-C

Transcript
Chapter 8
General Kernel Services
This chapter presents some important services oered by the Frama-C platform.
8.1 Projects
A Frama-C project groups together one source code with the states (parameters, results,
of the Frama-C kernel and analyzers.
current
etc
)
In one Frama-C session, several projects may exist at the same time, while there is always one
and only one so-called
project in which analyses are performed. Thus projects help
to structure a code analysis session into well-dened entities. For instance, it is possible to
perform an analysis on the same code with dierent parameters and to compare the obtained
results. It is also possible to extract a program
the results of an analysis run separately on
p
p0
from an initial program
p
and to compare
0
and p .
8.1.1 Creating Projects
A new project is created in the following cases:
•
at initialization time, a default project is created; or
•
via
•
a source code transforming analysis has been made. The analyzer then creates a new
an explicit user action in the GUI; or
project based on the original project and containing the modied source code. A typical
example is code slicing which tries to simplify a program by preserving a specied
behaviour.
8.1.2 Using Projects
The list of existing projects of a given session is visible in the graphical mode through the
Project
etc
menu (see Section 9.2).
removing, saving,
the same session.
Among other actions on projects (duplicating, renaming,
), this menu allows the user to switch between dierent projects during
In batch mode, the only way to handle a multi-project session is through the command line
option
-then-on
(see Section 3.3.1).
37