SlideShare a Scribd company logo
A SEMI-AUTOMATED PROCESS
  FOR OPEN SOURCE CODE
  REUSE


                        APOSTOLOS KRITIKOS
                      GEORGE KAKARONTZAS
                           IOANNIS STAMELOS


   PARTIALLY FUNDED BY THE EUROPEAN COMMISSION IN
              THE CONTEXT OF THE OPEN-SME PROJECT




ARISTOTLE UNIVERSITY OF THESSALONIKI     INFORMATICS DEPT.   ENASE 2010   JULY 23rd, 2010
Who is reusing code ?
Individual developers
hobbyists
freelancers
and...
Software COmpanies
Why ?
To avoid reinventing the wheel
Most classic components
        are out there (www)
      ( reuse of floss code )


code createD can be used as a base to
      Future project requests
      ( reuse of legacy code )
Free / Libre
Open Source
  Software

  ( FLOSS )
Model of COLLABORATIVE DEVELOPMENT
            ( software )


made AVAILABLE ON-LINE and for FREE
        Many lines of code


   Let users Download this code


  Use / alter / even commercialize
          The derived work
WWW
WWW

POOL OF REUSABLE CODE
How do i reuse ?

  Any known recipes ?

Do they actually exist?
We need one anyway
A methodology

     or...
Maybe A process
But...
reusers
reusers

WHAT DO THEY WANT ?
REUSE CODE

  ADAPTING THE RETRIEVED CODE TO THE
     SYSTEM UNDER DEVELOPMENT



ADAPTING THE SYSTEM UNDER DEVELOPMENT
         TO THE RETRIEVED CODE
reusers
reusers

WHO ARE THEY ?
CAN BE

              Any DEVELOPER
           - IF A SYSTEMATIC
        REUSE PROCESS IS ABSENT -



 AN ACTUAL ENGINEER ASIGNED WITH THE TASK
     OF ADAPTING REUSABLE COMPONENTS
- IN MORE SYSTEMATIC REUSE APPROACHES -
REUSE PROCESS
             &
SOFTWARE PRODUCT'S LIFECYCLE
SOFTWARE PRODUCT'S
  LIFECYCLE PHASES
      1. CONCEPT
    2. DEVELOPMENT
    3. PRODUCTION
     4. UTILIZATION
    5. RETIREMENT
                      ISO/IEC 15288, 2002
SOFTWARE PRODUCT'S
  LIFECYCLE PHASES
      1. CONCEPT
    2. DEVELOPMENT
    3. PRODUCTION
     4. UTILIZATION
    5. RETIREMENT
                      ISO/IEC 15288, 2002
Reuse & floss components
Component
decomposition based
on the requirements

Requirement /
component tree

Possible alternation
of the tree
A process for
Open source code reuse
Code Reuse Presentation @ ENASE 2010
Search types
Search forges: e.g.
sourceforge

Search for trivial
code: source code
search engines
(krugle) or
classical search
engines (google)
Do i have to reuse?
And if i do...
CONCLUSIONS
A FIRST ATTEMPT TO PROVIDE A structured
  way of implementing reuse engineering


   Currently our model requires the
      presence of an expert for
           various decisions
FUTURE WORK
A FULLY AUTOMATED PROCESS WHERE NO
        EXPERT WILL BE NEEDED


  TRY MEASURING THE “FITNESS” OF A
REUSABLE COMPONENT WITH THE REST OF
  THE SYSTEM UNDER DEVELOPMENT
THANK YOU!




             akritiko@csd.auth.gr

More Related Content

PDF
Software Reuse: Towards coding sanity
PDF
Integrating IP Protection with Open Innovation Business Practices
PPT
Industrial IP Protection Levels
PPT
Value Driven IP Protection
PPTX
software reuse [PPT] 2.ppt seminar for btech
PPTX
Software reuse ppt.
PPT
Advanced Software Engineering.ppt
PPT
OO analysis_Lecture12.ppt
Software Reuse: Towards coding sanity
Integrating IP Protection with Open Innovation Business Practices
Industrial IP Protection Levels
Value Driven IP Protection
software reuse [PPT] 2.ppt seminar for btech
Software reuse ppt.
Advanced Software Engineering.ppt
OO analysis_Lecture12.ppt

Similar to Code Reuse Presentation @ ENASE 2010 (20)

PPT
Chapter -1.ppt
PPTX
Software engineering: design for reuse
PDF
PPTX
Reuse landscape
PPTX
Software Reuse: Challenges and Business Success
PPT
Software resuse
PDF
A Survey of Software Reusability
PPTX
software Engineering required documents for you
PPTX
Ch15 software reuse
PDF
Object Oriented Software Engineering and Software Reuse
PPTX
Ch15 - Software Reuse
PPTX
Lecture 5 reusability
PDF
Reusability in Enterprises
PPTX
Introduction to database m Chapter 9.pptx
PDF
Developing reusable software components for distributed embedded systems
PPT
Software Reuse
PPTX
Domain and Reuse Engineering.pptx
Chapter -1.ppt
Software engineering: design for reuse
Reuse landscape
Software Reuse: Challenges and Business Success
Software resuse
A Survey of Software Reusability
software Engineering required documents for you
Ch15 software reuse
Object Oriented Software Engineering and Software Reuse
Ch15 - Software Reuse
Lecture 5 reusability
Reusability in Enterprises
Introduction to database m Chapter 9.pptx
Developing reusable software components for distributed embedded systems
Software Reuse
Domain and Reuse Engineering.pptx
Ad

More from Apostolos Kritikos (11)

PDF
Open Source Software Resilience Framework
PDF
HealthyWP goes 5th UX Thessaloniki Meetup
PDF
ΠΣΠΘ 2017 - Και μετά τι;
PDF
Startup Weekend Thessaloniki 2017
PDF
Open Culture: Fractals of Freedom
ODP
Doing F/LOSS :: The Cathedral & the Bazaar
PDF
Keep calm and build the future
PDF
Open Data Hackathon - Howto Guide
PPTX
Android Development: A meta-learning approach
PDF
FLOSS my company... 'open' for business
PDF
Open Coffee Thessaloniki 20th meeting
Open Source Software Resilience Framework
HealthyWP goes 5th UX Thessaloniki Meetup
ΠΣΠΘ 2017 - Και μετά τι;
Startup Weekend Thessaloniki 2017
Open Culture: Fractals of Freedom
Doing F/LOSS :: The Cathedral & the Bazaar
Keep calm and build the future
Open Data Hackathon - Howto Guide
Android Development: A meta-learning approach
FLOSS my company... 'open' for business
Open Coffee Thessaloniki 20th meeting
Ad

Recently uploaded (20)

PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
Advanced methodologies resolving dimensionality complications for autism neur...
PDF
Machine learning based COVID-19 study performance prediction
DOCX
The AUB Centre for AI in Media Proposal.docx
PDF
Encapsulation_ Review paper, used for researhc scholars
PPTX
Machine Learning_overview_presentation.pptx
PDF
Diabetes mellitus diagnosis method based random forest with bat algorithm
PDF
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
PDF
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Unlocking AI with Model Context Protocol (MCP)
PPTX
MYSQL Presentation for SQL database connectivity
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
Per capita expenditure prediction using model stacking based on satellite ima...
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
PPTX
Programs and apps: productivity, graphics, security and other tools
20250228 LYD VKU AI Blended-Learning.pptx
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
Spectral efficient network and resource selection model in 5G networks
Advanced methodologies resolving dimensionality complications for autism neur...
Machine learning based COVID-19 study performance prediction
The AUB Centre for AI in Media Proposal.docx
Encapsulation_ Review paper, used for researhc scholars
Machine Learning_overview_presentation.pptx
Diabetes mellitus diagnosis method based random forest with bat algorithm
Architecting across the Boundaries of two Complex Domains - Healthcare & Tech...
Optimiser vos workloads AI/ML sur Amazon EC2 et AWS Graviton
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Unlocking AI with Model Context Protocol (MCP)
MYSQL Presentation for SQL database connectivity
gpt5_lecture_notes_comprehensive_20250812015547.pdf
Per capita expenditure prediction using model stacking based on satellite ima...
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
Reach Out and Touch Someone: Haptics and Empathic Computing
Build a system with the filesystem maintained by OSTree @ COSCUP 2025
Programs and apps: productivity, graphics, security and other tools

Code Reuse Presentation @ ENASE 2010

Editor's Notes

  • #31: The process depicted into this flowchart is trying to present the actions of a reuse engineer, from the point that receives the requirements for a new project to the one that delivers the final product. While I'll be presenting it to you, it might look familiar and obvious. The goal behind the flowchart is to gather all this obvious information in one place and organize it in a series of steps. After that, we would be able to focus on the parts of the process model that seem complex and confusing and thus, good research goals (something that we gladly show happening, when we received the reviewers comments)
  • #33: The process depicted into this flowchart is trying to present the actions of a reuse engineer, from the point that receives the requirements for a new project to the one that delivers the final product. While I'll be presenting it to you, it might look familiar and obvious. The goal behind the flowchart is to gather all this obvious information in one place and organize it in a series of steps. After that, we would be able to focus on the parts of the process model that seem complex and confusing and thus, good research goals (something that we gladly show happening, when we received the reviewers comments)
  • #34: The process depicted into this flowchart is trying to present the actions of a reuse engineer, from the point that receives the requirements for a new project to the one that delivers the final product. While I'll be presenting it to you, it might look familiar and obvious. The goal behind the flowchart is to gather all this obvious information in one place and organize it in a series of steps. After that, we would be able to focus on the parts of the process model that seem complex and confusing and thus, good research goals (something that we gladly show happening, when we received the reviewers comments)