Quantifying Object-Oriented System Complexity: Introducing a Powerful Measurement Tool

Muhammed Basheer Jasser, Lee Ming Zhen, Bayan Issa, Ling Mee Hong, Ismail Ahmed Al-Qasem Al-Hadi · 2023

A lot of metrics and tools have been devised to measure the complexity of software systems. Through measurement, software professionals can have a better understanding and control of a software’s complexity. In this paper, we reviewed complexity metrics and tools for object-oriented systems. The existing tools measure either implemented systems which may be source code or compile binaries, or class diagrams. The tools that measure implemented systems already offer a wide variety of features to satisfy different needs. However, the tools that measure class diagrams are not only poor in amount, but all take in class diagram XMI files, with none of them taking in PlantUML class diagram source code. PlantUML is a popular text-based UML diagramming tool that enables users to define UML diagrams with a domain specific language then renders the diagram for them. Hence, we developed a web application that measures class diagram complexity via PlantUML class diagram source code. It measures five class metrics and seven system metrics visualized as tables and bar charts, with the results exportable to PDF and CSV. Our tool’s measurements were also evaluated to be correct when it is within our scope of supported syntax.

Read the paper · More papers on PaperTik