The Relationship Between Development Problems and Use of Software Engineering Practices in Computational Science

  • 504 views
Uploaded on

 

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
504
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
2
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. The  Rela(onship  between  Development  Problems  and  Use  of   So:ware  Engineering  Prac(ces  in   Computa(onal  Science  &   Engineering   Dus$n  Heaton,  Jeffrey  C.  Carver,  Roscoe   Bartle8,  Kimberly  Oakes,  and  Lorin  Hochstein   dwheaton@crimson.ua.edu,  carver@cs.ua.edu   Maintainable  SoFware  Prac$ces  in                         e-­‐Science   e-­‐Science  2012  
  • 2. Introduc$on  •  SoFware  is  used  to:   –  Avoid  dangerous/expensive  experiments   –  Process  large  amounts  of  data  •  Why  not  have  soFware  engineers  develop  the   code?   2  
  • 3. Previous  Survey    •  How  much  SE  knowledge  exists  in  the  CSE   Community?  •  92%  of  respondents  claim  they  have  sufficient   knowledge  of  SE.  •  63%  claim  the  CSE  community  has  sufficient   knowledge  •  Specific  Topics   3  
  • 4. Previous  Survey  •  Research  vs  Produc$on  •  Relevance  (almost)  always  higher  than  use  •  Top  3  Most  Relevant  Prac$ces:   –  Version  Control   –  Documenta$on   –  Verifica$on  &  Valida$on   4  
  • 5. Why  perform  a  new  survey?  •  Did  the  respondents  define  the  prac$ces  the   same  way  we  did?  •  What  programming  languages  did  the   respondents  use?  •  Respondents  repeated  4  problems   –  Rework   –  Performance  issues   –  Regression  errors   –  Forgedng  to  fix  bugs  that  were  not  tracked   5  
  • 6. Survey  Respondents  •  Target  Audience:   –  Broad  subset  of  the  CSE  community   –  Mailing  lists  from  mul$ple  na$onal  laboratories,   numerical  analysis,  and  other,  more  focused,  CSE   development  lists  •  151  responses   6  
  • 7. Defini$ons   No   5%  Respondents  overwhelmingly  agreed  with  our  defini$ons   Yes   95%   7  
  • 8. Programming  Languages   C++  Fortran   C++  most  common,  not  Fortran   C  Matlab  Python   Perl   Other   0%   10%   20%   30%   40%   50%   60%   70%   8  
  • 9. Self  ra$ng  of  SE  Knowledge  vs   Familiarity  with  SE  topics  45%  40%  35%  30%   None  25%   Low  20%   Medium  15%   High  10%   Very  High   Most  people  had  a  medium  knowledge  of  SE  topics   5%   0%   Somewhat   Moderately   Mostly   Fully  Sufficient   Sufficient   Sufficient   Sufficient   9  
  • 10. Rework  •  Most  frequent  problem  •  What  would  help?  •  Research  developers:  low-­‐medium  level  •  Produc$on  developers:  high  level   10  
  • 11. Rework   Research   Produc(on  35%   35%  30%   30%  25%   25%  20%   20%  15%   Use   15%   Use  10%   Relevance   10%   Relevance   5%   5%   High  Relevance  and  Use  from  Produc$on  Developers   0%   0%   11  
  • 12. Performance  •  Least  severe  problem  •  What  can  help?  •  Research  Developers:  low-­‐medium  •  Produc$on  Developers:  high   12  
  • 13. Performance   Research   Produc(on  40%   40%  35%   35%  30%   30%  25%   25%  20%   20%  15%   Use   15%   Use   Relevance   Relevance  10%   10%   5%   5%   High  Relevance  comes  from  Produc$on  Developers   0%   0%   13  
  • 14. Regression  Errors  •  More  important  to  produc$on  than  research   developers  •  What  can  help?  •  Research  developers:  random  •  Produc$on  developers:  very  high   14  
  • 15. Regression  Errors   Research   Produc(on  50%   50%  45%   45%  40%   40%  35%   35%  30%   30%  25%   25%  20%   Use   20%   Use  15%   Relevance   15%   Relevance  10%   10%   5%   5%  High  Use  and  Relevance  among  Produc$on  developers   0%   0%   15  
  • 16. Forgedng  to  Fix  Bugs  •  Least  frequent,  but  most  severe  •  What  can  help?  •  Unit  Tes$ng:  everybody  uses  it  •  Code  Reviews:  moderate  usage  •  Issue/Bug  Tracking  soFware:  Produc$on  •  Test-­‐driven  Development:  Research   16  
  • 17. Forgedng  to  Fix  Bugs   Research   Produc(on  30%   30%  25%   25%  20%   20%  15%   15%   Use   Use  10%   10%   Relevance   Relevance   5%   5%   0%   High  Relevance,  medium-­‐low  use   0%   17  
  • 18. Conclusion  •  Produc$on  developers   –  More  likely  to  view  a  problem  as  severe  and   frequent   –  More  likely  to  use  prac$ces  •  Many  prac$ces  have  not  been  adopted   –  Respondents  did  not  know  how  to  use  the   prac$ce  or  more  basic  prac$ces   18  
  • 19. The  Rela(onship  between  Development  Problems  and  Use  of   So:ware  Engineering  Prac(ces  in   Computa(onal  Science  &   Engineering   Dus$n  Heaton,  Jeffrey  C.  Carver,  Roscoe   Bartle8,  Kimberly  Oakes,  and  Lorin  Hochstein   dwheaton@crimson.ua.edu,  carver@cs.ua.edu   Maintainable  SoFware  Prac$ces  in                         e-­‐Science   e-­‐Science  2012