Identifying software problems in Java applications using ViMC

Modern software applications are large and complex, and their maintenance has become non-trivial. In this context, having proper tools that help the development process has become a necessity. A distinct disadvantage in large software applications is that they feature complex dependencies on other projects and frameworks, which can lead to an even higher maintenance effort. This is why development and analysis tools need to be able to provide features such as the identification of the level of coupling between projects, and between projects and the frameworks they are based on. In this paper we present how identifying the cyclic dependencies and the degree of coupling between a framework and a project is done using our Java-based tool, called ViMC.

[1]  Petru Florin Mihancea,et al.  XCORE: Support for developing program analysis tools , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[2]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[3]  Dan C. Cosma,et al.  ViMC -- Interactive Tool for Measuring Software Applications , 2018, 2018 22nd International Conference on System Theory, Control and Computing (ICSTCC).

[4]  Edwin Hautus,et al.  IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS , 2002 .

[5]  G. Ann Campbell,et al.  SonarQube in Action , 2013 .