Software development at INRIA

2,019 views
1,968 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,019
On SlideShare
0
From Embeds
0
Number of Embeds
11
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Software development at INRIA

  1. 1. From research prototype to reliable software Cl é ment MATHIEU
  2. 2. How to build reliable software at INRIA ? How to fulfill both engineer and researcher requirements ?
  3. 3. Here is what we * do * OASIS / ProActive
  4. 4. Outline <ul><li>Introduction </li></ul><ul><ul><li>Team </li></ul></ul><ul><ul><li>Product </li></ul></ul><ul><ul><li>Issues </li></ul></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><li>Conclusion </li></ul>
  5. 5. The OASIS team
  6. 6. Created in 1999 .
  7. 7. Based at Sophia Antipolis .
  8. 8. Distributed and Parallel Computing.
  9. 9. 5 researchers 10 PhDs 10 engineers ~17 Interns
  10. 10. * an INRIA spin off ActiveEon *
  11. 11. The ProActive middleware
  12. 12. ProActive Written in Java
  13. 13. ProActive
  14. 14. Our issues * * One of
  15. 15. Researchers/PhDs are not Engineers * * And don’t want to be
  16. 16. They want to publish papers .
  17. 17. We want (bullet proof) software (with eye candies) .
  18. 18. How to work together ?
  19. 19. Outline <ul><li>Introduction </li></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><li>Conclusion </li></ul>
  20. 20. 1998: Project Started .
  21. 21. 2000: CVS .
  22. 22. 2003: Coding Standards .
  23. 23. 2003: Functional Testing . (Home made)
  24. 24. 2005: Subversion .
  25. 25. 2007: Junit 4 .
  26. 26. 2007: Continuous Integration .
  27. 27. 2007: JIRA Bug Tracking .
  28. 28. Today: Branching .
  29. 29. Outline <ul><li>Introduction </li></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><ul><li>Principles </li></ul></ul><ul><ul><li>Continuous Integration </li></ul></ul><ul><ul><li>Branching </li></ul></ul><ul><ul><li>Bug Tracking </li></ul></ul><ul><li>Conclusion </li></ul>
  30. 30. Principle Automation is the way
  31. 31. Which tool ? <ul><li>Avoid tool dependency </li></ul><ul><li>Community matters </li></ul><ul><li>Good looking helps adoption </li></ul>
  32. 32. Continuous Integration Hudson * rocks ! * Thanks Kohsuke
  33. 33. Continuous Integration The whole test suite is run after each commit
  34. 34. Continuous Integration Lots of nightly builds / checks
  35. 35. Continuous Integration Success Failure Code Correctly Formatted 14% 86%
  36. 36. Continuous Integration Success Failure Unstable Build Results 41% 44% 15%
  37. 37. Continuous Integration Junit trend
  38. 38. Continuous Integration
  39. 39. Branching Inspired by agile methods to ease both engineer and researcher work
  40. 40. Branching <ul><li>Short iteration </li></ul><ul><li>For engineers </li></ul><ul><li>Feature related </li></ul><ul><li>Merged ASAP </li></ul><ul><li>Synchronized </li></ul><ul><li>Long Iteration </li></ul><ul><li>For research </li></ul><ul><li>Person related </li></ul><ul><li>Hopefully merged </li></ul>
  41. 41. Branching Each branch has a referee
  42. 42. Branching Continuous Integration only applies to the trunk
  43. 43. Branching Avoid heavy branching
  44. 44. JIRA Bug Tracker
  45. 45. Outline <ul><li>Introduction </li></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><li>Conclusion </li></ul>
  46. 46. Conclusion building blocks already exist*. * We did not invented them
  47. 47. Conclusion It’s all about tradeoff . Maintenance costs VS productivity gains.
  48. 48. Conclusion We will provide feedback * * And I want to hear your
  49. 49. Clément MATHIEU Ingénieur Associé INRIA Sophia – Antipolis Projet OASIS

×