Software Systems as Complex Networks by Hema Jayaprakash.

Slides:



Advertisements
Similar presentations
Performance in Decentralized Filesharing Networks Theodore Hong Freenet Project.
Advertisements

Measurement and Analysis of Online Social Networks 1 A. Mislove, M. Marcon, K Gummadi, P. Druschel, B. Bhattacharjee Presentation by Shahan Khatchadourian.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Topology and Dynamics of Complex Networks FRES1010 Complex Adaptive Systems Eileen Kraemer Fall 2005.
Ricard V. Solè and Sergi Valverde Prepared by Amaç Herdağdelen
Complex Networks Advanced Computer Networks: Part1.
Modeling Main issues: What do we want to build How do we write this down.
Collective Dynamics of ‘Small World’ Networks C+ Elegans: Ilhan Savut, Spencer Telford, Melody Lim 29/10/13.
Network biology Wang Jie Shanghai Institutes of Biological Sciences.
The Small World of Software Reverse Engineering Ahmed E. Hassan and Richard C. Holt SoftWare Architecture Group (SWAG) University Of Waterloo.
Connected Components in Software Networks Miloš Savić, Mirjana Ivanović, Miloš Radovanović Department of Mathematics and Informatics Faculty of Science.
Unified Modeling Language
Topology Generation Suat Mercan. 2 Outline Motivation Topology Characterization Levels of Topology Modeling Techniques Types of Topology Generators.
UML Static diagrams. Static View: UML Component Diagram Component diagrams show the organization and dependencies among software components. Component:
Networks FIAS Summer School 6th August 2008 Complex Networks 1.
Miloš Savić, Mirjana Ivanović, Miloš Radovanović
T HE S TRUCTURE OF S CIENTIFIC C OLLABORATION N ETWORKS & R ESEARCH F UNDING N ETWORKS CS790g Complex Networks Jigar Patel November 30 th 2009.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Introduction to UML Visual modeling Models and its importance
© Copyright Eliyahu Brutman Programming Techniques Course.
An Introduction to Software Visualization Dr. Jonathan I. Maletic Software DevelopMent Laboratory Department of Computer Science Kent State University.
1 A Student Guide to Object- Orientated Development Chapter 9 Design.
Version Enterprise Architect Redefines Modeling in 2006 An Agile and Scalable modeling solution Provides Full Lifecycle.
341: Introduction to Bioinformatics Dr. Natasa Przulj Deaprtment of Computing Imperial College London
Analysis and Modeling of the Open Source Software Community Yongqin Gao, Greg Madey Computer Science & Engineering University of Notre Dame Vincent Freeh.
Smith’s Aerospace © P. Bailey & K. Vander Linden, 2005 Architecture: Component and Deployment Diagrams Patrick Bailey Keith Vander Linden Calvin College.
1 CSE 2102 CSE 2102 CSE 2102: Introduction to Software Engineering Ch9: Software Engineering Tools and Environments.
PowerDesigner 与对象建模. 2 Why Using UML? Visually define and communicate the structure and behavior of an application Represent systems using Object-Oriented.
LANGUAGE NETWORKS THE SMALL WORLD OF HUMAN LANGUAGE Akilan Velmurugan Computer Networks – CS 790G.
Object Management Group (OMG) Specifies open standards for every aspect of distributed computing Multiplatform Model Driven Architecture (MDA)
Clustering of protein networks: Graph theory and terminology Scale-free architecture Modularity Robustness Reading: Barabasi and Oltvai 2004, Milo et al.
FRE 2672 TFG Self-Organization - 01/07/2004 Engineering Self-Organization in MAS Complex adaptive systems using situated MAS Salima Hassas LIRIS-CNRS Lyon.
Topology and Evolution of the Open Source Software Community Advisors: Dr. Vincent W. Freeh Dr. Kevin Bowyer Supported in part by the National Science.
Lucian Voinea Visualizing the Evolution of Code The Visual Code Navigator (VCN) Nunspeet,
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
SEMINAR WEI GUO. Software Visualization in the Large.
Midterm Project Guide Prof. Dr. Daning Hu Department of Informatics University of Zurich Oct 23th, 2012.
TAL7011 – Lecture 4 UML for Architecture Modeling.
Implementation Diagrams
Unified Modeling Language. Object Oriented Methods ► What are object-oriented (OO) methods?  OO methods provide a set of techniques for analyzing, decomposing,
Introducing Allors Applications, Tools & Platform.
Lab 5 CPIT 250 System Analysis and Design.
© 2006, National Research Council Canada © 2006, IBM Corporation Solving performance issues in OTS-based systems Erik Putrycz Software Engineering Group.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
Object Oriented Analysis and Design 1 Chapter 9 From Design to Implementation  Implementation Model  Forward, Reverse, and Round-Trip Engineering  Mapping.
Model Design using Hierarchical Web-Based Libraries F. Bernardi Pr. J.F. Santucci {bernardi, University of Corsica SPE Laboratory.
Informatics tools in network science
1 Architectural Blueprints—The “4+1” View Model of Software Architecture (
Transportation Networks September 9, 2014 Michael Lin Alex Farrell Ziqi Zhu Sanjeev Ramachadra.
Object Oriented Programming and Data Abstraction Earl Huff Rowan University.
Introduction to UML and Rational Rose UML - Unified Modeling Language Rational Rose 98 - a GUI tool to systematically develop software through the following.
SESSION 1 Introduction in Java. Objectives Introduce classes and objects Starting with Java Introduce JDK Writing a simple Java program Using comments.
1 Design Object Oriented Solutions Object Oriented Analysis & Design Lecturer: Mr. Mohammed Elhajj
Hiroki Sayama NECSI Summer School 2008 Week 2: Complex Systems Modeling and Networks Network Models Hiroki Sayama
UML Diagrams By Daniel Damaris Novarianto S..
Component and Deployment Diagrams
J. Michael, M. Shing M. Miklaski, J. Babbitt Naval Postgraduate School
Comparison of Social Networks by Likhitha Ravi
University of Central Florida COP 3330 Object Oriented Programming
Empirical analysis of Chinese airport network as a complex weighted network Methodology Section Presented by Di Li.
UML Diagrams Jung Woo.
Online Shopping APP.
Building and Analyzing Genome-Wide Gene Disruption Networks
Department of Computer Science University of York
IMPORTANT NOTICE TO STUDENTS:
Introduction to Computer Science for Majors II
UML profiles.
The structure and evolution of scientific collaboration in eLib
Package Diagram.
Presentation transcript:

Software Systems as Complex Networks by Hema Jayaprakash

Software Systems as Complex Networks - Outline Introduction Software UML Class Diagram Graphs by Sergi Valverde and Richard V.Sole Software Object Graphs by Alex Potanin Software Coupling Graphs by Richard Wheeldon and Steve Counsell Software Collaboration Graphs by Christopher R.Myers Software Coding Graphs by Michele Marchasi Conclusion

Introduction Software systems represent another important class of complex networks. Organized to be highly functional. Components of a large software application are very well connected. Organized to be highly evolvable. Design is a central element of software construction. Software systems need better ways of characterizing and controlling macroscopic properties.

Software UML Class Diagram Graphs by Sergi Valverde and Richard V.Sole – Software Graph Representation Source: Hierarchical Small Worlds in Software Architecture, Sergi Valverde and Richard V.Sole

Software UML Class Diagram Graphs by Sergi Valverde and Richard V.Sole - Analysis Static Analysis on Five UML Class Diagrams: ProRally 2002 – UbiSoft Entertainment Striker – UbiSoft Entertainment JDK-A JDK-B Mudsi – Distributed Java Application 29 Class Diagrams

Software UML Class Diagram Graphs by Sergi Valverde and Richard V.Sole – Topological Measurements Source: Hierarchical Small Worlds in Software Architecture, Sergi Valverde and Richard V.Sole

Software UML Class Diagram Graphs by Sergi Valverde and Richard V.Sole – software Cost and Size Source: Hierarchical Small Worlds in Software Architecture, Sergi Valverde and Richard V.Sole

Software UML Class Diagram Graphs by Sergi Valverde and Richard V.Sole – Evolution of mean degree, mean path length and clustering Coeffcient of Prorally 2002 Source: Hierarchical Small Worlds in Software Architecture, Sergi Valverde and Richard V.Sole

Software Object Graphs by Alex Potanin – Simple object graph of linked list Source: Scale-Free Geometry in OO Programs, Alex Potanin, James Noble, Marcus Frean and Robert Biddle

Software Object Graphs by Alex Potanin – OO Analysis Heap Profiler Library and JVM Profiler – 60 object graphs from 35 programs. Java Heap Analysis Tool – Properties of the programs object graphs. HAT is a program that analyzes a heap dump file for Java programs. This tool can help a developer to debug and analyze the objects in a running Java program. It is particularly useful when debugging unintentional object retention.

Software Object Graphs by Alex Potanin – Power Laws in Object Graphs Source: Scale-Free Geometry in OO Programs, Alex Potanin, James Noble, Marcus Frean and Robert Biddle

Software Coupling Graphs by Richard Wheeldon and Steve Counsell – Software coupling and their graphs Source: Power Law Distributions in Class Relationships, Richard Wheeldon and Steve Counsell

Software Coupling Graphs by Richard Wheeldon and Steve Counsell - Analysis Autocode – index java code Three Large Java Systems JDK – Version 1.4 has 1,400,000 lines of code spread over 6000 classes Apache Ant – Version has 1,45,000 lines of code apread over 500 classes Tomcat – Version 4.0 has 1,50,000 lines spread over 370 classes

Software Coupling Graphs by Richard Wheeldon and Steve Counsell - Methods, Fields and Constructors No strong Correlation. Number of methods cant be found by using number of fields or constructors. Source: Power Law Distributions in Class Relationships, Richard Wheeldon and Steve Counsell

Software Coupling Graphs by Richard Wheeldon and Steve Counsell – Coupling Power Laws for JDK, Tomcat and Ant Source: Power Law Distributions in Class Relationships, Richard Wheeldon and Steve Counsell

Software Collaboration Graphs by Christopher R.Myers – Class Collaboration Graph Source: Software Systems as Complex Networks: structure, function and evolvability of software collaboration graphs, Christopher R.Myers

Software Collaboration Graphs by Christopher R.Myers - Analysis Doxygen - an automatic document generation tool that parses C++ header files to describe classes, their methods, inheritance, and collaborations. Six open-source software systems VTK visualization library Digital Material AbiWord Linux MySQL XMMS.

Software Collaboration Graphs by Christopher R.Myers – Connected Components Source: Software Systems as Complex Networks: structure, function and evolvability of software collaboration graphs, Christopher R.Myers (a) number of nodes in each graph, (b) number of edges in each graph, (c) number of WCCs, (d) number of nodes in the largest WCC, (e) number of edges in the largest WCC, (f) number of SCCs, (g) number of nodes the largest SCC, (h) number of edges in the largest SCC, and (i) the fraction of nodes belonging to any SCC.

Software Collaboration Graphs by Christopher R.Myers – Degree Distributions Source: Software Systems as Complex Networks: structure, function and evolvability of software collaboration graphs, Christopher R.Myers (a) VTK (b) Digital Material (c) AbiWord (d) Linux (e) MySQL (f) XMMS.

Software Collaboration Graphs by Christopher R.Myers – Clustering Coefficients Source: Software Systems as Complex Networks: structure, function and evolvability of software collaboration graphs, Christopher R.Myers (a) VTK (b) Digital Material (c) AbiWord (d) Linux (e) MySQL (f) XMMS.

Software Collaboration Graphs by Christopher R.Myers – Complexity Measures Source: Software Systems as Complex Networks: structure, function and evolvability of software collaboration graphs, Christopher R.Myers

Software Collaboration Graphs by Christopher R.Myers – Evolution History of VTK System Source: Software Systems as Complex Networks: structure, function and evolvability of software collaboration graphs, Christopher R.Myers

Software Coding Graphs by Michele Marchasi – Code and its graph

Software Coding Graphs by Michele Marchasi – CK Software OO Metics Source: Power-Laws in a Large Object-Oriented Software System, Giulio Concas, Michele Marchasi, Sandro Pinna and Nicola Serra

Software Coding Graphs by Michele Marchasi – OO Systems Studied Source: Agile Group – DIEE, Università degli studi di Cagliari

Software Coding Graphs by Michele Marchasi - Results Source: Power-Laws in a Large Object-Oriented Software System, Giulio Concas, Michele Marchasi, Sandro Pinna and Nicola Serra

Software Coding Graphs by Michele Marchasi - Results Source: Power-Laws in a Large Object-Oriented Software System, Giulio Concas, Michele Marchasi, Sandro Pinna and Nicola Serra

Topology Representation of Networked Software Architecture – Partial Kernel Functions of Linux V0.12

Topology Representation of Networked Software Architecture – All Kernel Functions of Linux V0.12

Topology Representation of Networked Software Architecture – Apache Tomcat Version

Conclusion Hierarchical Small Worlds in Software Architecture using UML Class Diagrams Scale-Free Geometry in OO Programs using Object Graphs Power Law distributions in Class Relationships using Software Coupling Graphs Structure, Function and Evolvability of Software Collaboration Graphs Power-Laws in a Large Object-Oriented Software System using the Code Graphs. Topological Representation of Software Architecture Networks.

Questions?