Perspective - (2022) Volume 13, Issue 5
Received: 03-May-2022, Manuscript No. GJTO-22-70927;
Editor assigned: 05-May-2022, Pre QC No. P-70927;
Reviewed: 10-May-2022, QC No. Q-70927;
Revised: 15-May-2022, Manuscript No. R-70927;
Published:
20-May-2022
, DOI: 10.37421/2229-8711.2022.13.297
Citation: Yu, Byron. “Nonlinear Communication Network
Engineering via Software Packages.” Glob J Tech Optim 13 (2022): 297.
Copyright: © 2022 Yu B. This is an open-access article distributed under the
terms of the Creative Commons Attribution License, which permits unrestricted
use, distribution, and reproduction in any medium, provided the original author
and source are credited.
One of the most complex human-made systems is a complex software system, although little is actually understood about the construction of "excellent" software. Here, we examine several Java-based software systems from a network science approach. The study shows that network theory can offer a significant set of methods for the exploratory examination of substantial, intricate software systems. We also include a number of software engineering applications and suggest other network-based quality indicators for software design, effectiveness, reusability, vulnerability, controllability, and other factors. One of the most advanced systems ever developed by humans is a complex software system. The true structure and quantitative characteristics of massive software systems are, however, little understood. For instance, one is concerned with how "excellent" software is in the context of software engineering. The framework most suited for analysing the structure of complex systems like software projects may be networks. Additionally, examination of various networks has already led to some important discoveries in the past ten years due to their straightforward and understandable nature. Although the usage of software networks is not new, network analysis is still seldom ever employed in the field of software engineering. Thus, the major goal of this study is to provide several network analysis approaches and demonstrate how they may be used in software engineering, development, and understanding [1,2].
Nodes in the network can represent project packages, software classes, methods, and functions, or they can represent single lines of code thanks to Java's object-oriented perspective. Here, we use class dependency networks, where nodes stand in for classes and linkages denote various relationships between them. The latter is supported by the subsequent factors. First off, since networks are only marginally impacted by the developer's subjective preferences because they are simply built from the signatures of various classes, functions, and fields inside them. Second, project packages and the mesoscopic structures of class dependency networks align, enabling a range of software engineering applications. Third, these networks are related to the information flow between various software project components and also line up with how humans understand object-oriented software. Within class dependency networks, packages of the software system reflect in several structural modules. For instance, various parsers, transformers, or plugins frequently organise into functional modules that correspond to groups of nodes with similar connection patterns, whereas visualisation classes frequently aggregate into communities of highly linked nodes. In contrast, a clear community structure denotes a software system with a highly modular structure, and properly maintained functional modules are associated with classes in a project that have distinct functional duties. Software packages were compared to network modules found using the MM and GP structural module identification techniques as well as the MO and CP community discovery methodologies [3,4].
According to analysis, functional and general structural modules, including communities, best represent the package structure of the software systems under examination. The next section just skims the surface of the various network analysis techniques' applications due to space restrictions. Future research will concentrate on a more in-depth analysis and the creation of supplementary implementations that might be quickly used in reality. a software project abstraction using network structural module discovery. In addition to encapsulating class dependencies that go beyond the packages selected by the developers, one may designate a full hierarchy of modules that is compatible with the package hierarchy. In addition to enhancing understanding, disclosed hierarchy makes it possible to foresee relationships between project classes. Software package restructuring can also use network module discovery methods. To uncover the underlying functional structure, one can use a community identification technique to show highly modular structure. The next section just skims the surface of the various network analysis techniques' applications due to space restrictions. Future research will concentrate on a more in-depth analysis and the creation of supplementary implementations that might be quickly used in reality. a software project abstraction using network structural module discovery. In addition to encapsulating class dependencies that go beyond the packages selected by the developers, one may designate a full hierarchy of modules that is compatible with the package hierarchy. In addition to enhancing understanding, disclosed hierarchy makes it possible to foresee relationships between project classes. Software package restructuring can also use network module discovery methods. To uncover the underlying functional structure, one can use a community identification technique to show highly modular structure [5].
In this thorough investigation of software networks built from Java source code, we investigate macroscopic network characteristics connected to the structural layout of the relevant software project. To identify the most important and susceptible software classes, we then do a microscopic node-level analysis of the networks. Finally, we examine mesoscopic network structural components and demonstrate how they might be used in project refactoring. We demonstrate, among other things, how difficult it is to regulate software systems despite the fact that they are very susceptible to processes like bug spread. Only 17 percent of the Java namespace, however, may be used to govern the Java language. Additionally, we include a number of network-based quality indicators that may be used to rate the design, reusability, robustness, controllability, and other aspects of software projects. The study reveals network analysis in this way.
None.
The authors reported no potential conflict of interest.
Google Scholar, Crossref, Indexed at
Google Scholar, Crossref, Indexed at
Google Scholar, Crossref, Indexed at
Global Journal of Technology and Optimization received 847 citations as per Google Scholar report