0
From research prototype to reliable software Cl é ment MATHIEU
How to build  reliable  software at INRIA ? How to fulfill both  engineer  and  researcher   requirements  ?
Here is what  we * do * OASIS / ProActive
Outline <ul><li>Introduction </li></ul><ul><ul><li>Team </li></ul></ul><ul><ul><li>Product </li></ul></ul><ul><ul><li>Issu...
The  OASIS  team
Created in  1999 .
Based at  Sophia Antipolis .
Distributed  and  Parallel  Computing.
5  researchers  10  PhDs 10  engineers  ~17  Interns
* an INRIA spin off ActiveEon *
The  ProActive  middleware
ProActive Written in  Java
ProActive
Our  issues * * One of
Researchers/PhDs  are not  Engineers * * And don’t want to be
They want to publish  papers .
We want  (bullet proof)  software  (with eye candies) .
How to work  together  ?
Outline <ul><li>Introduction </li></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><li>Conclusion ...
1998:  Project Started .
2000:  CVS .
2003:  Coding Standards .
2003:  Functional Testing . (Home made)
2005:  Subversion .
2007:  Junit 4 .
2007:  Continuous Integration .
2007:  JIRA Bug Tracking .
Today:  Branching .
Outline <ul><li>Introduction </li></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><ul><li>Princip...
Principle Automation  is the way
Which tool ? <ul><li>Avoid tool dependency </li></ul><ul><li>Community matters </li></ul><ul><li>Good looking helps adopti...
Continuous Integration Hudson * rocks ! * Thanks Kohsuke
Continuous Integration The  whole  test suite  is run  after  each  commit
Continuous Integration Lots of  nightly  builds / checks
Continuous Integration Success Failure Code Correctly Formatted 14% 86%
Continuous Integration Success Failure Unstable Build Results 41% 44% 15%
Continuous Integration Junit trend
Continuous Integration
Branching Inspired by agile methods  to  ease  both engineer and researcher  work
Branching <ul><li>Short iteration </li></ul><ul><li>For engineers </li></ul><ul><li>Feature related </li></ul><ul><li>Merg...
Branching Each branch has a  referee
Branching Continuous Integration  only applies to the trunk
Branching Avoid   heavy   branching
JIRA Bug Tracker
Outline <ul><li>Introduction </li></ul><ul><li>Evolution </li></ul><ul><li>Tools & Processes </li></ul><ul><li>Conclusion ...
Conclusion building blocks  already exist*. * We did not invented them
Conclusion It’s all about  tradeoff . Maintenance  costs VS  productivity  gains.
Conclusion We will provide  feedback * * And I want to hear your
Clément MATHIEU Ingénieur Associé INRIA Sophia – Antipolis Projet OASIS
Upcoming SlideShare
Loading in...5
×

Software development at INRIA

1,828

Published on

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

No Downloads
Views
Total Views
1,828
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "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
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×