Shri G. S. Institute of Technology and Science, Indore Computer Engineering Department CO7185: Software Architecture Assignment – A: Reverse Engineering and Complexity [100 Points] Due Date: 17rd January 2014 Reverse Engineering OF Filezilla3.15 ASSIGNMENT STATUS Name : Rahul Mishra Assignment – A: Reverse Engineering and Complexity Date of submission: 17rd January 2014 Total numbers of problems/subprogram s completed : 1 out of 2 Problem 1: Statistics analysis: : 7out of 7 Problem 2: Measure Complexity: 1 out of 4 Problem1: Statistics analysis: How many files and there type? TOTAL NO OF FILES: 331 Type No of files C 61 C header file 139 C++ 123 HTML 1 XML 7 Note: .ico , .png and text files are not included during this analysis KLOC/MLOC/LOC Lines: 131304 Lines Blank: 17564 Lines Code: 88576 Lines Comment: 13486 Lines Inactive: 8373 Executable Statements: 47028 Declarative Statements:: 19150
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
Shri G. S. Institute of Technology and Science, Indore Computer Engineering Department
CO7185: Software Architecture
Assignment – A: Reverse Engineering and Complexity [100
Points] Due Date: 17rd January 2014
Reverse Engineering OF Filezilla3.15
ASSIGNMENT STATUS
Name : Rahul Mishra
Assignment – A: Reverse Engineering and Complexity
Date of submission: 17rd January 2014
Total numbers of problems/subprogram s completed : 1 out of 2
Problem 1: Statistics analysis: : 7out of 7
Problem 2: Measure Complexity: 1 out of 4
Problem1: Statistics analysis:
How many files and there type?
TOTAL NO OF FILES: 331
Type No of files C 61
C header file 139
C++ 123
HTML 1
XML 7
Note: .ico , .png and text files are not included during this analysis
KLOC/MLOC/LOC
Lines: 131304
Lines Blank: 17564
Lines Code: 88576
Lines Comment: 13486
Lines Inactive: 8373
Executable Statements: 47028
Declarative Statements:: 19150
Number of classes/packages
NO of classes=265
No of package=8
Abstract level class diagram/system diagram:
See file :umlclassdiaggraph.png
Draw the system Architecture diagram.
See file: ArchitectureGraph-filezilla-3-1-5.png
• Maximum depth of inheritance and
• Average number of:
• Method per class
• Inheritance
• Attributes per class
• Dependability
• etc.
Class LCO
M
(Perc
ent
Lack
of
Cohe
sion)
DIT
(Max
Inheri
tance
Tree)
IFA
NIN
(Co
unt
of
Bas
e
Clas
ses)
CB
O
(Co
unt
of
Cou
pled
Clas
ses)
NO
C
(Co
unt
of
Deri
ved
Clas
ses)
RFC
(Cou
nt of
All
Met
hods
)
NIM
(Cou
nt of
Insta
nce
Met
hods
)
NIV
(Cou
nt of
Insta
nce
Varia
bles)
WM
C
(Cou
nt of
Met
hods
)
CAboutDialog 100 2 1 1 0 32 5 1 5
CActiveNotification 50 1 1 0 0 7 4 1 4
CAsyncRequestNotification 100 1 1 0 4 7 4 1 4
CAsyncRequestQueue 72 1 1 17 0 11 10 4 10
CAutoAsciiFiles 33 0 0 3 0 3 0 0 3
CBackend 83 1 1 2 3 13 6 1 6
CBuildInfo 0 0 0 1 0 11 1 0 11
CCancelCommand 0 1 1 0 0 6 2 0 2
CCapabilities 0 0 0 2 0 4 4 1 4
CCertificateNotification 78 2 1 1 0 26 19 16 19
CChangedFileDialog 0 2 1 0 0 31 4 0 4
CChangeDirOpData 60 1 1 1 2 4 2 5 2
CChmodCommand 66 1 1 1 0 10 6 3 6
CChmodDialog 84 2 1 1 0 41 14 9 14
CClearPrivateDataDialog 66 2 1 9 0 36 8 2 9
CColumnEditDialog 90 2 1 0 0 32 5 2 5
CComboBoxEx 0 1 1 1 0 18 18 0 18
CCommand 0 0 0 0 11 4 4 0 4
CCommandLine 0 0 0 1 0 6 6 1 6
CComparableListing 83 0 0 2 1 14 14 4 14
CComparisonManager 45 0 0 5 0 6 6 4 6
CConditionalDialog 83 1 1 1 0 10 6 2 6
CConnectCommand 60 1 1 1 0 9 5 2 5
CConnectOpData 100 1 1 0 1 3 1 2 1
CControlSocket 89 1 2 20 2 55 50 13 50
CDataNotification 37 1 1 0 0 7 4 2 4
CDefaultFileExistsDlg 33 2 1 1 0 33 4 0 6
CDeleteCommand 60 1 1 2 0 9 5 2 5
CDirectoryCache 81 0 0 7 0 19 19 0 19
CDirectoryCache::CCacheEnt
ry
25 0 0 5 0 4 4 4 4
CDirectoryCache::CServerEnt
ry
0 0 0 2 0 0 0 2 0
CDirectoryListing 54 0 0 9 0 13 13 9 13
CDirectoryListingNotification 66 1 1 1 0 9 6 3 6
CDirectoryListingParser 85 0 0 13 0 30 30 10 30
CDirectoryListingParserTest 90 1 1 8 0 10 10 2 10
CDirentry 0 0 0 1 0 2 2 11 2
CDisconnectCommand 0 1 1 0 0 6 2 0 2
CDragDropManager 77 0 0 3 0 5 3 6 5
CEditHandler 84 1 1 9 0 42 39 5 41
CEditHandlerStatusDialog 96 2 1 4 0 36 9 3 9
CEncryptionIndicator 50 1 1 1 0 2 2 1 2
CExportDialog 0 2 1 5 0 29 2 2 2
CExternalIPResolver 81 1 1 4 0 19 16 19 16
CFileExistsDlg 83 2 1 6 0 38 11 13 11
CFileExistsNotification 80 2 1 2 0 10 3 12 3
CFileItem 87 1 1 10 1 36 19 17 19
CFileListCtrl 84 2 2 11 2 91 29 16 29
CFileListCtrl::CSortComparis
onObject
0 1 1 1 0 3 3 1 3
CFilelistStatusBar 82 1 1 0 0 34 28 10 28
CFileTransferCommand 75 1 1 1 0 12 8 5 8
CFileTransferOpData 63 1 1 3 3 4 2 11 2
CFileZillaApp 86 1 1 14 0 24 23 7 23
CFileZillaEngine 0 2 1 22 0 46 14 0 14
CFileZillaEnginePrivate 85 1 1 34 1 32 31 16 31
CFilter 50 0 0 1 0 2 2 6 2
CFilterCondition 45 0 0 0 0 4 4 6 4
CFilterControls 0 0 0 0 0 2 2 4 2
CFilterDialog 79 2 2 11 0 52 17 10 17
CFilterEditDialog 81 2 1 7 0 52 25 13 25
CFilterManager 47 0 0 7 1 8 4 0 8
CFilterSet 0 0 0 1 0 0 0 3 0
CFolderItem 0 2 1 4 0 41 5 0 5
CFolderScanItem 82 1 1 4 0 26 9 10 9
CFtpChangeDirOpData 50 2 1 0 0 6 2 1 2
CFtpChmodOpData 50 1 1 1 0 4 2 2 2
CFtpControlSocket 93 3 1 49 0 137 66 16 66
CFtpDeleteOpData 58 1 1 3 0 4 2 6 2
CFtpFileTransferOpData 25 2 2 1 0 7 2 2 2
CFtpListOpData 55 1 2 4 0 5 2 10 2
CFtpLogonOpData 55 2 1 1 0 5 2 9 2
CFtpRemoveDirOpData 75 1 1 1 0 4 2 4 2
CFtpRenameOpData 50 1 1 1 0 4 2 2 2
CFtpTransferOpData 0 0 0 0 2 1 1 4 1
CGenericFileData 0 0 0 1 1 0 0 3 0
CHostKeyNotification 72 2 1 0 0 13 6 6 6
CHttpConnectOpData 100 1 1 0 0 4 2 2 2
CHttpControlSocket 81 3 1 17 0 93 22 3 22
CHttpFileTransferOpData 0 2 2 1 0 7 2 1 2
CHttpOpData 27 0 0 1 1 1 1 11 1
CIconPreview 100 1 1 2 0 7 7 4 7
CImportDialog 77 2 1 8 0 36 9 2 9
CInfoText 57 1 1 0 0 7 7 2 7
CInputDialog 79 2 1 1 0 39 12 4 12
CInteractiveLoginNotification 66 2 1 1 0 11 4 3 4
CInterProcessMutex 35 0 0 1 0 7 7 2 7
CIOThread 64 1 1 3 0 19 13 17 13
CIOThreadEvent 0 1 1 0 0 3 2 0 2
CIPAddressTest 0 1 1 0 0 10 10 0 10
CItemData 0 1 1 1 0 1 1 1 1
CLed 66 1 1 3 0 8 8 6 8
CLine 25 0 0 2 0 4 4 5 4
CListCommand 70 1 1 1 0 14 10 5 10
CListViewSort 0 0 0 0 2 2 2 0 2
CLocalFileData 0 1 1 1 0 0 0 6 0
CLocalFileSystem 68 0 0 5 0 12 7 5 12
CLocalListView 94 3 3 26 0 136 38 8 38
CLocalListViewDropTarget 62 1 1 8 0 8 8 4 8
CLocalListViewSort 81 1 1 3 4 10 8 2 8
CLocalListViewSortName 0 2 1 3 0 12 2 0 2
CLocalListViewSortSize 0 2 1 3 0 12 2 0 2
CLocalListViewSortTime 0 2 1 3 0 12 2 0 2
CLocalListViewSortType 0 2 1 5 0 12 2 1 2
CLocalTreeView 94 1 3 15 0 67 29 8 29
CLocalTreeViewDropTarget 70 1 1 5 0 10 10 4 10
CLocalViewHeader 83 2 2 3 0 22 6 1 6
CLogging 0 0 0 3 1 4 4 1 4
CLoginManager 50 0 0 5 0 4 3 1 4
CLogmsgNotification 100 1 1 0 0 6 3 2 3
CMainFrame 93 1 1 75 0 76 72 54 72
CMainFrameStateEventHandl
er
0 1 1 3 0 5 2 1 2
CManualTransfer 89 2 1 9 0 46 19 10 19
CMkdirCommand 50 1 1 1 0 8 4 1 4
CMkdirOpData 62 1 1 2 0 4 2 4 2
CNetConfWizard 84 1 2 5 0 44 28 20 28
CNotification 0 0 0 0 8 3 3 0 3
COpData 40 0 0 0 18 2 2 5 2
COperationNotification 100 1 1 0 0 6 3 2 3
COptions 85 1 2 9 0 32 23 5 26
COptionsBase 0 0 0 0 1 5 5 0 5
COptionsPage 89 1 1 3 18 27 23 3 23
COptionsPageConnection 100 2 1 2 0 33 6 1 6
COptionsPageConnectionActi
ve
100 2 1 1 0 34 7 2 7
COptionsPageConnectionFTP 0 2 1 1 0 30 3 0 3
COptionsPageConnectionPass
ive
0 2 1 1 0 31 4 0 4
COptionsPageConnectionSFT
P
84 2 1 4 0 44 17 3 17
COptionsPageDateFormatting 0 2 1 1 0 34 7 0 7
COptionsPageDebug 0 2 1 1 0 31 4 0 4
COptionsPageEdit 100 2 1 1 0 33 6 1 6
COptionsPageFileExists 0 2 1 2 0 31 4 0 4
COptionsPageFiletype 100 2 1 1 0 37 10 3 10
COptionsPageFtpProxy 100 2 1 2 0 35 8 3 8
COptionsPageInterface 100 2 1 3 0 33 6 1 6
COptionsPageLanguage 66 2 1 3 0 33 6 1 6
COptionsPageLogging 0 2 1 1 0 31 4 0 4
COptionsPageProxy 100 2 1 1 0 34 7 2 7
COptionsPageSizeFormatting 0 2 1 0 0 39 12 0 12
COptionsPageThemes 100 2 1 4 0 36 9 1 9
COptionsPageTransfer 0 2 1 1 0 31 4 0 4
CPathCache 71 0 0 3 0 8 7 0 8
CPathCache::CSourcePath 0 0 0 1 0 1 1 2 1
CProxySocket 79 2 3 6 0 33 16 16 16
CQueue 83 2 1 6 0 17 12 3 12
CQueueItem 71 0 0 2 4 17 17 6 17
CQueueView 93 3 1 51 0 142 67 26 67
CQueueViewBase 87 2 1 11 2 75 27 13 27
CQueueViewDropTarget 66 1 1 7 0 6 6 4 6
CQueueViewFailed 100 3 1 9 1 83 8 1 8
CQueueViewSuccessful 50 4 1 3 0 87 4 1 4
CQuickconnectBar 74 1 1 8 0 17 13 7 13
CRateLimiter 74 1 1 4 0 12 9 6 11
CRateLimiterObject 50 0 0 1 2 7 7 2 7
CRawCommand 50 1 1 0 0 8 4 1 4
CRawCommandOpData 0 1 1 0 0 3 1 1 1
CRawTransferOpData 57 1 1 1 0 3 1 7 1
CRealControlSocket 60 2 2 10 2 71 13 5 13
CRecentServerList 0 0 0 6 0 3 0 0 3
CRecursiveOperation 65 1 1 17 0 18 15 9 15
CRecursiveOperation::CNew
Dir
50 0 0 1 0 1 1 8 1
CReentrantInterProcessMutex
Locker
0 0 0 2 0 2 2 1 2
CRefcountObject 62 0 0 0 0 12 12 4 12
CRefcountObject_Uninitialize
d
62 0 0 0 0 17 17 3 17
CRemoteDataObject 55 1 1 6 0 12 12 6 12
CRemoteListView 91 3 3 39 0 144 46 11 46
CRemoteListViewDropTarget 62 1 1 17 0 8 8 4 8
CRemoteListViewSort 75 1 1 2 6 8 6 2 6
CRemoteListViewSortName 0 2 1 4 0 10 2 0 2
CRemoteListViewSortOwner
Group
0 2 1 4 0 10 2 0 2
CRemoteListViewSortPermis
sions
0 2 1 4 0 10 2 0 2
CRemoteListViewSortSize 0 2 1 4 0 10 2 0 2
CRemoteListViewSortTime 0 2 1 4 0 10 2 0 2
CRemoteListViewSortType 0 2 1 6 0 10 2 2 2
CRemoteTreeView 93 1 3 28 0 70 32 10 32
CRemoteTreeViewDropTarge
t
66 1 1 10 0 9 9 4 9
CRemoteViewHeader 50 2 2 7 0 22 6 2 6
CRemoveDirCommand 60 1 1 1 0 9 5 2 5
CRenameCommand 71 1 1 1 0 11 7 4 7
CReverseSort 0 1 1 4 0 2 2 0 2
CReverseSort 0 1 1 3 0 2 2 0 2
CServer 85 0 0 4 0 54 43 16 54
CServerCapabilities 0 0 0 4 0 4 0 0 4
CServerItem 71 1 1 8 0 36 19 3 19
CServerPath 34 0 0 5 0 31 31 3 31
CServerPathData 16 0 0 1 0 3 3 2 3
CServerPathTest 0 1 1 1 0 18 18 0 18
CSettingsDialog 76 2 1 9 0 37 10 6 10
CSftpChangeDirOpData 0 2 1 0 0 4 0 0 0
CSftpChmodOpData 50 1 1 1 0 4 2 2 2
CSftpConnectOpData 16 1 1 0 0 4 2 3 2
CSftpControlSocket 93 2 2 39 0 115 53 8 53
CSftpDeleteOpData 50 1 1 3 0 4 2 5 2
CSftpEncryptioInfoDialog 0 0 0 2 0 2 2 0 2
CSftpEncryptionNotification 100 1 1 0 0 4 1 7 1
CSftpFileTransferOpData 0 2 1 0 0 5 1 0 1
CSftpInputThread 59 1 1 6 0 14 8 4 8
CSftpListOpData 57 1 1 3 0 4 2 7 2
CSftpRemoveDirOpData 75 1 1 1 0 4 2 2 2
CSftpRenameOpData 50 1 1 1 0 4 2 2 2
CShellExt 70 1 2 0 0 6 6 4 6
CShellExtClassFactory 85 1 1 1 0 7 7 1 7
CSiteManager 96 2 1 26 0 72 37 16 45
CSiteManagerDataObject 0 1 1 0 0 4 4 0 4
CSiteManagerDropTarget 50 1 1 4 0 9 9 2 9
CSiteManagerItemData 75 1 1 2 0 2 2 4 2
CSiteManagerXmlHandler 0 0 0 1 3 4 4 0 4
CSiteManagerXmlHandler_B
yPath
26 1 1 3 0 9 5 3 5
CSiteManagerXmlHandler_M
enu
40 1 1 3 0 9 5 4 5
CSiteManagerXmlHandler_Tr
ee
19 1 1 4 0 9 5 5 5
CSocket 79 1 1 12 0 29 21 8 28
CSocketBackend 16 2 2 5 0 20 6 1 6
CSocketEvent 60 0 0 2 0 7 7 5 7
CSocketEventDispatcher 53 1 1 6 0 9 7 3 8
CSocketEventHandler 0 0 0 2 5 3 3 0 3
CSocketEventSource 0 0 0 1 4 1 1 0 1
CSocketThread 61 1 1 5 0 19 13 13 13
CState 82 0 0 19 0 31 26 9 31
CStateEventHandler 33 0 0 1 8 3 3 1 3
CStatusBar 70 2 1 8 0 28 10 7 10
CStatusItem 0 1 1 0 0 20 3 0 3
CStatusLineCtrl 81 1 1 9 0 17 17 7 17
CStatusView 78 1 1 7 0 13 13 12 13
CSystemImageList 25 0 0 4 4 4 4 2 4
CThemeProvider 80 1 1 6 0 13 3 1 10
CTimeEx 50 0 0 1 0 10 9 2 10
CTlsSocket 82 2 3 10 0 47 28 21 30
CToken 64 0 0 0 0 14 14 7 14
CTransferSocket 74 1 2 20 0 28 24 19 24
CTransferStatus 0 0 0 1 0 0 0 6 0
CTransferStatusNotification 25 1 1 1 0 7 4 1 4
CTreeItemData 0 1 1 0 0 1 1 1 1
CVerifyCertDialog 70 0 0 11 0 10 10 3 10
CView 72 1 1 2 0 11 11 3 11
CViewHeader 78 1 1 3 2 13 12 6 13
CWindowStateManager 50 1 1 2 0 8 6 4 7
CWrapEngine 87 0 0 9 2 16 15 4 16
CXmlFile 58 0
fzExternalIPR
esolveEvent
0 1 1 0 0 3 2 0 2
TiXmlAttribute 73 1 1 3 0 52 26 5 26
TiXmlAttributeSet 25 0 0 2 0 12 12 1 12
TiXmlBase 91 0 0 3 2 26 11 2 26
TiXmlComment 0 2 1 4 0 102 12 0 12
TiXmlDeclaration 56 2 1 5 0 106 16 3 16
TiXmlDocument 81 2 1 6 0 120 30 6 30
TiXmlElement 42 2 1 7 0 118 28 1 28
TiXmlHandle 21 0 0 4 0 19 19 1 19
TiXmlNode 86 1 1 8 6 90 64 7 64
TiXmlOutStream 0 1 1 0 0 33 2 0 2
TiXmlParsingData 22 0 0 2 0 3 3 3 3
TiXmlPrinter 67 1 1 10 0 27 18 5 18
TiXmlString 76 0 0 0 1 31 31 1 31
TiXmlText 57 2 1 4 0 104 14 1 14
TiXmlUnknown 0 2 1 4 0 101 11 0 11
TiXmlVisitor 0 0 0 7 1 9 9 0 9
wxAuiNotebookEx 0 1 1 0 1 5 5 0 5
wxAuiTabArtEx 50 1 1 1 0 3 2 0 2
wxCustomHeightListCtrl 67 1 1 3 0 16 16 4 16
wxDialogEx 0 1 2 1 16 27 7 0 7
wxFzEngineEvent 50 1 1 0 0 3 2 2 2
wxFzEvent 0 1 1 0 0 4 3 0 3
wxImageListEx 0 1 1 0 0 6 4 0 4
wxListCtrlEx 83 1 1 5 2 48 32 5 32
wxRemoteDataFormat 0 1 1 0 0 1 1 0 1
wxStatusBarEx 72 1 1 1 1 18 12 3 12
wxThreadEx 61 0 0 2 3 6 6 7 6
wxThreadExImpl 50 1 1 1 0 4 4 1 4
wxToolBarXmlHandlerEx 41 1 1 2 0 4 3 2 4
PROBLE 2: Measure Complexity
McCabe Cyclomatic complexity
Kind Name File AvgCyclomatic
Struct AESContext sshaes.c 0
Class CAboutDialog aboutdialog.h 4
Class CActiveNotification notification.h 1
Abstract Class CAsyncRequestNotification notification.h 1