Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
ARISTOTLE UNIVERSITY OF THESSALONIKI INFORMATICS  DEPT. ENASE 2010 JULY 23 rd , 2010 A SEMI-AUTOMATED PROCESS FOR OPEN SOU...
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 proj...
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 ...
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 RETRIE...
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 REU...
REUSE PROCESS  & SOFTWARE PRODUCT'S LIFECYCLE
1. CONCEPT 2. DEVELOPMENT 3. PRODUCTION 4. UTILIZATION 5. RETIREMENT ISO/IEC 15288, 2002 SOFTWARE PRODUCT'S  LIFECYCLE PHA...
1. CONCEPT 2. DEVELOPMENT 3. PRODUCTION 4. UTILIZATION 5. RETIREMENT ISO/IEC 15288, 2002 SOFTWARE PRODUCT'S  LIFECYCLE PHA...
Reuse & floss components Component decomposition  based on the requirements Requirement / component tree Possible alternat...
A process for  Open source code reuse
 
Search types Search forges:  e.g. sourceforge Search for trivial code:  source code search engines (krugle)  or classical ...
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...
FUTURE WORK
A FULLY AUTOMATED PROCESS WHERE NO EXPERT WILL BE NEEDED TRY MEASURING THE “FITNESS” OF A REUSABLE COMPONENT WITH THE REST...
THANK YOU! [email_address] krap.gr/research (academic profile) @akritiko (twitter) ARISTOTLE UNIVERSITY OF THESSALONIKI IN...
Upcoming SlideShare
Loading in …5
×

Code Reuse Presentation @ ENASE 2010

1,439 views

Published on

The presentation of my publication "A semi-automated process for open source code reuse" presented at the Evaluation of Novel Approaches to Software Engineering (ENASE) 2010 conference.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Code Reuse Presentation @ ENASE 2010

  1. 1. ARISTOTLE UNIVERSITY OF THESSALONIKI INFORMATICS DEPT. ENASE 2010 JULY 23 rd , 2010 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
  2. 2. Who is reusing code ?
  3. 3. Individual developers
  4. 4. hobbyists
  5. 5. freelancers
  6. 6. and... Software COmpanies
  7. 7. Why ?
  8. 8. To avoid reinventing the wheel
  9. 9. 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 )
  10. 10. Free / Libre Open Source Software ( FLOSS )
  11. 11. 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
  12. 12. WWW
  13. 13. WWW POOL OF REUSABLE CODE
  14. 14. How do i reuse ? Any known recipes ? Do they actually exist?
  15. 15. We need one anyway
  16. 16. A methodology or...
  17. 17. Maybe A process
  18. 18. But...
  19. 19. reusers
  20. 20. reusers WHAT DO THEY WANT ?
  21. 21. REUSE CODE ADAPTING THE RETRIEVED CODE TO THE SYSTEM UNDER DEVELOPMENT ADAPTING THE SYSTEM UNDER DEVELOPMENT TO THE RETRIEVED CODE
  22. 22. reusers
  23. 23. reusers WHO ARE THEY ?
  24. 24. 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 -
  25. 25. REUSE PROCESS & SOFTWARE PRODUCT'S LIFECYCLE
  26. 26. 1. CONCEPT 2. DEVELOPMENT 3. PRODUCTION 4. UTILIZATION 5. RETIREMENT ISO/IEC 15288, 2002 SOFTWARE PRODUCT'S LIFECYCLE PHASES
  27. 27. 1. CONCEPT 2. DEVELOPMENT 3. PRODUCTION 4. UTILIZATION 5. RETIREMENT ISO/IEC 15288, 2002 SOFTWARE PRODUCT'S LIFECYCLE PHASES
  28. 28. Reuse & floss components Component decomposition based on the requirements Requirement / component tree Possible alternation of the tree
  29. 29. A process for Open source code reuse
  30. 31. Search types Search forges: e.g. sourceforge Search for trivial code: source code search engines (krugle) or classical search engines (google)
  31. 32. Do i have to reuse?
  32. 33. And if i do...
  33. 34. CONCLUSIONS
  34. 35. A FIRST ATTEMPT TO PROVIDE A structured way of implementing reuse engineering Currently our model requires the presence of an expert for various decisions
  35. 36. FUTURE WORK
  36. 37. 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
  37. 38. THANK YOU! [email_address] krap.gr/research (academic profile) @akritiko (twitter) ARISTOTLE UNIVERSITY OF THESSALONIKI INFORMATICS DEPT. ENASE 2010 JULY 23 rd , 2010

×