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.
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
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