We discuss many resources in the Building Evolutionary Architectures workshops, and we continue to find more tools that fall into our categorization of fitness functions.

  • ArchUnit
    ArchUnit is a free, simple and extensible library for checking the architecture of your Java code using any plain Java unit test framework.

  • CKJM
    The program ckjm calculates Chidamber and Kemerer object-oriented metrics by processing the bytecode of compiled Java files. The program calculates for each class the following six metrics proposed by Chidamber and Kemerer.

    WMC: Weighted methods per class
    DIT: Depth of Inheritance Tree
    NOC: Number of Children
    CBO: Coupling between object classes
    RFC: Response for a Class
    LCOM: Lack of cohesion in methods

  • ESLint
    ESLint is an open source project that provides a pluggable linting utility for JavaScript.

  • JavaNCSS
    Metrics suite for Java.

  • Nagios
    State-of-the-art commercial monitoring tool.

  • NetArchTest
    A fluent API for .Net that can enforce architectural rules in unit tests.

  • Netflix Simian Army
    Tools for keeping your cloud operating in top form. Chaos Monkey is a resiliency tool that helps applications tolerate random instance failures.

    A command-line interface which loads web pages and highlights any accessibility issues it finds. Useful for when you want to run a one-off test against a web page.

  • PMD
    An extensible cross-language static code analyzer.

Supported Languages:
Java Server Pages
Maven POM
Salesforce VisualForce