SlideShare a Scribd company logo
1 of 24
 	
  Roehm,	
  Tiarks,	
  Koschke,	
  and	
  Maalej	
  
Outline	
  of	
  the	
  Talk	
  

      1	
     MoAvaAon	
  


      2	
     Study	
  Design	
  


      3	
     Main	
  Findings	
  


      4	
     Next	
  Steps	
  


                                     2	
  
Why	
  Should	
  we	
  Comprehend	
  this?	
  




                                             3	
  
ObservaAons	
  on	
  Program	
  Comprehension	
  

                                                                       Limited	
  knowledge	
  of	
  
  A	
  mature	
  research	
  field	
  
                                                                              pracAce  	
  
  •  Over	
  30	
  years	
  of	
  research	
                        •  Previous	
  studies	
  are:	
  
  •  Important	
  ac6vity	
  in	
                                      •  Rela6vely	
  old	
  (outdated?)	
  	
  
     so8ware	
  engineering	
  and	
                                   •  Handle	
  specific	
  ques6ons	
  
     maintenance	
  
                                                                       •  Have	
  methodological	
  
  •  Theories	
  on	
  program	
                                          limita6ons	
  (e.g.	
  	
  
     comprehension	
  and	
                                               conducted	
  with	
  students	
  	
  
     research-­‐based	
  tools	
  to	
                                    or	
  in	
  lab	
  seKngs)	
  
     support	
  developers	
  



        	
  Does	
  the	
  state	
  of	
  the	
  pracAce	
  match	
  with	
  the	
  state	
  of	
  the	
  art?	
  
                                                                                                                     4	
  
Goal:	
  	
  
QualitaAvely	
  explore	
  how	
  program	
  
comprehension	
  is	
  done	
  in	
  industry	
  	
  




                                                        5	
  
Outline	
  of	
  the	
  Talk	
  

      1	
     MoAvaAon	
  


      2	
     Study	
  Design	
  


      3	
     Main	
  Findings	
  


      4	
     Next	
  Steps	
  


                                     6	
  
Research	
  QuesAons	
  

                                 Which	
  strategies	
  (including	
  steps	
  
                                 and	
  ac6vi6es)	
  do	
  developers	
  use	
  in	
  
                                 order	
  to	
  comprehend	
  so8ware?	
  




 Which	
  sources	
  of	
  informaAon	
            Which	
  tools	
  do	
  developers	
  
 do	
  developers	
  use	
  during	
               use	
  when	
  understanding	
  
 program	
  comprehension?	
                       programs	
  and	
  in	
  which	
  way?	
  

                                                                                                7	
  
Research	
  Method	
  

     Field	
  observaAons	
            Contextualized	
  semi-­‐
      with	
  think	
  aloud	
         structured	
  interviews	
  




   1	
                                2	
  
           Which	
  and	
  When	
             How	
  and	
  Why	
  
             Ques+ons	
                        Ques+ons	
  

                                                                      8	
  
Data	
  Analysis	
  	
  

ObservaAon	
  logs	
        Itera6ve	
              Frequencies	
  
 and	
  interview	
          manual	
  
   minutes	
               clustering	
  

                                          ABC	
  
                             BBD	
  

                                       BDA	
          18	
  findings	
  
                                                     23	
  hypotheses	
  

                               AAAAA	
  
                               BBBBB	
  
                               CCCCC	
  

                                                                            9	
  
Reliability	
  Measures	
  

Triangula6on	
  of	
  data	
  sources	
  

Independent	
  peer	
  observa6ons	
  

Dry	
  runs	
  

Peer	
  debriefing	
  

Double-­‐checking	
  by	
  par6cipants	
  
                                             10	
  
Research	
  Subjects	
  


        SelecAon	
  Criteria	
  	
                             ParAcipants
                                                                         	
  

  •  Inclusion	
  criteria	
  	
                 •    28	
  subjects	
  
   •  Developers	
  working	
  for	
             •    Between	
  1,5	
  and	
  19	
  years	
  	
  
      so8ware	
  companies	
                          of	
  development	
  experience	
  
   •  Spend	
  most	
  of	
  their	
  work	
     •    7	
  European	
  companies	
  
      6me	
  on	
  source	
  code	
  
                                                 •    Different	
  domains	
  and	
  	
  
  •  Exclusion	
  criteria	
                          technologies	
  
   •  Students	
  and	
  researchers	
           •    Random	
  tasks,	
  each	
  includes	
  
                                                      program	
  comprehension	
  


                                                                                                     11	
  
Outline	
  of	
  the	
  Talk	
  

      1	
     MoAvaAon	
  


      2	
     Study	
  Design	
  


      3	
     Main	
  Findings	
  


      4	
     Next	
  Steps	
  


                                     12	
  
Comprehension	
  Strategies	
  


        Finding	
                                                         Part.	
      Comp.	
  

        Employ	
  a	
  recurring,	
  structured	
  comprehension	
  
1	
                                                                           26	
         7	
  
        strategy	
  depending	
  on	
  context	
  

2	
     Follow	
  a	
  problem-­‐soluAon-­‐test	
  work	
  pa`ern	
           18	
         5	
  

        Debug	
  applica6on	
  to	
  elicit	
  runAme	
  
3	
                                                                           16	
         5	
  
        informaAon	
  
        Interact	
  with	
  UI	
  to	
  test	
  expected	
  program	
  
4	
                                                                           17	
         5	
  
        behavior	
  

                                                                                                   13	
  
Developers	
  Interact	
  with	
  UI	
  to	
  Test	
  
Expected	
  Program	
  Behavior	
  

              „We	
  passed	
  two	
  6mes	
  in	
  this	
  loop	
  
              because	
  of	
  two	
  event	
  categories	
  
              displayed	
  in	
  the	
  UI”	
  	
  

               Enter	
  values	
  in	
  UI	
  form	
  and	
  verify	
  
               they	
  are	
  stored	
  in	
  database	
  



                                                                          14	
  
Comprehension	
  Strategies	
  (ctd.)	
  

        Finding	
                                                               Part.	
     Comp.	
  

        Take	
  notes	
  to	
  reflect	
  mental	
  model	
  and	
  record	
  
5	
                                                                                9	
         4	
  
        knowledge	
  

        Iden6fy	
  starAng	
  point	
  for	
  comprehension	
  and	
  
6	
                                                                              10	
          5	
  
        filter	
  irrelevant	
  code	
  based	
  on	
  experience	
  

7	
   Establish	
  and	
  test	
  hypotheses	
                                     9	
         5	
  

      Clone	
  to	
  avoid	
  comprehension	
  and	
  minimize	
  
8	
                                                                              14	
          6	
  
      effort	
  

                                                                                                        15	
  
Developers	
  Clone	
  to	
  Avoid	
  
Comprehension	
  and	
  Minimize	
  Effort	
  

               Clone	
  to	
  avoid	
  comprehension	
  
               Worried	
  about	
  breaking	
  the	
  system	
  

               1.	
  Copy	
  several	
  methods	
  	
  
               2.	
  Comment	
  all	
  of	
  them	
  
               3.	
  Repeatedly	
  uncomment	
  
               methods	
  in	
  compiler	
  warnings	
  

                                                               16	
  
InformaAon	
  Sources	
  
        Finding	
                                                      Part.	
     Comp.	
  
      Source	
  code	
  is	
  more	
  trusted	
  than	
  
1	
                                                                     21	
          6	
  
      documenta6on	
  
      CommunicaAon	
  is	
  preferred	
  over	
  
2	
                                                                     17	
          5	
  
      documenta6on	
  
3	
   Standards	
  facilitate	
  comprehension	
                        12	
          6	
  
        Cryp6c,	
  meaningless	
  names	
  hamper	
  
4	
                                                                     10	
          6	
  
        comprehension	
  
      RaAonale	
  and	
  intended	
  usage	
  is	
  
5	
                                                                     10	
          5	
  
      important	
  but	
  rare	
  informa6on	
  
6	
   Real	
  usage	
  scenarios	
  are	
  useful	
  but	
  rare	
        5	
         4	
  
                                                                                              17	
  
Tool	
  Usage	
  

          Finding	
                                                  Part.	
     Comp.	
  

        Dedicated	
  program	
  comprehension	
  
  1	
                                                                 28	
          7	
  
        tools	
  are	
  not	
  used	
  

        Tools	
  with	
  redundant	
  features	
  are	
  used	
  
  2	
                                                                   5	
         4	
  
        in	
  parallel	
  to	
  IDE	
  	
  
          Compiler	
  is	
  used	
  to	
  elicit	
  structural	
  
  3	
                                                                   5	
         4	
  
          informaAon	
  
        Tool	
  features	
  for	
  comprehension	
  are	
  
  4	
                                                                   3	
         3	
  
        unknown	
  

                                                                                             18	
  
Program	
  Comprehension	
  Tools	
  not	
  Used	
  

             None	
  of	
  developers	
  used	
  dedicated	
  
             program	
  comprehension	
  tools	
  such	
  
             as	
  visualiza6on,	
  concept	
  loca6on	
  
             or	
  metric	
  calcula6on	
  tools	
  

             Comprehension	
  features	
  (e.g.	
  
             indexing	
  or	
  call	
  tree	
  viz.)	
  were	
  
             available	
  but	
  unknown	
  	
  

                                                                   19	
  
Outline	
  of	
  the	
  Talk	
  

      1	
     MoAvaAon	
  


      2	
     Study	
  Design	
  


      3	
     Main	
  Findings	
  


      4	
     Next	
  Steps	
  


                                     20	
  
ImplicaAons	
  for	
  PracAAoners	
  	
  




Define	
  coding	
  style	
  &	
                     Evaluate	
  research	
  
                                    1	
     2	
  
naming	
  conven6ons	
                                  proposals	
  

   Deal	
  with	
  „feature	
       3	
     4	
  
                                                    Inves6gate	
  reasons	
  
       overload“	
  	
                                  behind	
  gap	
  




                                                                                21	
  
ImplicaAons	
  for	
  Researchers	
  

                   Think	
  of	
  the	
  developer	
  as	
  a	
  user	
  
           Revisit	
  agendas	
  considering	
  our	
  hypotheses	
  
Inves6gate	
  reasons	
  behind	
  gap	
  between	
  research	
  and	
  prac6ce	
  




                                                                                      22	
  
Summary	
  of	
  the	
  Talk	
  
   1	
  
           We	
  observed	
  and	
  interviewed	
  28	
  professional	
  developers	
  
           to	
  study	
  comprehension	
  strategies,	
  informa6on,	
  and	
  tools.	
  


  2	
  
           Developers’	
  comprehension	
  strategies	
  depend	
  on	
  context.	
  
           They	
  interacted	
  with	
  UI	
  to	
  test	
  expected	
  program	
  behavior.	
  


  3	
  
           Developers	
  cloned	
  pieces	
  of	
  code	
  to	
  avoid	
  comprehension.	
  
           They	
  do	
  not	
  use	
  dedicated	
  program	
  comprehension	
  tools.	
  

  4	
  
           Prac66oners,	
  tool	
  vendors,	
  and	
  researchers	
  need	
  to	
  
           further	
  inves6gate	
  the	
  gap	
  between	
  research	
  and	
  prac6ce	
  

                                                                                                    23	
  
How	
  Do	
  Professional	
  Developers	
  
       Comprehend	
  So_ware?	
  	
  




Tobias	
       Rebecca	
       Rainer	
      Walid	
  
Roehm	
         Tiarks	
      Koschke	
      Maalej	
  


                                                          24	
  

More Related Content

What's hot

Research design By Mr Peng Kungkea
Research design By Mr Peng KungkeaResearch design By Mr Peng Kungkea
Research design By Mr Peng KungkeaKungkea Peng
 
Survey Based Reviewof Elicitation Problems
Survey Based Reviewof Elicitation ProblemsSurvey Based Reviewof Elicitation Problems
Survey Based Reviewof Elicitation ProblemsIJERA Editor
 
itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013
itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013
itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013Upside Energy Ltd
 
On the Assessment of Pointcut Design in Evolving Aspect-Oriented Software
On the Assessment of Pointcut Design in Evolving Aspect-Oriented SoftwareOn the Assessment of Pointcut Design in Evolving Aspect-Oriented Software
On the Assessment of Pointcut Design in Evolving Aspect-Oriented SoftwareRaffi Khatchadourian
 
SDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocationSDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocationOpenLearningLab
 
STAG Software and HBT Cover Story in The SmartTechie
STAG Software and HBT Cover Story in The SmartTechieSTAG Software and HBT Cover Story in The SmartTechie
STAG Software and HBT Cover Story in The SmartTechieSTAG Software Private Limited
 
1010 guide–a simple framework for
1010 guide–a simple framework for1010 guide–a simple framework for
1010 guide–a simple framework forijseajournal
 
Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014snoonan
 
SDPM - Lecture 4a - MS Project – High Level Introduction
SDPM - Lecture 4a - MS Project – High Level IntroductionSDPM - Lecture 4a - MS Project – High Level Introduction
SDPM - Lecture 4a - MS Project – High Level IntroductionOpenLearningLab
 
Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Daniel Mendez
 
INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...
INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...
INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...ijseajournal
 
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Daniel Mendez
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTscatherinewall
 
Proposal writing resource logical framework-
Proposal writing resource  logical framework-Proposal writing resource  logical framework-
Proposal writing resource logical framework-tccafrica
 
Systematic review on evaluating planning process in agile development methods
Systematic review on evaluating planning process in agile development methodsSystematic review on evaluating planning process in agile development methods
Systematic review on evaluating planning process in agile development methodsTELKOMNIKA JOURNAL
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringPer Runeson
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710Nikhil Todkar
 

What's hot (20)

Research design By Mr Peng Kungkea
Research design By Mr Peng KungkeaResearch design By Mr Peng Kungkea
Research design By Mr Peng Kungkea
 
Survey Based Reviewof Elicitation Problems
Survey Based Reviewof Elicitation ProblemsSurvey Based Reviewof Elicitation Problems
Survey Based Reviewof Elicitation Problems
 
itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013
itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013
itSMF Scottish Regional Meeting - project review simulation - 5 Mar 2013
 
Slides chapters 21-23
Slides chapters 21-23Slides chapters 21-23
Slides chapters 21-23
 
On the Assessment of Pointcut Design in Evolving Aspect-Oriented Software
On the Assessment of Pointcut Design in Evolving Aspect-Oriented SoftwareOn the Assessment of Pointcut Design in Evolving Aspect-Oriented Software
On the Assessment of Pointcut Design in Evolving Aspect-Oriented Software
 
SDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocationSDPM - Lecture 4 - Activity planning and resource allocation
SDPM - Lecture 4 - Activity planning and resource allocation
 
STAG Software and HBT Cover Story in The SmartTechie
STAG Software and HBT Cover Story in The SmartTechieSTAG Software and HBT Cover Story in The SmartTechie
STAG Software and HBT Cover Story in The SmartTechie
 
1010 guide–a simple framework for
1010 guide–a simple framework for1010 guide–a simple framework for
1010 guide–a simple framework for
 
Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014Problem Solving Methodology 2011 - 2014
Problem Solving Methodology 2011 - 2014
 
SDPM - Lecture 4a - MS Project – High Level Introduction
SDPM - Lecture 4a - MS Project – High Level IntroductionSDPM - Lecture 4a - MS Project – High Level Introduction
SDPM - Lecture 4a - MS Project – High Level Introduction
 
User Centered Innovation
User Centered InnovationUser Centered Innovation
User Centered Innovation
 
Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...Where do we stand in Requirements Engineering Improvement Today? First Result...
Where do we stand in Requirements Engineering Improvement Today? First Result...
 
INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...
INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...
INTRODUCING REFINED AGILE MODEL (RAM) IN THE CONTEXT OF BANGLADESH'S SOFTWARE...
 
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
Naming the Pain in Requirements Engineering - Design of a Global Family of Su...
 
Developing a Logical Framework Guide, Developmental Public Administration, De...
Developing a Logical Framework Guide, Developmental Public Administration, De...Developing a Logical Framework Guide, Developmental Public Administration, De...
Developing a Logical Framework Guide, Developmental Public Administration, De...
 
Programming with GUTs
Programming with GUTsProgramming with GUTs
Programming with GUTs
 
Proposal writing resource logical framework-
Proposal writing resource  logical framework-Proposal writing resource  logical framework-
Proposal writing resource logical framework-
 
Systematic review on evaluating planning process in agile development methods
Systematic review on evaluating planning process in agile development methodsSystematic review on evaluating planning process in agile development methods
Systematic review on evaluating planning process in agile development methods
 
Industry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software EngineeringIndustry-Academia Communication In Empirical Software Engineering
Industry-Academia Communication In Empirical Software Engineering
 
Pm soln9416141129710
Pm soln9416141129710Pm soln9416141129710
Pm soln9416141129710
 

Viewers also liked

Program Comprehension: Past, Present, Future
Program Comprehension: Past, Present, FutureProgram Comprehension: Past, Present, Future
Program Comprehension: Past, Present, FutureJanet Siegmund
 
10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert StakeholdersWalid Maalej
 
Msr14 tutorial 4upload
Msr14 tutorial 4uploadMsr14 tutorial 4upload
Msr14 tutorial 4uploadWalid Maalej
 
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Walid Maalej
 
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Walid Maalej
 
Invited Talk at TU Graz
Invited Talk at TU GrazInvited Talk at TU Graz
Invited Talk at TU GrazWalid Maalej
 
Intention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering ToolsIntention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering ToolsWalid Maalej
 
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...Walid Maalej
 
On the Socialness of Software
On the Socialness of SoftwareOn the Socialness of Software
On the Socialness of SoftwareWalid Maalej
 
Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Walid Maalej
 
Context aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approachContext aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approachWalid Maalej
 

Viewers also liked (11)

Program Comprehension: Past, Present, Future
Program Comprehension: Past, Present, FutureProgram Comprehension: Past, Present, Future
Program Comprehension: Past, Present, Future
 
10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders10 A Machine Learning Approach for Identifying Expert Stakeholders
10 A Machine Learning Approach for Identifying Expert Stakeholders
 
Msr14 tutorial 4upload
Msr14 tutorial 4uploadMsr14 tutorial 4upload
Msr14 tutorial 4upload
 
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
Business Rules In Practice - An Empirical Study (IEEE RE'14 Paper)
 
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
Assisting Engineers in Switching Artifacts by using Task Semantic and Interac...
 
Invited Talk at TU Graz
Invited Talk at TU GrazInvited Talk at TU Graz
Invited Talk at TU Graz
 
Intention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering ToolsIntention-Based Integration of Software Engineering Tools
Intention-Based Integration of Software Engineering Tools
 
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
How Do Users Like This Feature? A Fine Grained Sentiment Analysis of App Revi...
 
On the Socialness of Software
On the Socialness of SoftwareOn the Socialness of Software
On the Socialness of Software
 
Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!Help! I need an empirical study for my PhD!
Help! I need an empirical study for my PhD!
 
Context aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approachContext aware software engineering and maintenance: the FastFix approach
Context aware software engineering and maintenance: the FastFix approach
 

Similar to 2012 icse program comprehension

Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyMakoto SAKAI
 
Action research for_librarians_carl2012
Action research for_librarians_carl2012Action research for_librarians_carl2012
Action research for_librarians_carl2012srosenblatt
 
Action research for_librarians_carl2012
Action research for_librarians_carl2012Action research for_librarians_carl2012
Action research for_librarians_carl2012srosenblatt
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology
 
Ba course content intensive
Ba course content intensiveBa course content intensive
Ba course content intensiveCGI Federal
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecyclenicky_walters
 
Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...MOCA Platform
 
Lengyel dave
Lengyel daveLengyel dave
Lengyel daveNASAPMC
 
Piloting agile project management
Piloting agile project managementPiloting agile project management
Piloting agile project managementNatalie Collins
 
A brief introduction to Six Sigma
A brief introduction to Six SigmaA brief introduction to Six Sigma
A brief introduction to Six SigmaVillads Jakobsen
 
Usability Testing Fundamentals
Usability Testing FundamentalsUsability Testing Fundamentals
Usability Testing Fundamentalsdebcook
 
Usability Testing Fundamentals
Usability Testing FundamentalsUsability Testing Fundamentals
Usability Testing Fundamentalsdebcook
 
CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2
CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2
CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2CGAP
 
Analysis of Critical Success Factors Relevance along SAP Implementation Phases
Analysis of Critical Success Factors Relevance along SAP Implementation PhasesAnalysis of Critical Success Factors Relevance along SAP Implementation Phases
Analysis of Critical Success Factors Relevance along SAP Implementation PhasesJose Esteves
 
NG BB 06 Project Charter
NG BB 06 Project CharterNG BB 06 Project Charter
NG BB 06 Project CharterLeanleaders.org
 
So you wanna build something? Now what?
So you wanna build something? Now what?So you wanna build something? Now what?
So you wanna build something? Now what?Siddhi
 

Similar to 2012 icse program comprehension (20)

Analysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectivelyAnalysis of the interaction between practices for introducing XP effectively
Analysis of the interaction between practices for introducing XP effectively
 
Action research for_librarians_carl2012
Action research for_librarians_carl2012Action research for_librarians_carl2012
Action research for_librarians_carl2012
 
Action research for_librarians_carl2012
Action research for_librarians_carl2012Action research for_librarians_carl2012
Action research for_librarians_carl2012
 
Devnology back toschool software reengineering
Devnology back toschool software reengineeringDevnology back toschool software reengineering
Devnology back toschool software reengineering
 
Ba course content intensive
Ba course content intensiveBa course content intensive
Ba course content intensive
 
Software development lifecycle
Software development lifecycleSoftware development lifecycle
Software development lifecycle
 
Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...Online performance modeling and analysis of message-passing parallel applicat...
Online performance modeling and analysis of message-passing parallel applicat...
 
Lengyel dave
Lengyel daveLengyel dave
Lengyel dave
 
Piloting agile project management
Piloting agile project managementPiloting agile project management
Piloting agile project management
 
Six Sigma
Six SigmaSix Sigma
Six Sigma
 
A brief introduction to Six Sigma
A brief introduction to Six SigmaA brief introduction to Six Sigma
A brief introduction to Six Sigma
 
Methodologies for Cross-Border Living Labs Networking Hans Schaffer
Methodologies for Cross-Border Living Labs Networking  Hans SchafferMethodologies for Cross-Border Living Labs Networking  Hans Schaffer
Methodologies for Cross-Border Living Labs Networking Hans Schaffer
 
Usability Testing Fundamentals
Usability Testing FundamentalsUsability Testing Fundamentals
Usability Testing Fundamentals
 
Usability Testing Fundamentals
Usability Testing FundamentalsUsability Testing Fundamentals
Usability Testing Fundamentals
 
Inte Great Detailed Presentation Full V35 2
Inte Great Detailed Presentation Full V35 2Inte Great Detailed Presentation Full V35 2
Inte Great Detailed Presentation Full V35 2
 
CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2
CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2
CGAP and Grameen Foundation AppLab Money Incubator: Case Study Part 2
 
Analysis of Critical Success Factors Relevance along SAP Implementation Phases
Analysis of Critical Success Factors Relevance along SAP Implementation PhasesAnalysis of Critical Success Factors Relevance along SAP Implementation Phases
Analysis of Critical Success Factors Relevance along SAP Implementation Phases
 
Best Practices for Software Product Development
Best Practices for Software Product DevelopmentBest Practices for Software Product Development
Best Practices for Software Product Development
 
NG BB 06 Project Charter
NG BB 06 Project CharterNG BB 06 Project Charter
NG BB 06 Project Charter
 
So you wanna build something? Now what?
So you wanna build something? Now what?So you wanna build something? Now what?
So you wanna build something? Now what?
 

More from Walid Maalej

How Can Software Engineering Support AI
How Can Software Engineering Support AIHow Can Software Engineering Support AI
How Can Software Engineering Support AIWalid Maalej
 
Can Development Work Describe Itself?
Can Development Work Describe Itself?Can Development Work Describe Itself?
Can Development Work Describe Itself?Walid Maalej
 
05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit05 Making Tacit Requirements Explicit
05 Making Tacit Requirements ExplicitWalid Maalej
 
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...Walid Maalej
 
08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements ElicitationWalid Maalej
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...Walid Maalej
 
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product LinesWalid Maalej
 
07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements KnowledgeWalid Maalej
 
14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support CreativityWalid Maalej
 
03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably SizedWalid Maalej
 
00 Opening: Why MaRK
00 Opening: Why MaRK00 Opening: Why MaRK
00 Opening: Why MaRKWalid Maalej
 
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirementsWalid Maalej
 
09 On Presuppositions in Requirements
09 On Presuppositions in Requirements09 On Presuppositions in Requirements
09 On Presuppositions in RequirementsWalid Maalej
 
Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08Walid Maalej
 
Potential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software DevelopmentPotential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software DevelopmentWalid Maalej
 

More from Walid Maalej (16)

How Can Software Engineering Support AI
How Can Software Engineering Support AIHow Can Software Engineering Support AI
How Can Software Engineering Support AI
 
Can Development Work Describe Itself?
Can Development Work Describe Itself?Can Development Work Describe Itself?
Can Development Work Describe Itself?
 
05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit05 Making Tacit Requirements Explicit
05 Making Tacit Requirements Explicit
 
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
12 Leveraging Rule Deviations in IT Ecosystems for Implicit Requirements Elic...
 
08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation08 Domain KnowledgeWiki for Requirements Elicitation
08 Domain KnowledgeWiki for Requirements Elicitation
 
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
13 Continuous and Collaborative Validation: A Field Study of Requirements Kno...
 
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines01 Using Defect Reports to Build Requirements Knowledge in Product Lines
01 Using Defect Reports to Build Requirements Knowledge in Product Lines
 
07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge07 Modeling and Managing Tacit Product Line Requirements Knowledge
07 Modeling and Managing Tacit Product Line Requirements Knowledge
 
14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity14 Reasoning on Requirements Knowledge to Support Creativity
14 Reasoning on Requirements Knowledge to Support Creativity
 
03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized03 How to Keep Domain Requirements Models Reasonably Sized
03 How to Keep Domain Requirements Models Reasonably Sized
 
00 Opening: Why MaRK
00 Opening: Why MaRK00 Opening: Why MaRK
00 Opening: Why MaRK
 
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
04 The Papyrus tool as an Eclipse UML2-modeling environment for requirements
 
09 On Presuppositions in Requirements
09 On Presuppositions in Requirements09 On Presuppositions in Requirements
09 On Presuppositions in Requirements
 
From Work To Word
From Work To WordFrom Work To Word
From Work To Word
 
Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08Team Weaver Demo Camp June 08
Team Weaver Demo Camp June 08
 
Potential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software DevelopmentPotential And Challenges of Recommendation Systems for Software Development
Potential And Challenges of Recommendation Systems for Software Development
 

Recently uploaded

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Alan Dix
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 

Recently uploaded (20)

WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...Swan(sea) Song – personal research during my six years at Swansea ... and bey...
Swan(sea) Song – personal research during my six years at Swansea ... and bey...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 

2012 icse program comprehension

  • 1.    Roehm,  Tiarks,  Koschke,  and  Maalej  
  • 2. Outline  of  the  Talk   1   MoAvaAon   2   Study  Design   3   Main  Findings   4   Next  Steps   2  
  • 3. Why  Should  we  Comprehend  this?   3  
  • 4. ObservaAons  on  Program  Comprehension   Limited  knowledge  of   A  mature  research  field   pracAce   •  Over  30  years  of  research   •  Previous  studies  are:   •  Important  ac6vity  in   •  Rela6vely  old  (outdated?)     so8ware  engineering  and   •  Handle  specific  ques6ons   maintenance   •  Have  methodological   •  Theories  on  program   limita6ons  (e.g.     comprehension  and   conducted  with  students     research-­‐based  tools  to   or  in  lab  seKngs)   support  developers    Does  the  state  of  the  pracAce  match  with  the  state  of  the  art?   4  
  • 5. Goal:     QualitaAvely  explore  how  program   comprehension  is  done  in  industry     5  
  • 6. Outline  of  the  Talk   1   MoAvaAon   2   Study  Design   3   Main  Findings   4   Next  Steps   6  
  • 7. Research  QuesAons   Which  strategies  (including  steps   and  ac6vi6es)  do  developers  use  in   order  to  comprehend  so8ware?   Which  sources  of  informaAon   Which  tools  do  developers   do  developers  use  during   use  when  understanding   program  comprehension?   programs  and  in  which  way?   7  
  • 8. Research  Method   Field  observaAons   Contextualized  semi-­‐ with  think  aloud   structured  interviews   1   2   Which  and  When   How  and  Why   Ques+ons   Ques+ons   8  
  • 9. Data  Analysis     ObservaAon  logs   Itera6ve   Frequencies   and  interview   manual   minutes   clustering   ABC   BBD   BDA   18  findings   23  hypotheses   AAAAA   BBBBB   CCCCC   9  
  • 10. Reliability  Measures   Triangula6on  of  data  sources   Independent  peer  observa6ons   Dry  runs   Peer  debriefing   Double-­‐checking  by  par6cipants   10  
  • 11. Research  Subjects   SelecAon  Criteria     ParAcipants   •  Inclusion  criteria     •  28  subjects   •  Developers  working  for   •  Between  1,5  and  19  years     so8ware  companies   of  development  experience   •  Spend  most  of  their  work   •  7  European  companies   6me  on  source  code   •  Different  domains  and     •  Exclusion  criteria   technologies   •  Students  and  researchers   •  Random  tasks,  each  includes   program  comprehension   11  
  • 12. Outline  of  the  Talk   1   MoAvaAon   2   Study  Design   3   Main  Findings   4   Next  Steps   12  
  • 13. Comprehension  Strategies   Finding   Part.   Comp.   Employ  a  recurring,  structured  comprehension   1   26   7   strategy  depending  on  context   2   Follow  a  problem-­‐soluAon-­‐test  work  pa`ern   18   5   Debug  applica6on  to  elicit  runAme   3   16   5   informaAon   Interact  with  UI  to  test  expected  program   4   17   5   behavior   13  
  • 14. Developers  Interact  with  UI  to  Test   Expected  Program  Behavior   „We  passed  two  6mes  in  this  loop   because  of  two  event  categories   displayed  in  the  UI”     Enter  values  in  UI  form  and  verify   they  are  stored  in  database   14  
  • 15. Comprehension  Strategies  (ctd.)   Finding   Part.   Comp.   Take  notes  to  reflect  mental  model  and  record   5   9   4   knowledge   Iden6fy  starAng  point  for  comprehension  and   6   10   5   filter  irrelevant  code  based  on  experience   7   Establish  and  test  hypotheses   9   5   Clone  to  avoid  comprehension  and  minimize   8   14   6   effort   15  
  • 16. Developers  Clone  to  Avoid   Comprehension  and  Minimize  Effort   Clone  to  avoid  comprehension   Worried  about  breaking  the  system   1.  Copy  several  methods     2.  Comment  all  of  them   3.  Repeatedly  uncomment   methods  in  compiler  warnings   16  
  • 17. InformaAon  Sources   Finding   Part.   Comp.   Source  code  is  more  trusted  than   1   21   6   documenta6on   CommunicaAon  is  preferred  over   2   17   5   documenta6on   3   Standards  facilitate  comprehension   12   6   Cryp6c,  meaningless  names  hamper   4   10   6   comprehension   RaAonale  and  intended  usage  is   5   10   5   important  but  rare  informa6on   6   Real  usage  scenarios  are  useful  but  rare   5   4   17  
  • 18. Tool  Usage   Finding   Part.   Comp.   Dedicated  program  comprehension   1   28   7   tools  are  not  used   Tools  with  redundant  features  are  used   2   5   4   in  parallel  to  IDE     Compiler  is  used  to  elicit  structural   3   5   4   informaAon   Tool  features  for  comprehension  are   4   3   3   unknown   18  
  • 19. Program  Comprehension  Tools  not  Used   None  of  developers  used  dedicated   program  comprehension  tools  such   as  visualiza6on,  concept  loca6on   or  metric  calcula6on  tools   Comprehension  features  (e.g.   indexing  or  call  tree  viz.)  were   available  but  unknown     19  
  • 20. Outline  of  the  Talk   1   MoAvaAon   2   Study  Design   3   Main  Findings   4   Next  Steps   20  
  • 21. ImplicaAons  for  PracAAoners     Define  coding  style  &   Evaluate  research   1   2   naming  conven6ons   proposals   Deal  with  „feature   3   4   Inves6gate  reasons   overload“     behind  gap   21  
  • 22. ImplicaAons  for  Researchers   Think  of  the  developer  as  a  user   Revisit  agendas  considering  our  hypotheses   Inves6gate  reasons  behind  gap  between  research  and  prac6ce   22  
  • 23. Summary  of  the  Talk   1   We  observed  and  interviewed  28  professional  developers   to  study  comprehension  strategies,  informa6on,  and  tools.   2   Developers’  comprehension  strategies  depend  on  context.   They  interacted  with  UI  to  test  expected  program  behavior.   3   Developers  cloned  pieces  of  code  to  avoid  comprehension.   They  do  not  use  dedicated  program  comprehension  tools.   4   Prac66oners,  tool  vendors,  and  researchers  need  to   further  inves6gate  the  gap  between  research  and  prac6ce   23  
  • 24. How  Do  Professional  Developers   Comprehend  So_ware?     Tobias   Rebecca   Rainer   Walid   Roehm   Tiarks   Koschke   Maalej   24