Closed vasramc closed 7 years ago
Thanks! This looks great (and clearly I need to play with Frama-C).
The pull request looks almost complete, but if I'm reading things correctly, it's missing automated test coverage: the patch verifies that it can parse an XML file written out by the parser, but it doesn't yet automatically test the parser.
Please can you add a tests/parsers/test_frama_c_parser.py
that parses the example logfile and asserts that the various fields are being set correctly.
See: https://github.com/fedora-static-analysis/firehose/blob/master/tests/parsers/test_findbugs_parser.py for an example of such a test case (for the "findbugs" program).
The example files are currently in firehose/tests/parsers/example-output
rather than firehose/tests/parsers/example-input
("output from the analyzers", rather than "input to firehose". This may a misnomer, but let's leave that for a different patch)
Looking at test_findbugs_parser.py, I think the cppcheck tests may be a better example to use; see: https://github.com/fedora-static-analysis/firehose/blob/master/tests/parsers/test_cppcheck_parser.py
@davidmalcolm I have added the tests as you mentioned + renamed the files, kindly review now!
Thanks - looks great. Merged.
Thank you!
I wish to participate in the project Continuous static analysis db this GSoC season for which I am really excited!
Is there anything else I can work on to strengthen my proposal? I am in talks with @athos-ribeiro who suggested this as a great first contribution.
On Wed, 2017-03-29 at 09:50 -0700, vasramc wrote:
Thank you! I wish to participate in the project Continuous static analysis db this GSoC season for which I am really excited! Is there anything else I can work on to strengthen my proposal? I am in talks with @athos-ribeiro who suggested this as a great first contribution.
I hadn't seen that proposal, but it's a good idea.
Note that Debian has already built a similar system, on top of Firehose, so a lot of this code already exists: it may "just" be a case of wiring it up within Fedora's infrastructure. I put "just" in quotes there because that would still be a lot of work.
I don't know if it ever went into full "production" within Debian.
Some discussions about it can be seen on the firehose mailing list e.g. here: https://lists.fedorahosted.org/archives/list/firehose-devel@lists.fedor aproject.org/thread/RLG2SHMLQFPLULMD47KZEQSGO6CLIXMM/
Hi David,
We are aware of Debile. It has been in GSoC before as well but unfortunately it has not reached production yet. One of my suggestions to applicants is to reuse code from it.
Hello!
Yes, I plan to take inspiration/tips from Debile, @athos-ribeiro has already mentioned the same to me!
I can create a mockup front-end UI to show how the data might be visualized. There is an repository for the front-end already that I can build on
Hi, Since I worked on a Firehose web UI a few years ago I thought I'd add my two cents: As far as I know the Debile project in Debian is stalled, but its source code is available here: https://anonscm.debian.org/gitweb/?p=pkg-debile/debile.git Also, not sure what it's worth today but here's the source for the UI we had begun to build: http://git.upsilon.cc/?p=firewoes.git;a=summary This had led us to the creation of Debsources for source code embedding, maybe you'll get some inspiration from it: see "source code displaying" at https://sources.debian.net/doc/url/
Good luck with your GSoC project, it's very interesting and very valuable to free software communities.
I have added the parser for frama-c. The current parser accepts only
sparecode
analysis results as of now. Frama-c supports about 20 other types of analysis, whose support I plan to add in the future.Included is an example of the output file generated by running frama-c on a trivial chess engine written in C. Also included is the XML produced by the parser.