SlideShare uma empresa Scribd logo
1 de 2
Baixar para ler offline
Open Source Evolution Analysis

                                                               Izzat Alsmadi
                                                              Kenneth Magel
                                                      Department of computer science
                                                        North Dakota state university
                                                 {izzat.alsmadi, kenneth.magel}@ndsu.edu

                                                                       this model, the more we can tune its
                    ABSTRACT                                           assumptions and gain confident in its results.

                             Source code analysis is important                  The paper analyzes the results of
                    for software management. It enables us             some source code charts from selected open
                    recognize strengths and weaknesses in our          source available projects. Those projects
                    earlier projects or releases. We developed a       will be studied through selected number of
                    source code analysis tool. This tool gathers       their releases.
                    several metrics from C/C++, C# or Java
                    source codes. In this paper, we will use the       2. RELATED WORK
                    tool to analyze some of the open source code
                    projects. We will study the selected projects              Godfrey et al. studied the LOC
                    release evolutions and compare some                releases evolution for Linux[18].
                    characteristics between the same project           Capiluppi et al. suggested that
                    releases, as well as among different               understandability decreases as time
                    projects. Different programming language
                                                                       passes by, and focused on code and
                    code and development styles will be studied
                    through those open source projects.                module sizes [19]. Stroulia et al. used
                                                                       CVSChecker to study temporal source
                    General Terms                                      code      activities [20]. Marjanovic
                    Source code analysis.                              proposed a meta model framework for
                    Keywords                                           code release history Systems [21].
                    Open source, code metrics.                         Scacchi studied the game open source
                                                                       development practices[22]. Raja et al.
                    1. INTRODUCTION                                    explored some important software
                            The knowledge gathered by                  characteristics that      contribute to
                    software metrics plays an important role           consistent software quality in Linux
                    in software management. This knowledge             [23]. Moreno, et al. introduced Jeliot3 ,
                    can be used to build classification or             as a visual source code evaluation
                    proxy models that can be used toward               tool[13]. Graver evaluated object
                    future projects or releases. A software            oriented refactoring process and
                    metric tool helps us know the required             evolution of a compiler[14].
                    information to build such models. The
                                                                       3. SWMETRIC TOOL
                    metrics that are gathered need to be               SWMetric is a tool we developed to
                    compiled to make some hypothesis and
                                                                       gather metrics on the function and the
                    assumptions about the model. Using rules
                    similar to those rules used in data mining         class level. The tool can analyze code of
                    classification models, the more we apply           C/C++/C# or Java. It is originally



22nd IEEE International Conference on Software Maintenance (ICSM'06)
0-7695-2354-4/06 $20.00 © 2006
developed as part of a student research            size is used for declarations, method
                    project for Honeywell aviation division.           headers and global variable.
                                                                       3. Release vs. LOC/function
                    4. GOALS AND APPROACHES                                    Typically, programs should have
                                                                       a fixed size of functions of no more than
                    1. Study the relation between project              (20-30) LOC’s[9].
                    releases and LOC size variation. We first
                    studied how different projects LOC                          Some of the open source projects
                                                                       may have been developed by different
                    changes with the releases.
                                                                       individuals. An increase of the functions
                                                                       sizes with time indicates problems in
                             In traditional approaches, we             planning that are causing functions to
                    should not see much of new lines of                expand or inflate. Of the studied projects,
                    codes produced with the recent releases.           two show a relatively fixed amount of
                    The diagram, however, shows an                     LOC/function (~ 20) which may indicate
                    instability of the amount of new LOC               stable coding, better predictions and
                    produced, most of the projects tested,             management. The diagram shows a good
                    show an increase in a release and a                percent of projects that had and sustained a
                    decrease in the next one. However, this            fixed LOC/function.
                    is expected in the case of open source             4. MCDC and nesting per function
                    projects     where there is much of                         MCDC and nesting are indications
                                                                       of how many decisions and nodes are there
                    instability in terms of developers, their
                                                                       in each function. These are important values
                    abilities, available time and other                for software testing.
                    resources.                                         5. Code distribution. We studied code
                    2. Study the LOC efficiency and                    distribution through dividing code into three
                    Declaration Percent of the total code              parts : comment lines, declaration and global
                    size. Most of the projects studied have a          variable lines, and the last part is the rest of
                    steady LOC efficiency. This efficiency is          the source code.
                    almost the same for the different projects
                    and it also does not vary for most of the          5.CONCLUSION AND FUTURE WORK
                    time with releases progress. The                           We are willing to explore more
                    efficiency percentage for most projects            of the available open source codes in
                    is between 70-80 %.                                order to be able to make some
                                                                       hypotheses and be able to build software
                            Initially, in Software automation          classification models. We will make
                    development scenarios, we should have              more detailed studies to compare
                    a low efficiency, where most of the lines          individual to company coding styles, and
                    are counted in LOC , but not in SLOC,              the common or different characteristics
                    as they are automatically generated by a           of coding among the different
                    code generation tool. We should have an            programming languages.
                    increase for the efficiency with releases,         6. REFERENCES
                    or increase for SLOC lines from the total          1.    Free Software Foundation, 2006, 15 May
                    LOC lines.                                               2006. <http://directory.fsf.org/libs/c/>.
                                                                       2.    Open Watcom.org, 02-2006, 15 May
                            The Declaration percentage of                    2006. Openwatcom.org/ftp/source/>.
                    data declarations to the total code size           3.    Sun Microsystems, 05-2006.
                    indicates how much of the total code                     <http://java.sun.com/products/archive/>.




22nd IEEE International Conference on Software Maintenance (ICSM'06)
0-7695-2354-4/06 $20.00 © 2006

Mais conteúdo relacionado

Mais procurados

SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISofia Eu
 
Open Engineering Framework
Open Engineering FrameworkOpen Engineering Framework
Open Engineering FrameworkJohn Vogel
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...acijjournal
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Neelamani Samal
 
Sanjay kumar joshi
Sanjay kumar joshiSanjay kumar joshi
Sanjay kumar joshiSanjay Joshi
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTijseajournal
 
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Mariana de Azevedo Santos
 
Software Patterns
Software PatternsSoftware Patterns
Software Patternskim.mens
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...IJSEA
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilersijseajournal
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONijseajournal
 
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...ijfcstjournal
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplateJo Marques
 
Pointcut rejuvenation
Pointcut rejuvenationPointcut rejuvenation
Pointcut rejuvenationRavi Theja
 

Mais procurados (17)

SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESISOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
SOFIA Poster (Abstract) - ADK VLHCC 2010. INDRA/ESI
 
Open Engineering Framework
Open Engineering FrameworkOpen Engineering Framework
Open Engineering Framework
 
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
A Model To Compare The Degree Of Refactoring Opportunities Of Three Projects ...
 
Enase20.ppt
Enase20.pptEnase20.ppt
Enase20.ppt
 
Paper 55 final
Paper 55 finalPaper 55 final
Paper 55 final
 
Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012Software Engineering Sample Question paper for 2012
Software Engineering Sample Question paper for 2012
 
Sanjay kumar joshi
Sanjay kumar joshiSanjay kumar joshi
Sanjay kumar joshi
 
V2I6_IJERTV2IS60721
V2I6_IJERTV2IS60721V2I6_IJERTV2IS60721
V2I6_IJERTV2IS60721
 
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENTTHE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
THE UNIFIED APPROACH FOR ORGANIZATIONAL NETWORK VULNERABILITY ASSESSMENT
 
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...Similar Characteristics of Internal Software Quality Attributes for Object-Or...
Similar Characteristics of Internal Software Quality Attributes for Object-Or...
 
Software Patterns
Software PatternsSoftware Patterns
Software Patterns
 
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
STRUCTURAL VALIDATION OF SOFTWARE PRODUCT LINE VARIANTS: A GRAPH TRANSFORMATI...
 
Integrating profiling into mde compilers
Integrating profiling into mde compilersIntegrating profiling into mde compilers
Integrating profiling into mde compilers
 
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISONSTATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
STATISTICAL ANALYSIS FOR PERFORMANCE COMPARISON
 
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
A DECISION SUPPORT SYSTEM FOR ESTIMATING COST OF SOFTWARE PROJECTS USING A HY...
 
WhitePaperTemplate
WhitePaperTemplateWhitePaperTemplate
WhitePaperTemplate
 
Pointcut rejuvenation
Pointcut rejuvenationPointcut rejuvenation
Pointcut rejuvenation
 

Semelhante a Open source evolution analysis

Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a surveyNakul Sharma
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowMassimiliano Di Penta
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a surveyNakul Sharma
 
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...ijseajournal
 
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...ijseajournal
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsArnold Rudorfer
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...SBGC
 
20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptx20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptxJayaramB11
 
STATICMOCK : A Mock Object Framework for Compiled Languages
STATICMOCK : A Mock Object Framework for Compiled Languages STATICMOCK : A Mock Object Framework for Compiled Languages
STATICMOCK : A Mock Object Framework for Compiled Languages ijseajournal
 
A novel approach based on topic
A novel approach based on topicA novel approach based on topic
A novel approach based on topiccsandit
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models IJECEIAES
 
Survey paper
Survey paperSurvey paper
Survey paperIJASCSE
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qaAruna M
 
Coupling based structural metrics for measuring the quality of a software (sy...
Coupling based structural metrics for measuring the quality of a software (sy...Coupling based structural metrics for measuring the quality of a software (sy...
Coupling based structural metrics for measuring the quality of a software (sy...Mumbai Academisc
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile projectHarald Soevik
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADSayyada Ayesha
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship ChecklistRyan Polk
 
Extreme programming
Extreme programmingExtreme programming
Extreme programmingtuanvu8292
 

Semelhante a Open source evolution analysis (20)

Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
Put Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and HowPut Your Hands in the Mud: What Technique, Why, and How
Put Your Hands in the Mud: What Technique, Why, and How
 
Mapping and visualization of source code a survey
Mapping and visualization of source code a surveyMapping and visualization of source code a survey
Mapping and visualization of source code a survey
 
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
 
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
A DATA EXTRACTION ALGORITHM FROM OPEN SOURCE SOFTWARE PROJECT REPOSITORIES FO...
 
Fc25949950
Fc25949950Fc25949950
Fc25949950
 
Using Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product RequirementsUsing Evolutionary Prototypes To Formalize Product Requirements
Using Evolutionary Prototypes To Formalize Product Requirements
 
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
2012 ieee projects software engineering @ Seabirds ( Trichy, Chennai, Pondich...
 
20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptx20CB304 - SE - UNIT V - Digital Notes.pptx
20CB304 - SE - UNIT V - Digital Notes.pptx
 
STATICMOCK : A Mock Object Framework for Compiled Languages
STATICMOCK : A Mock Object Framework for Compiled Languages STATICMOCK : A Mock Object Framework for Compiled Languages
STATICMOCK : A Mock Object Framework for Compiled Languages
 
A novel approach based on topic
A novel approach based on topicA novel approach based on topic
A novel approach based on topic
 
Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models Finding Bad Code Smells with Neural Network Models
Finding Bad Code Smells with Neural Network Models
 
Asundi
AsundiAsundi
Asundi
 
Survey paper
Survey paperSurvey paper
Survey paper
 
Se chapter 1,2,3 2 mark qa
Se chapter 1,2,3   2 mark  qaSe chapter 1,2,3   2 mark  qa
Se chapter 1,2,3 2 mark qa
 
Coupling based structural metrics for measuring the quality of a software (sy...
Coupling based structural metrics for measuring the quality of a software (sy...Coupling based structural metrics for measuring the quality of a software (sy...
Coupling based structural metrics for measuring the quality of a software (sy...
 
Tech challenges in a large scale agile project
Tech challenges in a large scale agile projectTech challenges in a large scale agile project
Tech challenges in a large scale agile project
 
Reusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOADReusability Vs Extensibility and Methodologies in OOAD
Reusability Vs Extensibility and Methodologies in OOAD
 
Code Craftsmanship Checklist
Code Craftsmanship ChecklistCode Craftsmanship Checklist
Code Craftsmanship Checklist
 
Extreme programming
Extreme programmingExtreme programming
Extreme programming
 

Último

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024The Digital Insurer
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 

Último (20)

Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

Open source evolution analysis

  • 1. Open Source Evolution Analysis Izzat Alsmadi Kenneth Magel Department of computer science North Dakota state university {izzat.alsmadi, kenneth.magel}@ndsu.edu this model, the more we can tune its ABSTRACT assumptions and gain confident in its results. Source code analysis is important The paper analyzes the results of for software management. It enables us some source code charts from selected open recognize strengths and weaknesses in our source available projects. Those projects earlier projects or releases. We developed a will be studied through selected number of source code analysis tool. This tool gathers their releases. several metrics from C/C++, C# or Java source codes. In this paper, we will use the 2. RELATED WORK tool to analyze some of the open source code projects. We will study the selected projects Godfrey et al. studied the LOC release evolutions and compare some releases evolution for Linux[18]. characteristics between the same project Capiluppi et al. suggested that releases, as well as among different understandability decreases as time projects. Different programming language passes by, and focused on code and code and development styles will be studied through those open source projects. module sizes [19]. Stroulia et al. used CVSChecker to study temporal source General Terms code activities [20]. Marjanovic Source code analysis. proposed a meta model framework for Keywords code release history Systems [21]. Open source, code metrics. Scacchi studied the game open source development practices[22]. Raja et al. 1. INTRODUCTION explored some important software The knowledge gathered by characteristics that contribute to software metrics plays an important role consistent software quality in Linux in software management. This knowledge [23]. Moreno, et al. introduced Jeliot3 , can be used to build classification or as a visual source code evaluation proxy models that can be used toward tool[13]. Graver evaluated object future projects or releases. A software oriented refactoring process and metric tool helps us know the required evolution of a compiler[14]. information to build such models. The 3. SWMETRIC TOOL metrics that are gathered need to be SWMetric is a tool we developed to compiled to make some hypothesis and gather metrics on the function and the assumptions about the model. Using rules similar to those rules used in data mining class level. The tool can analyze code of classification models, the more we apply C/C++/C# or Java. It is originally 22nd IEEE International Conference on Software Maintenance (ICSM'06) 0-7695-2354-4/06 $20.00 © 2006
  • 2. developed as part of a student research size is used for declarations, method project for Honeywell aviation division. headers and global variable. 3. Release vs. LOC/function 4. GOALS AND APPROACHES Typically, programs should have a fixed size of functions of no more than 1. Study the relation between project (20-30) LOC’s[9]. releases and LOC size variation. We first studied how different projects LOC Some of the open source projects may have been developed by different changes with the releases. individuals. An increase of the functions sizes with time indicates problems in In traditional approaches, we planning that are causing functions to should not see much of new lines of expand or inflate. Of the studied projects, codes produced with the recent releases. two show a relatively fixed amount of The diagram, however, shows an LOC/function (~ 20) which may indicate instability of the amount of new LOC stable coding, better predictions and produced, most of the projects tested, management. The diagram shows a good show an increase in a release and a percent of projects that had and sustained a decrease in the next one. However, this fixed LOC/function. is expected in the case of open source 4. MCDC and nesting per function projects where there is much of MCDC and nesting are indications of how many decisions and nodes are there instability in terms of developers, their in each function. These are important values abilities, available time and other for software testing. resources. 5. Code distribution. We studied code 2. Study the LOC efficiency and distribution through dividing code into three Declaration Percent of the total code parts : comment lines, declaration and global size. Most of the projects studied have a variable lines, and the last part is the rest of steady LOC efficiency. This efficiency is the source code. almost the same for the different projects and it also does not vary for most of the 5.CONCLUSION AND FUTURE WORK time with releases progress. The We are willing to explore more efficiency percentage for most projects of the available open source codes in is between 70-80 %. order to be able to make some hypotheses and be able to build software Initially, in Software automation classification models. We will make development scenarios, we should have more detailed studies to compare a low efficiency, where most of the lines individual to company coding styles, and are counted in LOC , but not in SLOC, the common or different characteristics as they are automatically generated by a of coding among the different code generation tool. We should have an programming languages. increase for the efficiency with releases, 6. REFERENCES or increase for SLOC lines from the total 1. Free Software Foundation, 2006, 15 May LOC lines. 2006. <http://directory.fsf.org/libs/c/>. 2. Open Watcom.org, 02-2006, 15 May The Declaration percentage of 2006. Openwatcom.org/ftp/source/>. data declarations to the total code size 3. Sun Microsystems, 05-2006. indicates how much of the total code <http://java.sun.com/products/archive/>. 22nd IEEE International Conference on Software Maintenance (ICSM'06) 0-7695-2354-4/06 $20.00 © 2006