A Software Architecture Comformance Checking Tool for Java and C#
Java JavaScript HTML C# GAP ANTLR Other
Latest commit f33d5df Feb 23, 2017 @LeoHU LeoHU Validate: Export as XML improved; IdentifyNewViolations works now;
SaccOnHUSACCT works.

README.md

HUSACCT project

HUSACCT means: HU Software Architecture Compliance Checking Tool, where HU stands for: HU University of Applied Sciences Utrecht.

To download the build, watch an introduction video, or read user documentation, visit: http://husacct.github.io/HUSACCT/

Functionality

HUSACCT provides support for software architecture compliance checking (SACC) of Java and C# systems. SACC monitors the conformance of the implemented architecture (in the source code) to the intended software architecture (in the system's design). The prominent feature of HUSACCT is the support of semantically rich modular architectures (SRMAs), which are composed of modules of different types (like software subsystems, layers and components) and rules of different types. To perform an SACC, an intended software architecture is defined first. Next, HUSACCT checks the compliance to these rules, based on static analysis of the source code, and it reports violations to the defined rules.

Apart from ACC-support, HUSACCT provides support for architecture reconstruction as well: the static structure of the software may be visualized, browsed, and reported.

HUSACCT itself is written in Java. Currently there is support for the following languages: Java and C#.

Development

The HUSACCT project is conducted at the Institute for ICT, located in Utrecht, The Netherlands. Computer Science students of the specialization "Advanced Software Engineering" have participated actively during the spring semesters of 2011, 2012, and 2016. During the Spring semester of 2011, four teams of students developed the first prototypes. During the spring semesters of 2012 and 2013, six teams, with four to five students per team, worked concurrently on the tool. Each team was responsible for a different service: 1) Control; 2) Analyze Java; 3) Analyze .NET; 4) Define; 5) Validate; and 6) Graphics. In December 2012 version 1.0 was released and in September 2013 version 2.0. Since then, the development of HUSACCT has been going on, with several releases in 2014, 2015 and 2016 (up to version 4.5), with the focus on Software Architecture Compliance Checking. Spring 2015, the first initiatives for extensive support for Software Architecture Reconstruction (SAR). Spring 2016, a group of eight students added a SAR GUI, SAR algorithms, and SAR related graphics. This functionality is first included in version 5.0.

Documentation

User and system documentation is available in the doc directory of the master branch.

Plugins

Note: The plugins are developed with v.1.0 in 2012 and not developed any further, afterwards.

Eclipse IDE

An Eclipse plugin is available. (Eclipse plugin repository)

Maven

A Maven plugin is also available. (Maven plugin repository)