SVNChecker – The Missing Link Between Version Control And Bug Tracking EuroPython 2008 (07.-09.08.2008, Vilnius) Stefan Pi...
<ul><li>The DLR </li></ul><ul><li>German Aerospace Research Center  </li></ul><ul><li>Space Agency of the Federal Republic...
<ul><li>5,600  employees working  in 28 research institutes and  facilities </li></ul><ul><ul><li> at 13  sites .  </li>...
Scientific Software Development Daily Observations in Research Labs and Industry… <ul><li>Specific phenomenon:  developmen...
Tools used at the DLR Wiki MoinMoin Issue-Tracking MANTIS IDE z.B.  Eclipse Repository Browser ViewVC Test and  verificati...
Automatic server side code check <ul><li>Checks: </li></ul><ul><ul><li>Checking the Code various ways </li></ul></ul><ul><...
Checks Examples <ul><li>Checks on source code </li></ul><ul><li>Coding Style </li></ul><ul><ul><li>Checkstyle (Java) or Py...
Handler Examples <ul><li>Possible output targets for check results: </li></ul><ul><ul><li>Email </li></ul></ul><ul><ul><li...
SVNChecker Hook Script Framework for Subversion <ul><li>Function </li></ul><ul><ul><li>Better integration of version contr...
SVNChecker  Architecture SVNChecker Transaction Check 1 Check 2 Check 3 Transaction Message Exit-code Handler A Handler B ...
SVNChecker Program Flow commit Execute  check Return  msg = 0? Execute  success  handlers Execute  failure  handlers Check...
EXAMPLE
SVNChecker Next steps   (est. 3 months) <ul><li>More version control systems: </li></ul><ul><ul><li>CVS </li></ul></ul><ul...
SVNChecker Next steps (est. 3 months) Check <ul><li>Configuration interface via WebService: </li></ul><ul><ul><li>Changes ...
SVNChecker Future activities (no time schedule) <ul><li>Planned extension: </li></ul><ul><ul><li>Graphic UI for configurat...
Conclusion <ul><li>Similar software </li></ul><ul><li>SCMBug (written in Perl   ) </li></ul><ul><li>Availability </li></u...
?
Upcoming SlideShare
Loading in …5
×

SVNChecker – The Missing Link Between Version Control And Bug Tracking

3,115 views

Published on

Talk at the Europython 2008

Published in: Technology
2 Comments
2 Likes
Statistics
Notes
No Downloads
Views
Total views
3,115
On SlideShare
0
From Embeds
0
Number of Embeds
20
Actions
Shares
0
Downloads
63
Comments
2
Likes
2
Embeds 0
No embeds

No notes for slide

SVNChecker – The Missing Link Between Version Control And Bug Tracking

  1. SVNChecker – The Missing Link Between Version Control And Bug Tracking EuroPython 2008 (07.-09.08.2008, Vilnius) Stefan Pielicke < Stefan.Pielicke@dlr.de> German Aerospace Center (DLR), Cologne http://www.dlr.de/sc
  2. <ul><li>The DLR </li></ul><ul><li>German Aerospace Research Center </li></ul><ul><li>Space Agency of the Federal Republic of Germany </li></ul>
  3. <ul><li>5,600 employees working in 28 research institutes and facilities </li></ul><ul><ul><li> at 13 sites . </li></ul></ul><ul><li>> 1000 developers </li></ul><ul><li>Offices in Brussels, Paris and Washington. </li></ul>Sites and employees  Köln  Lampoldshausen  Stuttgart  Oberpfaffenhofen Braunschweig   Göttingen Berlin -   Bonn Trauen   Hamburg  Neustrelitz Weilheim  Bremen - 
  4. Scientific Software Development Daily Observations in Research Labs and Industry… <ul><li>Specific phenomenon: developments starting small (short script) but grow larger and larger during time </li></ul><ul><li>Team sizes : from 1 student to > 50 scientists from several departments </li></ul><ul><li>Lots of scientists (i.e. mathematicians, physicists, engineers) have no education in software engineering but developing large and/or critical applications </li></ul><ul><li>Their aim : fast implementation or their ideas into running code </li></ul><ul><li>Loss of productivity through archaic tools und procedures </li></ul><ul><ul><li>old text editors (vi, Emacs, Notepad) </li></ul></ul><ul><ul><li>code exchange via e-mail, memory sticks or NFS </li></ul></ul><ul><ul><li>no methodical testing </li></ul></ul>
  5. Tools used at the DLR Wiki MoinMoin Issue-Tracking MANTIS IDE z.B. Eclipse Repository Browser ViewVC Test and verification tools Check Test Build Status CruiseControl Builds and tests
  6. Automatic server side code check <ul><li>Checks: </li></ul><ul><ul><li>Checking the Code various ways </li></ul></ul><ul><ul><li>At commit </li></ul></ul><ul><li>A failure stops the process </li></ul><ul><li>Handlers: </li></ul><ul><ul><li>Logging the result </li></ul></ul>The Tao of Source Control: “ If it’s not in the repository, it doesn’t exist.”  a failed check IDE e.g. Eclipse Commit Check
  7. Checks Examples <ul><li>Checks on source code </li></ul><ul><li>Coding Style </li></ul><ul><ul><li>Checkstyle (Java) or Pylint (Python) </li></ul></ul><ul><li>Source code analysis </li></ul><ul><ul><li>Findbugs (Java) or QA C/C++ </li></ul></ul><ul><li>Environmental checks </li></ul><ul><li>Access rights </li></ul><ul><ul><li>Check on access rights for the repository, directories or single files </li></ul></ul><ul><li>Issue/Bug tracking </li></ul><ul><ul><li>Check for valid ids </li></ul></ul>
  8. Handler Examples <ul><li>Possible output targets for check results: </li></ul><ul><ul><li>Email </li></ul></ul><ul><ul><li>Logfile </li></ul></ul><ul><ul><li>Stdout </li></ul></ul><ul><ul><li>Database </li></ul></ul><ul><ul><li>Note in bug tracking system </li></ul></ul><ul><ul><li>RSS feeds </li></ul></ul><ul><ul><li>Blog post </li></ul></ul>
  9. SVNChecker Hook Script Framework for Subversion <ul><li>Function </li></ul><ul><ul><li>Better integration of version control in the dev process </li></ul></ul><ul><ul><li>Especially the connectivity to the bug tracking system </li></ul></ul><ul><li>Usage </li></ul><ul><ul><li>Called by subversion via a hook ( pre-commit , post-commit ) </li></ul></ul><ul><ul><li>External tools will be integrated via plug ins </li></ul></ul>
  10. SVNChecker Architecture SVNChecker Transaction Check 1 Check 2 Check 3 Transaction Message Exit-code Handler A Handler B Handler C Exit-Code ● ● ● ● ● ● external tools external tools Subversion Repository Hook Script
  11. SVNChecker Program Flow commit Execute check Return msg = 0? Execute success handlers Execute failure handlers Checks left? true false true false Abort commit Finish commit
  12. EXAMPLE
  13. SVNChecker Next steps (est. 3 months) <ul><li>More version control systems: </li></ul><ul><ul><li>CVS </li></ul></ul><ul><ul><li>Perforce </li></ul></ul><ul><ul><li>Git </li></ul></ul>CVS <ul><li>More bug tracking systems: </li></ul><ul><ul><li>Bugzilla </li></ul></ul><ul><ul><li>GForge </li></ul></ul><ul><ul><li>Trac </li></ul></ul>
  14. SVNChecker Next steps (est. 3 months) Check <ul><li>Configuration interface via WebService: </li></ul><ul><ul><li>Changes can be seen fast </li></ul></ul><ul><ul><li>Dev team can make changes easily </li></ul></ul><ul><ul><li>Small amount of administrative action needed </li></ul></ul>config WebService
  15. SVNChecker Future activities (no time schedule) <ul><li>Planned extension: </li></ul><ul><ul><li>Graphic UI for configuration </li></ul></ul><ul><ul><ul><li>Through a web interface and/or via an eclipse plug-in </li></ul></ul></ul><ul><li>Visions: </li></ul><ul><ul><li>Fully fledged test suite </li></ul></ul><ul><ul><li>Complete traceability of developement process </li></ul></ul><ul><ul><ul><li>Integration of provenance recording (http://www.gridprovenance.org) </li></ul></ul></ul>
  16. Conclusion <ul><li>Similar software </li></ul><ul><li>SCMBug (written in Perl  ) </li></ul><ul><li>Availability </li></ul><ul><ul><li>More information at http://www.dlr.de/sc/produkte/svnchecker </li></ul></ul><ul><ul><li>and http://svnchecker.tigris.org </li></ul></ul><ul><ul><li>Open-Source (Apache License V2.0) </li></ul></ul><ul><li>Contact </li></ul><ul><li>[email_address] </li></ul><ul><li>[email_address] </li></ul>
  17. ?

×