Hierarchical Small Worlds in Software Architecture
@article{Valverde2003HierarchicalSW, title={Hierarchical Small Worlds in Software Architecture}, author={Sergi Valverde and Ricard V. Sol{\'e}}, journal={arXiv: Disordered Systems and Neural Networks}, year={2003} }
The components of a large software application do not interact in random ways. Instead, class diagrams exhibit remarkable topological similarities to other natural and artificial systems. The components of a large software application are very well connected because the mean shortest distance between them is very low in spite of having a relatively small number of connections per class. In addition, these diagrams are very heterogeneous. These measurements are of a general nature and are…
181 Citations
Complex Dependencies in Large Software Systems
- Computer ScienceAdv. Complex Syst.
- 2009
Two large, open source software systems are analyzed from the vantage point of complex adaptive systems theory and it is suggested that the eigenvector centrality can play an important role in deciding which open sourceSoftware packages to use in mission critical applications.
On Structural Properties of Large-Scale Software Systems: From the Perspective of Complex Networks
- Computer Science2009 Sixth International Conference on Fuzzy Systems and Knowledge Discovery
- 2009
The collaboration relationships between header files in the source node of Linux kernels are analyzed by constructing weighted network- Header File Collaboration Network (HFCN), which can provide a better description of the organizational principles at the basis of the architecture of source codes in large computer software systems.
Power-Laws in a Large Object-Oriented Software System
- Computer ScienceIEEE Transactions on Software Engineering
- 2007
A comprehensive study of an implementation of the Smalltalk object oriented system, one of the first and purest object-oriented programming environment, searching for scaling laws in its properties, systematically found Pareto - or sometimes log-normal - distributions in these properties.
How multiple-dependency structure of classes affects their functions a statistical perspective
- Computer Science2010 2nd International Conference on Software Technology and Engineering
- 2010
A special structural feature of individual class is defined to investigate the relationship between external structure and internal function and the metric (m) takes in-degree and reachable set of nodes in class-level dependency graphs derived from source code into consideration.
The complex software network evolution of Java Development Kits: topological properties and design principles
- Computer Science
- 2009
The family of Java networks constructed from Java Development Kits is in the category of small-world and scale-free networks owning a disassortative hierarchical structure, whose evolving properties are investigated.
Empirical analysis of software coupling networks in object-oriented software systems
- Computer Science2010 IEEE International Conference on Software Engineering and Service Sciences
- 2010
It is found that software coupling network is of small-world and scale-free property, the exponents of in-degree and out-degree distributions are different, and the betweenness distribution of SCN is also power law.
A study of the community structure of a complex software network
- Computer Science2013 4th International Workshop on Emerging Trends in Software Metrics (WETSoM)
- 2013
It is found that the number of communities in which the software networks can be partitioned and their modularity, average path length and mean degree can be related to the amount of bugs detected in the system.
Evolving Topology of Java Networks
- Computer Science2006 6th World Congress on Intelligent Control and Automation
- 2006
The community structure in the Java networks is identified based on the organization of JDK packages, with which some insights have been shed into the evolution of complex software networks.
Identifying key classes of object-oriented software based on software complex network
- Computer Science2017 2nd International Conference on System Reliability and Safety (ICSRS)
- 2017
This work proposes an approach using various complex network metrics to automatically identify key classes from global and local aspects, and shows that this approach can accurately identifyKey classes compared with existing literature.
Community structure of complex software systems: Analysis and applications
- Computer ScienceArXiv
- 2011
References
SHOWING 1-10 OF 59 REFERENCES
Software systems as complex networks: structure, function, and evolvability of software collaboration graphs
- Computer SciencePhysical review. E, Statistical, nonlinear, and soft matter physics
- 2003
This work has examined software collaboration graphs contained within several open-source software systems, and found them to reveal scale-free, small-world networks similar to those identified in other technological, sociological, and biological systems.
Scale-free networks from optimal design
- Computer Science
- 2002
This letter presents the first evidence for the emergence of scaling (and the presence of small-world behavior) in software architecture graphs from a well-defined local optimization process, and the consequences for other complex networks.
Approach to a theory of software evolution
- BusinessEighth International Workshop on Principles of Software Evolution (IWPSE'05)
- 2005
The author summarises his most recent results outlining a proof that every E-type program reflects an unbounded number of assumptions about the application implemented, supported or modelled by the program, and that some of these become invalid over time as a consequence of changes in the dynamic real world.
Optimization in Complex Networks
- Computer Science
- 2001
Here it is shown that a simple optimization process can also account for the observed regularities displayed by most complex nets, and constraints provide a new explanation for scaling of exponent about -3.3.
Statistical mechanics of complex networks
- Computer ScienceArXiv
- 2001
A simple model based on these two principles was able to reproduce the power-law degree distribution of real networks, indicating a heterogeneous topology in which the majority of the nodes have a small degree, but there is a significant fraction of highly connected nodes that play an important role in the connectivity of the network.
Design patterns: elements of reuseable object-oriented software
- Computer Science, Art
- 1994
The book is an introduction to the idea of design patterns in software engineering, and a catalog of twenty-three common patterns. The nice thing is, most experienced OOP designers will find out…
Conceptual entropy and its effect on class hierarchies
- Computer ScienceComputer
- 1994
The article describes an automated classification tool that helps minimize conceptual entropy, which is manifested by increasing conceptual inconsistency as the authors travel down the hierarchy.
Extracting and restructuring the design of large systems
- Computer ScienceIEEE Software
- 1990
The approach used is to map the resource exchange among modules and then derive a hierarchical design description using a system-restructuring algorithm, using a module interconnection language, NuMIL.
Scale-free Geometry in Object-Oriented Programs
- Computer Science
- 2004
This article examines the graphs formed by object-oriented programs written in a variety of languages, and shows that these turn out to be scale-free networks as well.