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 of Code Reuse Presentation @ ENASE 2010
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