Top Banner
Functional Analysis of Functional Analysis of Large Software Large Software Networks Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto
13

Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Dec 29, 2015

Download

Documents

Phebe Dean
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Functional Analysis of Large Functional Analysis of Large Software NetworksSoftware Networks

Natasa Przulj, Gordon Lee and Igor JurisicaIBM CAS, University of Toronto

Page 2: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Overview:Overview:

Software Call GraphsModels of Large NetworksProperties of a Software Network (PSQL):

Preliminary ResultsBugs versus Network PropertiesFuture Work

Page 3: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Software Call GraphsSoftware Call Graphs

PSQL 7.3 Call Graph (R. Holt, J. Wu)

Page 4: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Models of Large NetworksModels of Large Networks Random Graphs (Erdos, Renyi) Generalized Random Graphs (Bander, Canfield) Small-World (Watts, Strogatz; Newman, Watts) Scale-Free (Simon; Barabasi, Albert, Jeong)

Strogatz, Nature,

410

Page 5: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Properties of Large Networks:Properties of Large Networks: Degree distribution Diameter Clustering

Degree distrib. ex. (NSW, Phys Rev E, 64):

Page 6: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

# Nodes of PSQL 7.0, 7.1, 7.2, 7.3: 4639, 5127, 5568, 5996

# Edges of PSQL 7.0, 7.1, 7.2, 7.3: 17010, 19790, 21616, 23802

Degree Distribution Shortest Path Length Distribution

Page 7: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Graph PropertiesGraph Properties

Page 8: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Bug ReportsBug Reports•PSQL: no proper database of bug reports (severity…) - limitation•Used Google Web APIs to search (Ben Vitale)•http://archives.postgresql.org/, http://developer.postgresql.org/

With Bug Reports

Page 9: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Lines of Code (LOC)Lines of Code (LOC)

Page 10: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

LOC Statistics for graph groups for PSQL 7.3:

Page 11: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.
Page 12: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Future WorkFuture Work

Properties of SW call graphs to aid identifying buggy modules

SW Design versus Network StructureOverlap of network clusters with “natural

modules”CAS interested in similar analysis on DB2

Page 13: Functional Analysis of Large Software Networks Natasa Przulj, Gordon Lee and Igor Jurisica IBM CAS, University of Toronto.

Thanks:Thanks:

Igor Jurisica (supervisor, U of Toronto) Derek Corneil (supervisor, U of Toronto) Gordon Lee (IBM CAS) Ric Holt (U of Waterloo) Grad students: Jingwey Wu, Benjamin Vitale,

Wayne Hayes, Daniela Rosu, Cristiana Chitic, Travis Gagie, Robert Vracaric, Nina Przulj

IBM Center for Advanced Studies (CAS)