software development at inria

49
From research prototype to reliable software Clément MATHIEU

Upload: guest4b8de

Post on 20-Jan-2015

1.765 views

Category:

Technology


3 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Software development at INRIA

From research prototypeto reliable software

Clément MATHIEU

Page 2: Software development at INRIA

How to build reliable software at INRIA ?

How to fulfill both engineer and researcher requirements ?

Page 3: Software development at INRIA

Here is what we* do

* OASIS / ProActive

Page 4: Software development at INRIA

Outline

• Introduction• Team• Product• Issues

• Evolution

• Tools & Processes

• Conclusion

Page 5: Software development at INRIA

The OASIS team

Page 6: Software development at INRIA

Created in 1999.

Page 7: Software development at INRIA

Based at Sophia Antipolis.

Page 8: Software development at INRIA

Distributed and Parallel Computing.

Page 9: Software development at INRIA

5 researchers 10 PhDs 10 engineers ~17 Interns

Page 10: Software development at INRIA

* an INRIA spin off

ActiveEon*

Page 11: Software development at INRIA

The ProActive middleware

Page 12: Software development at INRIA

ProActive

Written in Java

Page 13: Software development at INRIA

ProActive

Page 14: Software development at INRIA

Our issues*

* One of

Page 15: Software development at INRIA

Researchers/PhDs are not Engineers*

* And don’t want to be

Page 16: Software development at INRIA

They want to publish papers.

Page 17: Software development at INRIA

We want (bullet proof) software

(with eye candies).

Page 18: Software development at INRIA

How to work together ?

Page 19: Software development at INRIA

Outline

• Introduction

• Evolution

• Tools & Processes

• Conclusion

Page 20: Software development at INRIA

1998: Project Started.

Page 21: Software development at INRIA

2000: CVS.

Page 22: Software development at INRIA

2003: Coding Standards.

Page 23: Software development at INRIA

2003: Functional Testing.(Home made)

Page 24: Software development at INRIA

2005: Subversion.

Page 25: Software development at INRIA

2007: Junit 4.

Page 26: Software development at INRIA

2007: Continuous Integration.

Page 27: Software development at INRIA

2007: JIRA Bug Tracking.

Page 28: Software development at INRIA

Today: Branching.

Page 29: Software development at INRIA

Outline

• Introduction• Evolution

• Tools & Processes• Principles• Continuous Integration• Branching• Bug Tracking

• Conclusion

Page 30: Software development at INRIA

Principle

Automation is the way

Page 31: Software development at INRIA

Which tool ?

• Avoid tool dependency

• Community matters

• Good looking helps adoption

Page 32: Software development at INRIA

Continuous Integration

Hudson* rocks !

* Thanks Kohsuke

Page 33: Software development at INRIA

Continuous Integration

The whole test suite is run

after each commit

Page 34: Software development at INRIA

Continuous Integration

Lots of nightly builds / checks

Page 35: Software development at INRIA

Continuous Integration

Success

Failure

Code Correctly Formatted

14%

86%

Page 36: Software development at INRIA

Continuous Integration

Success

Failure

Unstable

Build Results

41%

44%

15%

Page 37: Software development at INRIA

Continuous Integration

Junit trend

Page 38: Software development at INRIA

Continuous Integration

Page 39: Software development at INRIA

Branching

Inspired by agile methods to ease both

engineer and researcher work

Page 40: Software development at INRIA

Branching

Short iteration

• For engineers• Feature related• Merged ASAP• Synchronized

Long Iteration

• For research• Person related• Hopefully merged

Page 41: Software development at INRIA

Branching

Each branch has a referee

Page 42: Software development at INRIA

Branching

Continuous Integration only applies to the trunk

Page 43: Software development at INRIA

Branching

Avoid heavy branching

Page 44: Software development at INRIA

JIRA Bug Tracker

Page 45: Software development at INRIA

Outline

• Introduction

• Evolution

• Tools & Processes

• Conclusion

Page 46: Software development at INRIA

Conclusion

building blocks already exist*.

* We did not invented them

Page 47: Software development at INRIA

Conclusion

It’s all about tradeoff.

Maintenance costs VS productivity gains.

Page 48: Software development at INRIA

Conclusion

We will provide feedback*

* And I want to hear your

Page 49: Software development at INRIA

Clément MATHIEUIngénieur Associé

INRIA Sophia – AntipolisProjet OASIS