Thesis Abstruct

TAMPERE UNIVERSITY OF TECHNOLOGY
Faculty of Computing and Electrical Engineering
Department of Software Systems

Syeed, Mahbubul: Tools to Support Analysis of Open Source Software Projects  
Examiner: Prof. Tarja Systä (TUT), Dr. Tech. Timo Aaltonen (TUT)
April 2010

Keywords:  Open  Source  Software,  Reverse  Engineering,  Social  Network  Analysis, Knowledge Network. 

Open  Source  is  currently  a  well  exercised  and  established  approach  for  developing quality  software  products.  An  open  source  software  (OSS)  community  consists  of developers  along  with  a  large  user  community.  Often  people  in  this  community  are  geographically distributed  having  language,  culture  and  time  zone  differences.  Due  to this  distributed  nature  of  open  source  projects,  OSS  community  does  not  have  the conventional  organizational  structure  and  formal  working  procedure.  Rather,  OSS community maintains a rich repository, which consists of different versions of the source code, software artifacts, development history and  community contributions in the form of bug  reports,  mailing  lists  and  revision  history logs.  Analyzing  and  comprehending these  sources  of  an  OSS  project  will  help  in  understanding  the  software  architecture, overall community structure and their interrelationship. Also, for a new potential user, as well  as  for  the  developer  belonging  to  the  community,  understanding  both  of  these aspects is important. At present, approaches used can be classified along two main lines: reverse  engineering  (RE)  and  social  network  analysis  (SNA).  However,  traditional reverse  engineering  tools  fall  short  in  providing  support  for  comprehending  the community structure of OSS projects whereas SNA approaches ignore the code base and analysis of its structure. 

In  this  thesis  work,  a  tool,  Binoculars  was  implemented.  It  employs  the  combined approach of reverse engineering and SNA techniques to analyze and  comprehend  OSS projects. The applicability of this tool is demonstrated by analyzing a well-known and active open source project, FFMpeg. The tool is able to  answer questions that involve both the community and software dimensions.