jmove - the software analysis kit

jmove eases the understanding and valuation of the design and architecture of complex software written in Java. It provides dependency analysis, metrics, design rule checking and impact analysis. Define your desired architecture model and check consistency with the implementation.

More precisely, jmove consists of two essential components: jmove-api and jmover.

jmove-api

jmove-api offers a framework to ease the understanding of the design and architecture of software systems and to provide support to control the software from this point of view. It is based on a pragmatic and simple model centric approach.

  • reads Java byte code into a model
  • provides various means for analysing those models
  • navigating and querying models
  • checking (non)desired dependencies between types, packages, modules and self definable sets of model elements
  • monitors observe architectural and design constraints
  • dependency metrics
  • extension API for integrating custom metrics, monitors etc.
  • integrates with JUnit (predefined tests for package cycles, package order, type cycles, ...)

jmover

jmover is an application based on the jmove-api to give an insight into a software system.

  • offers a searchable and navigation-able model browser
  • visualize dependencies of types, packages, modules
  • display model statistics, metrics
  • shows alarms based on defined jmove-api monitors
Package cycle in jmover Details of a package cycle in jmover Package overview in jmover

Download Latest Version

jmove, jmove-api and jmover is open source software. It is distributed without any warranty under GNU Lesser General Public License.


© 2001-2018 A. Terfloth, M. Jürgens, C. Neumann