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.

Code Reuse Presentation @ ENASE 2010

1,442 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

×