SOKRATES

Polyglot source code examination tool

"Talk is expensive. Show me the code."

Željko Obrenović

What is Sokrates?

  • Sokrates is a tool built by Željko Obrenović. It implements his vision on how to document and analyze software architectures of complex systems.
  • Sokrates is provides a pragmatic, inexpensive way to extract rich data from any source code repositories. No need for long interviews and workshops. Just show the code.
  • Sokrates can help you to understand your code by making visible the size, complexity, and coupling of software, as well all people interactions and team topologies.
  • Sokrates borrows ideas from code spelunking tool, in particular grep, adding structure on top of regex source code searches.

Examples: Sokrates Analyses of Big Projects and Whole GitHub Organizations

NOTE: If you want to perform similar landscape analyses of all repositories in a GitHub organization, take a look at this project github.com/zeljkoobrenovic/sokrates-oss-landscape-analysis

Examples: Sokrates Analyses of Individual Repositories

The Sokrates Book: A Collections of Articles on Sokrates

Sokrates in 5 minutes

See a 5 minutes video on using Sokrates CLI to analyze source code of Sokrates:

See a 5 minutes video on using Sokrates Explorer to analyze source code of JUnit4:

Background

Sokrates looks on the source code from a perspective of maintenance, making visible the size, complexity and coupling of software.

For more details see my O'Reilly Video Training (from my time at Software Improvement Group): Building Maintainable Software (4 hours), and O'Reilly Webcast: Building Maintainable Software (1 hour, together with Rob van der Leek).

The fragment of my training video on building maintainable software is freely avaliable at Youtube: