--- layout: fc_discuss_archives title: Message 17 from Frama-C-discuss on October 2009 ---
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] Unable to work with large projects



Hi Alex,

(1) yes, this is possible provided you write your own main function
or take it from some other application that makes use of the library
(might be a test stub for instance). Make sure that your code is
relatively complete and watch the log files for messages of the form
"No code for function...".
Using -main is obviously preciser than using -lib-entry (see Valviewer
manual).

(2) Frama-C does indeed not process entire directories. This would be
a risky thing as you might also manipulate the source files and/or
create temporary source files. It is preferable to list precisely 
all source files that you wish to be analysed. 
Maybe write a small shell script, with

SRC = (... source files ...)

and hand them to the analyser like

$ frama-c -main <your main> $SRC <other options>

Armand

> 
> ----------------------------------------------------------------------
> 
> Message: 1
> Date: Thu, 8 Oct 2009 17:14:39 +0100
> From: Alexandre Constantino <alexandre.constantino at edisoft.pt>
> Subject: [Frama-c-discuss] Unable to work with large projects
> To: frama-c-discuss at lists.gforge.inria.fr
> Message-ID: <200910081714.39097.alexandre.constantino at edisoft.pt>
> Content-Type: Text/Plain;  charset="iso-8859-1"
> 
> Hello,
> 
> I'm trying to use Frama-C on a large software project, but I'm not having much luck.
> The problem seems to be twofold: (1) it's a large project with lots of directories and (2) it is a library.
> 
> Regarding (2), it's possible to work around this issue by using the -lib-entry flag. But the ideal solution would to set the main() function of an application that uses that library and Frama-C to process the library as well... is this possible?
> But as for (1), Frama-C seems to work with files, not being able to process directories recursively... and these are way too many URIs (path + filename) to pass in the command line.
> 
> Is there any way to solve this?
> 
> For example purposes, you can check this library:
> http://sourceforge.net/projects/openil/files/DevIL/1.7.8/DevIL-1.7.8.tar.gz/download
> 
> Thank you for any help.
> Best regards,
> Alexandre
>