Software testing techniques (2nd ed.)
Software testing techniques (2nd ed.)
Network flows: theory, algorithms, and applications
Network flows: theory, algorithms, and applications
IBM Systems Journal
Scale-free geometry in OO programs
Communications of the ACM - Adaptive complex enterprises
Understanding the shape of Java software
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Semantic clustering: Identifying topics in source code
Information and Software Technology
Power-Laws in a Large Object-Oriented Software System
IEEE Transactions on Software Engineering
Structure and Interpretation of Computer Programs
TASE '08 Proceedings of the 2008 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering
Software execution processes as an evolving complex network
Information Sciences: an International Journal
Software Systems as Complex Networks
COGINF '07 Proceedings of the 6th IEEE International Conference on Cognitive Informatics
Hi-index | 0.00 |
Complex software systems are among most sophisticated human-made systems, yet only little is known about the actual structure of 'good' software. We here study different software systems developed in Java from the perspective of network science. The study reveals that network theory can provide a prominent set of techniques for the exploratory analysis of large complex software system. We further identify several applications in software engineering, and propose different network-based quality indicators that address software design, efficiency, reusability, vulnerability, controllability and other. We also highlight various interesting findings, e.g., software systems are highly vulnerable to processes like bug propagation, however, they are not easily controllable.