ANNOUNCE: Complexity analyzer for C++

GNOCCHI - A COMPLEXITY ANALYSER FOR C++ Gnocchi calculates cyclomatic and the NPATH complexity measures. USES boost.graph boost.program_options boost.filesystem DESCRIPTION It reads the coverage information produced by GCC and determines the complexity of all functions. If code is compiled with -fprofile-arcs or -ftest-coverage (depending on compiler version) GCC creates a .gcno file for every object file. example: gcc -fprofile-arcs -ftest-coverage -c test_input.c ./gnocchi --threshold 4 test_input.gcno outputs: test_input.c:118: mccabe=5 npath=5 test_input.c:89: mccabe=5 npath=16 test_input.c:67: mccabe=9 npath=80 you can find the first release here: http://gnocchi.sf.net http://sourceforge.net/projects/gnocchi Eddy

The svn code seems to be incompatible with 1.34.0 due to item #2 of http://www.boost.org/libs/filesystem/doc/tr2_proposal.html#Issues main.cpp: In member function 'void file_processor::find_file(const boost::filesystem::path&)': main.cpp:93: error: 'class boost::filesystem::basic_directory_entry<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >' has no member named 'normalize' main.cpp:94: error: 'class boost::filesystem::basic_directory_entry<boost::filesystem::basic_path<std::basic_string<char, std::char_traits<char>, std::allocator<char> >, boost::filesystem::path_traits> >' has no member named 'normalize' Cheers On 6/12/07, Eddy Pronk <epronk@muftor.com> wrote:
GNOCCHI - A COMPLEXITY ANALYSER FOR C++
Gnocchi calculates cyclomatic and the NPATH complexity measures.
USES
boost.graph boost.program_options boost.filesystem
DESCRIPTION
It reads the coverage information produced by GCC and determines the complexity of all functions. If code is compiled with -fprofile-arcs or -ftest-coverage (depending on compiler version) GCC creates a .gcno file for every object file.
example: gcc -fprofile-arcs -ftest-coverage -c test_input.c ./gnocchi --threshold 4 test_input.gcno
outputs: test_input.c:118: mccabe=5 npath=5 test_input.c:89: mccabe=5 npath=16 test_input.c:67: mccabe=9 npath=80
you can find the first release here:
http://gnocchi.sf.net http://sourceforge.net/projects/gnocchi
Eddy
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Chris Fairles wrote:
The svn code seems to be incompatible with 1.34.0 due to item #2 of http://www.boost.org/libs/filesystem/doc/tr2_proposal.html#Issues
boost::filesystem::path_traits> >' has no member named 'normalize'
Thanks for pointing this out Chris. I removed it for now. It was to prevent paths like foo/include/../../../bar/include in the output. Eddy
participants (2)
-
Chris Fairles
-
Eddy Pronk