code reuse presentation @ enase 2010

38
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

Upload: apostolos-kritikos

Post on 01-Nov-2014

1.279 views

Category:

Technology


0 download

DESCRIPTION

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.

TRANSCRIPT

  • 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. Who is reusing code ?
  • 3. Individual developers
  • 4. hobbyists
  • 5. freelancers
  • 6. and... Software COmpanies
  • 7. Why ?
  • 8. To avoid reinventing the wheel
  • 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. Free / Libre Open Source Software ( FLOSS )
  • 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. WWW
  • 13. WWW POOL OF REUSABLE CODE
  • 14. How do i reuse ? Any known recipes ? Do they actually exist?
  • 15. We need one anyway
  • 16. A methodology or...
  • 17. Maybe A process
  • 18. But...
  • 19. reusers
  • 20. reusers WHAT DO THEY WANT ?
  • 21. REUSE CODE ADAPTING THE RETRIEVED CODE TO THE SYSTEM UNDER DEVELOPMENT ADAPTING THE SYSTEM UNDER DEVELOPMENT TO THE RETRIEVED CODE
  • 22. reusers
  • 23. reusers WHO ARE THEY ?
  • 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. REUSE PROCESS & SOFTWARE PRODUCT'S LIFECYCLE
  • 26. 1. CONCEPT 2. DEVELOPMENT 3. PRODUCTION 4. UTILIZATION 5. RETIREMENT ISO/IEC 15288, 2002 SOFTWARE PRODUCT'S LIFECYCLE PHASES
  • 27. 1. CONCEPT 2. DEVELOPMENT 3. PRODUCTION 4. UTILIZATION 5. RETIREMENT ISO/IEC 15288, 2002 SOFTWARE PRODUCT'S LIFECYCLE PHASES
  • 28. Reuse & floss components Component decomposition based on the requirements Requirement / component tree Possible alternation of the tree
  • 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)
  • 32. Do i have to reuse?
  • 33. And if i do...
  • 34. CONCLUSIONS
  • 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
  • 36. FUTURE WORK
  • 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
  • 38. THANK YOU! [email_address] krap.gr/research (academic profile) @akritiko (twitter) ARISTOTLE UNIVERSITY OF THESSALONIKI INFORMATICS DEPT. ENASE 2010 JULY 23 rd , 2010