pycdep

Software Screenshot:
pycdep
Software Details:
Version: 0.0.2
Upload Date: 11 May 15
Developer: Stefaan Himpe
Distribution Type: Freeware
Downloads: 5

Rating: nan/5 (Total Votes: 0)

pycdep is an include file dependency analyzer that consists of a Python script which goes over the C and C++ files and extracts dependency information from it. The dependency information is saved as a prolog program. The prolog program can be used to perform all kinds of analyses on the dependency graph, and to convert the dependency graph (or subsets thereof) to a .dot file. It comes with a lot of predefined queries.

Examples of things for which predefined queries are available: (only your imagination and knowledge of prolog limit the possibilities for adding new ones):

- finding which files are included by another file
- finding which files are recursively included by another file
- finding out via which path one file depends on another file
- finding out which files depend on some file
- finding out which files need to be recompiled if you touch a given file
- finding files that are included twice or more by the same file
- finding .cpp files that are included
- finding circular dependencies
- finding out which header files are transitively implied by other header files included by the same file
- checking design constraints to ensure that certain projects do not include from other projects

There’s also an experimental chat bot implementation that can answer some of your questions about the code base being examined.

The whole system is intended to be cross-platform. That means that we need to deal with filename case (in)sensitivity issues. In particular, on linux systems we want to be able to examine windows code, and vice versa (as far as possible). The usage of upper and lower case in code written for windows systems is often sloppy, whereas for code intended for to be compiled on case sensitive filesystems the difference in case could (in principle) point to a different file.

What is new in this release:

  • New feature * sorting include files by importance
  • Order of magnitude speed up
  • Bug fixes: * removed undesired remaining choicepoints in several prolog predicates * files ending in .sh are considered header files of "h" is defined as header file suffix * add missing dependency on python project argparse in setup.py * problems with window sloppy file name case on linux systems * do not bail out during full_report generation if no hierarchy constraints are defined * clean up prolog predicates by removing unused arguments * be smarter about where to find the prolog template, allowing to start pycdep from any folder * problems with win32 path handling due to refactorings for speed optimization

Requirements:

  • Python

Similar Software

nose-quickunit
nose-quickunit

20 Feb 15

buildbot-slave
buildbot-slave

14 Apr 15

BuildBot
BuildBot

17 Feb 15

Embedded Profiler
Embedded Profiler

17 Feb 15

Comments to pycdep

Comments not found
Add Comment
Turn on images!