Source code analysis is a complicated process involving support for different language versions and features.

The process consists of

  • integrating with GitHub, Bitbucket, GitLab and Gerrit (on-prem and cloud APIs) are supported,
  • source code syntax handling,
  • structural analysis,
  • metadata and package file analysis,
  • cross referencing and dependency analysis,
  • Git history analysis,
  • metrics calculation,
  • aggregation,
  • duplicate (alias copy paste) detection,
  • co-change detection,
  • change analysis,
  • model level comparison and
  • reporting.

Certain phases in the process require special language specific tools and plugins. The programming languages do evolve at different speeds. This causes challenges for the language level handlers.

Known issues:

  • Duplicate detection does not support TypeScript language.
  • Repositories with special characters in repository name do cause trouble in certain cases.
Did this answer your question?