SlideShare a Scribd company logo
Useful Software Engineering
 Research: Leading a Double
        -Agent Life

             Lionel Briand
Certus Center for Software Verification
             and Validation
      Simula Research Laboratory
     & University of Oslo, Norway


                                          1
Software Everywhere




                      2
Failures Everywhere …
Software Engineering Research
       Funding & Relevance
➜  Software Engineering (SE) research should be a
   top priority in most countries (except Sweden)
➜  But that is not the case anymore. Hard numbers
   are hard to get, and in some cases well protected
➜  Symptoms
  ➥  Listed priorities by research councils, funding
  ➥  University hiring
  ➥  Large centers or institutes being established or closed down

➜  May be partly related to lack of relevance?
  ➥  Industry participation in leading SE conferences
  ➥  Application/industry tracks not first class citizens
  ➥  A very small percentage of research work ever used and assessed on
      real industrial software


                                                                          4
Basili’s and Meyer’s Take
➜  Many of the advances in software engineering have come out
   of non-university sources
➜  “Academic research has had its part, honorable but
   limited.” (Meyer)
➜  Large scale labs don’t get funded, like they do in other
   engineering and scientific disciplines (Basili, Meyer)
➜  Software Engineering is “big science” (Basili)




➜  One significant difference though is that we cannot entirely
   recreate the phenomena we study within four walls – This,
   as discussed later, has significant consequences
➜  Question: What is our responsibility in all this?
                                                                  5
Engineering Research
➜  “Engineering: The application of scientific and
   mathematical principles to practical ends such as
   the design, manufacture, and operation of
   efficient and economical structures, machines,
   processes, and systems.” (American Heritage
   Dictionary)
➜  Engineering research:
  ➥ Problem driven
  ➥ Real world requirements
  ➥ Scalability
  ➥ Human factors, where it matters
  ➥ Economic tradeoffs and cost-benefit analysis
  ➥ Actually doing it on real artifacts, not just talking
     about it
                                                            6
A Representative Example
➜  Parnin and Orso (ISSTA, 2011) looked at
   automated debugging techniques
➜  50 years of automated debugging research
➜  Only 5 papers have evaluated automated
   debugging techniques with actual programmers
➜  Focus since ~2001: dozens of papers ranking
   program statements according to their
   likelihood of containing a fault
➜  Experiment
  ➥ How do programmers use the ranking?
  ➥ Do they see the bugs?
  ➥ Is the ranking important?
                                                  7
Results from Parnin and Orso’s
               Study
•  Only low performers strictly followed the ranking
•  Only one out of 10 programmers who checked a
   buggy statement stopped the investigation
•  Automated support did not speed up debugging
•  Developers wanted explanations rather than
   recommendations
•  We cannot abstract the human away in our
   research
 •  “… we must steer research towards more promising
     directions that take into account the way programmers
     actually debug in real scenarios.”


                                                             8
What Happened?
➜  How people debug and what information they need
   is poorly understood
  ➥ Probably varies a great deal according to context and
     skills
➜  Researchers focused on providing a solution that
   was a mismatch for the actual problem
➜  That line of research became fashionable: a lot of
   (cool) ideas could be easily applied and compared,
   without involving human participants
➜  Resulted in many, many papers …
➜  Many other examples in SE, e.g., Clone detection?



                                                            9
Other Examples
➜  Adaptive Random Testing: Many papers since 2004
  ➥ Mostly simulations and small artifacts, unrealistic
     failure rates. Arcuri and Briand (2011), ISSTA
➜  Regression testing: Arguably the most studied
   testing problem, perhaps most studied software
   engineering problem …
  ➥ "However, empirical evaluation and application of
     regression testing techniques at industrial level seems
     to remain limited. Out of the 159 papers …, only 12
     papers consider industrial software artefacts as a
     subject of the associated empirical studies. This
     suggests that a large-scale industrial uptake of these
     techniques has yet to occur.” Yoo and Harman (2011)
  ➥ Possible reason: Strong focus on white-box, not black
    -box regression testing? Scalability and Practicality?

                                                               10
Industry-Driven Research
➜  Let’s take now an entirely different angle …
➜  Research driven by industry needs
➜  Simula’s motto: “The industry is our lab”
➜  Go through recent and successful projects (mostly
   @ Simula) with industry partners
➜  Summarize what happened, our experience
➜  Draw conclusions and lessons learned
  ➥ Patterns for successful research
  ➥ Challenges and possible solutions




                                                       11
Mode of Collaboration


             Problem
          identification                             Realistic
                                                    validation
                                Release
                                solution

Ind. Partners
                  Problem
                formulation

                                  Study
                                               Candidate
Research Center                 State-of-
                                               Solutions
                                 the-art                           Initial
                                                                 validation




                    Gorschek et al., IEEE Software 2006




                                                                              12
Project Example 1
➜  Context: Testing in communication systems (Cisco)
➜  Original scientific problem: Modeling and test case
   generation, oracle, coverage strategy
➜  Practical observation: Access to test network
   infrastructure limited (emulate network traffic,
   etc.). Models get too large and complex.
➜  Modified research objectives: (1) How to select an
   optimal subset of test cases matching the time
   budget, (2) Modeling cross-cutting concerns




                                                         13
Project Example 1
➜  Context: Testing in communication systems (Cisco)
➜  Original scientific problem: Modeling and model
  -based test case generation, oracle, coverage
   strategy
➜  Practical observation: Access to test network
   infrastructure limited (emulate network traffic,
   etc.). Models get too large and complex.
➜  Modified research objectives: (1) How to select an
   optimal subset of test cases matching the time
   budget, (2) Modeling cross-cutting concerns
➜  References: Hemmati et al. (2010),
  Ali et al. (2011)
                                                        14
Project Example 2
➜  Context: Testing image segmentation algorithms
   for medical applications (Siemens)
➜  Original scientific problem: Define specific test
   strategies for segmentation algorithms
➜  Practical observations: Algorithms are validated by
   using highly specialized medical experts.
   Expensive and slow. No obvious test oracle
➜  Modified research objective: Learning oracles for
   image segmentation algorithms in medical
   applications. Machine learning.




                                                         15
Project Example 2
➜  Context: Testing image segmentation algorithms
   for medical applications (Siemens)
➜  Original scientific problem: Define specific test
   strategies for segmentation algorithms
➜  Practical observations: Algorithms are validated by
   using highly specialized medical experts.
   Expensive and slow. No obvious test oracle
➜  Modified research objective: Learning oracles for
   image segmentation algorithms in medical
   applications. Machine learning.
➜  Reference: Frouchni et al. (2011)



                                                         16
Project Example 3
➜  Context: Subsea integrated control systems (FMC)
➜  Original scientific problem: Architecture-driven integration in
   systems of systems
➜  Practical observations: Each subsea installation is unique
   (variant), the software configuration is extremely complex
   (hundreds of interrelated variation points in software and
   hardware)
➜  Modified research objective: Product Line architectures in
   integrated control systems to support the configuration
   process
➜  Note: Despite decades of research in
    PLA, we could not find a methodology
    fitting our requirements



                                                                     17
Project Example 3
➜  Context: Subsea integrated control systems (FMC)
➜  Original scientific problem: Architecture-driven integration in
   systems of systems
➜  Practical observations: Each subsea installation is unique
   (variant), the software configuration is extremely complex
   (hundreds of interrelated variation points in software and
   hardware)
➜  Modified research objective: Product Line architectures in
   integrated control systems to support the configuration
   process
➜  Note: Despite decades of research in
    PLA, we could not find a methodology
    fitting our requirements
➜  Reference: Behjati et al. (2011)


                                                                     18
Project Example 4
➜  Context: safety-critical embedded systems in
   the energy and maritime sectors, e.g., fire and
   gas monitoring, process shutdown, dynamic
   positioning (Kongsberg Maritime)
➜  Original scientific problem: Model-driven
   engineering for failure-mode and effect analysis
➜  Practical observations: Certification meetings
   with third-party certifiers. Certification is
   lengthy, expensive, etc. Traceability in large
   complex systems a priority.
➜  Modified research objective: Traceability
   between safety requirements and system design
   decisions. Solution based on SysML and a simple
   traceability language along with model slicing.



                                                      19
Project Example 4
➜  Context: safety-critical embedded systems in
   the energy and maritime sectors, e.g., fire and
   gas monitoring, process shutdown, dynamic
   positioning (Kongsberg Maritime)
➜  Original scientific problem: Model-driven
   engineering for failure-mode and effect analysis
➜  Practical observations: Certification meetings
   with third-party certifiers. Certification is
   lengthy, expensive, etc. Traceability in large
   complex systems a priority.
➜  Modified research objective: Traceability
   between safety requirements and system design
   decisions. Solution based on SysML and a simple
   traceability language along with model slicing.
➜  Reference: Sabetzadeh et al. (2011)


                                                      20
Project Example 5
➜  Context: Technology qualification (TQ)
   in maritime sector (DNV)
➜  Original scientific problem: Model-based
   quantitative safety analysis
➜  Practical observations: TQ is not purely
   objective, quantitative argument. Great
   complexity (e.g., sources of
   information) and expert judgment.
   Many stakeholders.
➜  Modified research objective: Modeling
   safety arguments to support
   quantitative reasoning and decision
   making by several stakeholders

                                              21
Project Example 5
➜  Context: Technology qualification (TQ)
   in maritime sector (DNV)
➜  Original scientific problem: Model-based
   quantitative safety analysis
➜  Practical observations: TQ is not purely
   objective, quantitative argument. Great
   complexity (e.g., sources of
   information) and expert judgment.
   Many stakeholders.
➜  Modified research objective: Modeling
   safety arguments to support
   quantitative reasoning and decision
   making by several stakeholders
➜  Reference: Sabetzadeh et al. (2011)
                                              22
Two Other Examples on the
          ICSM Program
➜  Erik Rogstad et al., “Industrial Experiences with
   Automated Regression Testing of a Legacy
   Database Application”
➜  Amir Reza Yazdanshenas and Leon Moonen,
   “Crossing the Boundaries While Analyzing
   Heterogeneous Component-Based Software
   Systems”




                                                       23
Successful Research Patterns
➜  Successful: Innovative and high impact
➜  Inductive research: Working from specific
   observations in real settings to broader
   generalizations and theories
  ➥ Field studies and replications, analyze commonalities
➜  Scalability and practicality considerations must be
   part of the initial research problem definition
➜  Researching by doing: Hands-on research. Apply
   what exists in well defined, realistic context,
   with clear objectives. The observed limitations
   become the research objectives.
➜  Multidisciplinary: other CS, Engineering, or non
  -technical domains
                                                            24
So What?
➜  Making a conscious effort to understand the
   problem first
  ➥  Precisely identify the requirements for an applicable solution
  ➥  More papers focused on understanding the problems
  ➥  Making industry tracks first class citizens in SE conferences

➜  Better relationships between academia and
   industry
  ➥  Different models, e.g., Research-based innovation centers in Norway
  ➥  Common labs (e.g., NASA SEL Lab)
  ➥  Exposing PhD students to industry practice: Ethical considerations
      (Fixing the PhD, Nature)

➜  Playing an active role in solving the problem, e.g.,
   action research-like


                                                                           25
So What?
➜  Work on end-to-end solutions: Pieces of solutions
   are interdependent. Necessary for impact.
➜  Beyond professors and students
  ➥ Labs with interdisciplinary teams of professional
     scientists and engineers within or collaborating with
     universities
  ➥ Used to be the case with corporate research labs: Bell
     Labs, Xerox PARC, HP labs, NASA SEL, etc.
  ➥ Now: Fraunhofer (Germany), Simula (Norway),
     Microsoft Research (US), SEI (US), SnT
     (Luxembourg)
  ➥ Corporate labs versus publicly supported ones?
  ➥ Key point: The level of basic funding must allow high
     risk research, performed by professional scientists,
     focused on impact in society
                                                             26
The NASA SEL Experience
     Factory Model




    Basili et al. (NASA SEL)

                               27
Academic Challenges
➜  Our CS legacy … emancipating ourselves as an engineering
   discipline
  ➥  Systems engineering departments?
➜  How cool is it? SE research is more driven by “fashion” than
   needs, a quest for silver bullets
  ➥  We can only blame ourselves
➜  Counting papers and how the JSS ranking does not help
  ➥  We are pressuring ourselves into irrelevance
➜  Taking academic tenure and promotion seriously
  ➥  What about rewarding impact?
➜  One’s research must cover a broader ground and be somewhat
   opportunistic – this pushes us out of our comfort zone
➜  Resources to support industry collaborations
  ➥  Large lab infrastructure, engineers, time

                                                                  28
Industrial Challenges
➜  From a discussion with Bran Selic …
➜  Short term versus longer term goals (next
   quarter’s forecast is the priority)
➜  Industrial research groups are often disconnected
   from their own business units and external
   researchers may be perceived as competitors
➜  Company’s intellectual property regulations may
   conflict with those of the research institution
➜  Complexity of industrial systems and technology
  ➥ Cannot be transplanted in artificial settings for
     research - Need studies in real settings
  ➥ Substantial domain knowledge is required

                                                        29
A Double-Agent Life


                           A new idea
  Scientist,
                           (as initially
trying to be
                          perceived by
discrete, but
                          our partners)
 inquisitive



 Warning: No               Practitioner
research here               (sanitized)


                                           30
Conclusions
➜  Software engineering is obviously important in all
   aspects of society, but academic software
   engineering research is not perceived the same
   way
➜  The academic community, at various levels, is
   partly responsible for this
➜  How we take up the challenge of increasing our
   impact will determine the future of the profession
➜  There are solutions, but no silver bullet
➜  We all have a role to play in this, as deans,
   department chairs, professors, scientists,
   reviewers, conference organizers, journal editors,
   etc. We can all be double-agents …
                                                        31
Empirical Software Engineering
➜  Springer, 6 issues a year
➜  Both research papers and industry experience
   reports
➜  2nd highest impact factor among SE research
   journals
➜  “Applied software engineering research with a
   significant empirical component”




                                                   32
References
➜  Ali, Briand, Hemmati, “Modeling Robustness Behavior Using Aspect-Oriented Modeling
    to Support Robustness Testing of Industrial Systems”, Journal of Software and
    Systems Modeling, forthcoming, 2011.
➜  Arcuri and Briand, “Adaptive Random Testing: An Illusion of Effectiveness”, ISSTA
    2011
➜  Basili, “Learning Through Application: The maturing of the QIP in the SEL”, Making
    Software; What really works and why we believe it, Edited by Andy Oram and Greg
    Wilson, O’Reilly Publishers, 2011, pp.65-78.
➜  Behjati, Yue, Briand and Selic , “SimPL: A Product-Line Modeling Methodology for
    Families of Integrated Control Systems”, Simula Technical Report 2011-14 (V. 2),
    Submitted.
➜  Hemmati, Briand, Arcuri, Ali “An Enhanced Test Case Selection Approach for Model
   -Based Testing: An Industrial Case Study”, FSE, 2010
➜  Frouchni, Briand, Labiche, Grady, and Subramanyan, “Automating Image Segmentation
    Verification and Validation by Learning Test Oracles”, forthcoming in Information and
    Software Technology (Elsevier), 2011.




                                                                                            33
References II
➜  Sabetzadeh, Nejati, Briand, Evensen Mills “Using SysML for Modeling of Safety
   -Critical Software–Hardware Interfaces: Guidelines and Industry Experience”, HASE,
    2011
➜  Parnin and Orso, “Are Automated Debugging Techniques Actually Helping
    Programmers?”, ISSTA, 2011
➜  Sabetzadeh et al., “Combining Goal Models, Expert Elicitation, and Probabilistic
    Simulation for Qualification of New Technology”, HASE, 2011
➜  Yoo and Harman, “Regression testing minimization, selection and prioritization: a
    survey”, STVR, Wiley, forthcoming
➜  Bertrand Meyer’s blog: http://bertrandmeyer.com/2010/04/25/the-other
   -impediment-to-software-engineering-research/




                                                                                        34

More Related Content

PDF
Empirical Software Engineering
PDF
Programming with GUTs
PDF
empirical software engineering, v2.0
PPTX
Why is TDD so hard for Data Engineering and Analytics Projects?
PPTX
Why is Test Driven Development for Analytics or Data Projects so Hard?
PDF
Case Study Research in Software Engineering
PDF
Design Thinking for Requirements Engineering
PDF
Exploratory testing STEW 2016
Empirical Software Engineering
Programming with GUTs
empirical software engineering, v2.0
Why is TDD so hard for Data Engineering and Analytics Projects?
Why is Test Driven Development for Analytics or Data Projects so Hard?
Case Study Research in Software Engineering
Design Thinking for Requirements Engineering
Exploratory testing STEW 2016

What's hot (20)

PPTX
Building Blocks for Continuous Experimentation
PDF
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
PPTX
Software Development as an Experiment System: A Qualitative Survey on the St...
PDF
Past and Future of Software Testing and Analysis
PDF
Empirical Methods in Software Engineering - an Overview
PDF
[2017/2018] RESEARCH in software engineering
PDF
Surveys in Software Engineering
PPTX
Impact-Driven Research on Software Engineering Tooling
PDF
Survey Research In Empirical Software Engineering
PDF
An Exploratory Study on Technology Transfer in Software Engineering
PPTX
IEEE augmented reality learning experience model (ARLEM)
PDF
[01-B] Empirical software engineering
PPTX
IEEE p1589 'ARLEM' virtual meeting, September 9, 2015
PDF
Testing the Intelligence of your AI
PPT
Analysis of software architectures
PDF
Lopez
PDF
Software Visualization Today - Systematic Literature Review
PDF
Natural Language Processing (NLP) for Requirements Engineering (RE): an Overview
PPT
Final Survey On Rule Base Development Slideshare
PPTX
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
Building Blocks for Continuous Experimentation
Controlled experiments, Hypothesis Testing, Test Selection, Threats to Validity
Software Development as an Experiment System: A Qualitative Survey on the St...
Past and Future of Software Testing and Analysis
Empirical Methods in Software Engineering - an Overview
[2017/2018] RESEARCH in software engineering
Surveys in Software Engineering
Impact-Driven Research on Software Engineering Tooling
Survey Research In Empirical Software Engineering
An Exploratory Study on Technology Transfer in Software Engineering
IEEE augmented reality learning experience model (ARLEM)
[01-B] Empirical software engineering
IEEE p1589 'ARLEM' virtual meeting, September 9, 2015
Testing the Intelligence of your AI
Analysis of software architectures
Lopez
Software Visualization Today - Systematic Literature Review
Natural Language Processing (NLP) for Requirements Engineering (RE): an Overview
Final Survey On Rule Base Development Slideshare
ACM Chicago March 2019 meeting: Software Engineering and AI - Prof. Tao Xie, ...
Ad

Viewers also liked (20)

PDF
Industry - Testing & Quality Assurance in Data Migration Projects
PDF
ERA - Tracking Technical Debt
PDF
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
PDF
ERA - Measuring Maintainability of Spreadsheets in the Wild
PDF
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
PDF
Components - Graph Based Detection of Library API Limitations
PDF
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
PDF
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
PDF
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
PDF
Reliability and Quality - Predicting post-release defects using pre-release f...
PDF
Faults and Regression Testing - Fault interaction and its repercussions
PDF
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
PDF
Industry - The Evolution of Information Systems. A Case Study on Document Man...
PDF
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
PDF
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
PDF
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
PDF
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
PDF
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
PDF
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
PDF
ERA - Clustering and Recommending Collections of Code Relevant to Task
Industry - Testing & Quality Assurance in Data Migration Projects
ERA - Tracking Technical Debt
Traceability - Structural Conformance Checking with Design Tests: An Evaluati...
ERA - Measuring Maintainability of Spreadsheets in the Wild
Metrics - Using Source Code Metrics to Predict Change-Prone Java Interfaces
Components - Graph Based Detection of Library API Limitations
Industry - Precise Detection of Un-Initialized Variables in Large, Real-life ...
Natural Language Analysis - Expanding Identifiers to Normalize Source Code Vo...
Tutorial 2 - Practical Combinatorial (t-way) Methods for Detecting Complex Fa...
Reliability and Quality - Predicting post-release defects using pre-release f...
Faults and Regression Testing - Fault interaction and its repercussions
ERA - Measuring Disruption from Software Evolution Activities Using Graph-Bas...
Industry - The Evolution of Information Systems. A Case Study on Document Man...
Impact Analysis - ImpactScale: Quantifying Change Impact to Predict Faults in...
Components - Crossing the Boundaries while Analyzing Heterogeneous Component-...
Faults and Regression testing - Localizing Failure-Inducing Program Edits Bas...
ERA - A Comparison of Stemmers on Source Code Identifiers for Software Search
Postdoc symposium - A Logic Meta-Programming Foundation for Example-Driven Pa...
Dynamic Analysis - SCOTCH: Improving Test-to-Code Traceability using Slicing ...
ERA - Clustering and Recommending Collections of Code Relevant to Task
Ad

Similar to Lionel Briand ICSM 2011 Keynote (20)

PDF
Software Engineering Research: Leading a Double-Agent Life.
PDF
Applying AI to software engineering problems: Do not forget the human!
PPTX
Design Principles of Advanced Task Elicitation Systems
PDF
Research-Based Innovation with Industry: Project Experience and Lessons Learned
PDF
Replication and Benchmarking in Software Analytics
PPTX
Industry-Academia Communication In Empirical Software Engineering
PDF
Enabling Automated Software Testing with Artificial Intelligence
PDF
Systems Practice in Engineering (SPiE)
PDF
[2016/2017] RESEARCH in software engineering
PDF
Digital Security by Design: Formal Verification with Broad-Spectrum ANSI-C Re...
 
PDF
2011 EASE - Motivation in Software Engineering: A Systematic Review Update
PDF
From Bugs to Decision Support - Selected Research Highlights
PDF
Software Defect Prediction Using Local and Global Analysis
PDF
Keynote at-icpc-2020
PDF
A Pragmatic Perspective on Software Visualization
DOC
Testing survey by_directions
PDF
Ece481 lecture4engsocexp
PDF
Software Analytics - Achievements and Challenges
PDF
Pathways to Technology Transfer and Adoption: Achievements and Challenges
PDF
Scalable and Cost-Effective Model-Based Software Verification and Testing
Software Engineering Research: Leading a Double-Agent Life.
Applying AI to software engineering problems: Do not forget the human!
Design Principles of Advanced Task Elicitation Systems
Research-Based Innovation with Industry: Project Experience and Lessons Learned
Replication and Benchmarking in Software Analytics
Industry-Academia Communication In Empirical Software Engineering
Enabling Automated Software Testing with Artificial Intelligence
Systems Practice in Engineering (SPiE)
[2016/2017] RESEARCH in software engineering
Digital Security by Design: Formal Verification with Broad-Spectrum ANSI-C Re...
 
2011 EASE - Motivation in Software Engineering: A Systematic Review Update
From Bugs to Decision Support - Selected Research Highlights
Software Defect Prediction Using Local and Global Analysis
Keynote at-icpc-2020
A Pragmatic Perspective on Software Visualization
Testing survey by_directions
Ece481 lecture4engsocexp
Software Analytics - Achievements and Challenges
Pathways to Technology Transfer and Adoption: Achievements and Challenges
Scalable and Cost-Effective Model-Based Software Verification and Testing

Recently uploaded (20)

PDF
Approach and Philosophy of On baking technology
PPTX
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
PDF
Mushroom cultivation and it's methods.pdf
PDF
August Patch Tuesday
PPTX
cloud_computing_Infrastucture_as_cloud_p
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
A Presentation on Touch Screen Technology
PDF
Zenith AI: Advanced Artificial Intelligence
PDF
Hybrid model detection and classification of lung cancer
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
DP Operators-handbook-extract for the Mautical Institute
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PPTX
Chapter 5: Probability Theory and Statistics
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPTX
A Presentation on Artificial Intelligence
PDF
Accuracy of neural networks in brain wave diagnosis of schizophrenia
PDF
gpt5_lecture_notes_comprehensive_20250812015547.pdf
PDF
A comparative study of natural language inference in Swahili using monolingua...
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
Approach and Philosophy of On baking technology
TechTalks-8-2019-Service-Management-ITIL-Refresh-ITIL-4-Framework-Supports-Ou...
Mushroom cultivation and it's methods.pdf
August Patch Tuesday
cloud_computing_Infrastucture_as_cloud_p
Assigned Numbers - 2025 - Bluetooth® Document
A Presentation on Touch Screen Technology
Zenith AI: Advanced Artificial Intelligence
Hybrid model detection and classification of lung cancer
NewMind AI Weekly Chronicles - August'25-Week II
DP Operators-handbook-extract for the Mautical Institute
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Chapter 5: Probability Theory and Statistics
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
A Presentation on Artificial Intelligence
Accuracy of neural networks in brain wave diagnosis of schizophrenia
gpt5_lecture_notes_comprehensive_20250812015547.pdf
A comparative study of natural language inference in Swahili using monolingua...
SOPHOS-XG Firewall Administrator PPT.pptx

Lionel Briand ICSM 2011 Keynote

  • 1. Useful Software Engineering Research: Leading a Double -Agent Life Lionel Briand Certus Center for Software Verification and Validation Simula Research Laboratory & University of Oslo, Norway 1
  • 4. Software Engineering Research Funding & Relevance ➜  Software Engineering (SE) research should be a top priority in most countries (except Sweden) ➜  But that is not the case anymore. Hard numbers are hard to get, and in some cases well protected ➜  Symptoms ➥  Listed priorities by research councils, funding ➥  University hiring ➥  Large centers or institutes being established or closed down ➜  May be partly related to lack of relevance? ➥  Industry participation in leading SE conferences ➥  Application/industry tracks not first class citizens ➥  A very small percentage of research work ever used and assessed on real industrial software 4
  • 5. Basili’s and Meyer’s Take ➜  Many of the advances in software engineering have come out of non-university sources ➜  “Academic research has had its part, honorable but limited.” (Meyer) ➜  Large scale labs don’t get funded, like they do in other engineering and scientific disciplines (Basili, Meyer) ➜  Software Engineering is “big science” (Basili) ➜  One significant difference though is that we cannot entirely recreate the phenomena we study within four walls – This, as discussed later, has significant consequences ➜  Question: What is our responsibility in all this? 5
  • 6. Engineering Research ➜  “Engineering: The application of scientific and mathematical principles to practical ends such as the design, manufacture, and operation of efficient and economical structures, machines, processes, and systems.” (American Heritage Dictionary) ➜  Engineering research: ➥ Problem driven ➥ Real world requirements ➥ Scalability ➥ Human factors, where it matters ➥ Economic tradeoffs and cost-benefit analysis ➥ Actually doing it on real artifacts, not just talking about it 6
  • 7. A Representative Example ➜  Parnin and Orso (ISSTA, 2011) looked at automated debugging techniques ➜  50 years of automated debugging research ➜  Only 5 papers have evaluated automated debugging techniques with actual programmers ➜  Focus since ~2001: dozens of papers ranking program statements according to their likelihood of containing a fault ➜  Experiment ➥ How do programmers use the ranking? ➥ Do they see the bugs? ➥ Is the ranking important? 7
  • 8. Results from Parnin and Orso’s Study •  Only low performers strictly followed the ranking •  Only one out of 10 programmers who checked a buggy statement stopped the investigation •  Automated support did not speed up debugging •  Developers wanted explanations rather than recommendations •  We cannot abstract the human away in our research •  “… we must steer research towards more promising directions that take into account the way programmers actually debug in real scenarios.” 8
  • 9. What Happened? ➜  How people debug and what information they need is poorly understood ➥ Probably varies a great deal according to context and skills ➜  Researchers focused on providing a solution that was a mismatch for the actual problem ➜  That line of research became fashionable: a lot of (cool) ideas could be easily applied and compared, without involving human participants ➜  Resulted in many, many papers … ➜  Many other examples in SE, e.g., Clone detection? 9
  • 10. Other Examples ➜  Adaptive Random Testing: Many papers since 2004 ➥ Mostly simulations and small artifacts, unrealistic failure rates. Arcuri and Briand (2011), ISSTA ➜  Regression testing: Arguably the most studied testing problem, perhaps most studied software engineering problem … ➥ "However, empirical evaluation and application of regression testing techniques at industrial level seems to remain limited. Out of the 159 papers …, only 12 papers consider industrial software artefacts as a subject of the associated empirical studies. This suggests that a large-scale industrial uptake of these techniques has yet to occur.” Yoo and Harman (2011) ➥ Possible reason: Strong focus on white-box, not black -box regression testing? Scalability and Practicality? 10
  • 11. Industry-Driven Research ➜  Let’s take now an entirely different angle … ➜  Research driven by industry needs ➜  Simula’s motto: “The industry is our lab” ➜  Go through recent and successful projects (mostly @ Simula) with industry partners ➜  Summarize what happened, our experience ➜  Draw conclusions and lessons learned ➥ Patterns for successful research ➥ Challenges and possible solutions 11
  • 12. Mode of Collaboration Problem identification Realistic validation Release solution Ind. Partners Problem formulation Study Candidate Research Center State-of- Solutions the-art Initial validation Gorschek et al., IEEE Software 2006 12
  • 13. Project Example 1 ➜  Context: Testing in communication systems (Cisco) ➜  Original scientific problem: Modeling and test case generation, oracle, coverage strategy ➜  Practical observation: Access to test network infrastructure limited (emulate network traffic, etc.). Models get too large and complex. ➜  Modified research objectives: (1) How to select an optimal subset of test cases matching the time budget, (2) Modeling cross-cutting concerns 13
  • 14. Project Example 1 ➜  Context: Testing in communication systems (Cisco) ➜  Original scientific problem: Modeling and model -based test case generation, oracle, coverage strategy ➜  Practical observation: Access to test network infrastructure limited (emulate network traffic, etc.). Models get too large and complex. ➜  Modified research objectives: (1) How to select an optimal subset of test cases matching the time budget, (2) Modeling cross-cutting concerns ➜  References: Hemmati et al. (2010), Ali et al. (2011) 14
  • 15. Project Example 2 ➜  Context: Testing image segmentation algorithms for medical applications (Siemens) ➜  Original scientific problem: Define specific test strategies for segmentation algorithms ➜  Practical observations: Algorithms are validated by using highly specialized medical experts. Expensive and slow. No obvious test oracle ➜  Modified research objective: Learning oracles for image segmentation algorithms in medical applications. Machine learning. 15
  • 16. Project Example 2 ➜  Context: Testing image segmentation algorithms for medical applications (Siemens) ➜  Original scientific problem: Define specific test strategies for segmentation algorithms ➜  Practical observations: Algorithms are validated by using highly specialized medical experts. Expensive and slow. No obvious test oracle ➜  Modified research objective: Learning oracles for image segmentation algorithms in medical applications. Machine learning. ➜  Reference: Frouchni et al. (2011) 16
  • 17. Project Example 3 ➜  Context: Subsea integrated control systems (FMC) ➜  Original scientific problem: Architecture-driven integration in systems of systems ➜  Practical observations: Each subsea installation is unique (variant), the software configuration is extremely complex (hundreds of interrelated variation points in software and hardware) ➜  Modified research objective: Product Line architectures in integrated control systems to support the configuration process ➜  Note: Despite decades of research in PLA, we could not find a methodology fitting our requirements 17
  • 18. Project Example 3 ➜  Context: Subsea integrated control systems (FMC) ➜  Original scientific problem: Architecture-driven integration in systems of systems ➜  Practical observations: Each subsea installation is unique (variant), the software configuration is extremely complex (hundreds of interrelated variation points in software and hardware) ➜  Modified research objective: Product Line architectures in integrated control systems to support the configuration process ➜  Note: Despite decades of research in PLA, we could not find a methodology fitting our requirements ➜  Reference: Behjati et al. (2011) 18
  • 19. Project Example 4 ➜  Context: safety-critical embedded systems in the energy and maritime sectors, e.g., fire and gas monitoring, process shutdown, dynamic positioning (Kongsberg Maritime) ➜  Original scientific problem: Model-driven engineering for failure-mode and effect analysis ➜  Practical observations: Certification meetings with third-party certifiers. Certification is lengthy, expensive, etc. Traceability in large complex systems a priority. ➜  Modified research objective: Traceability between safety requirements and system design decisions. Solution based on SysML and a simple traceability language along with model slicing. 19
  • 20. Project Example 4 ➜  Context: safety-critical embedded systems in the energy and maritime sectors, e.g., fire and gas monitoring, process shutdown, dynamic positioning (Kongsberg Maritime) ➜  Original scientific problem: Model-driven engineering for failure-mode and effect analysis ➜  Practical observations: Certification meetings with third-party certifiers. Certification is lengthy, expensive, etc. Traceability in large complex systems a priority. ➜  Modified research objective: Traceability between safety requirements and system design decisions. Solution based on SysML and a simple traceability language along with model slicing. ➜  Reference: Sabetzadeh et al. (2011) 20
  • 21. Project Example 5 ➜  Context: Technology qualification (TQ) in maritime sector (DNV) ➜  Original scientific problem: Model-based quantitative safety analysis ➜  Practical observations: TQ is not purely objective, quantitative argument. Great complexity (e.g., sources of information) and expert judgment. Many stakeholders. ➜  Modified research objective: Modeling safety arguments to support quantitative reasoning and decision making by several stakeholders 21
  • 22. Project Example 5 ➜  Context: Technology qualification (TQ) in maritime sector (DNV) ➜  Original scientific problem: Model-based quantitative safety analysis ➜  Practical observations: TQ is not purely objective, quantitative argument. Great complexity (e.g., sources of information) and expert judgment. Many stakeholders. ➜  Modified research objective: Modeling safety arguments to support quantitative reasoning and decision making by several stakeholders ➜  Reference: Sabetzadeh et al. (2011) 22
  • 23. Two Other Examples on the ICSM Program ➜  Erik Rogstad et al., “Industrial Experiences with Automated Regression Testing of a Legacy Database Application” ➜  Amir Reza Yazdanshenas and Leon Moonen, “Crossing the Boundaries While Analyzing Heterogeneous Component-Based Software Systems” 23
  • 24. Successful Research Patterns ➜  Successful: Innovative and high impact ➜  Inductive research: Working from specific observations in real settings to broader generalizations and theories ➥ Field studies and replications, analyze commonalities ➜  Scalability and practicality considerations must be part of the initial research problem definition ➜  Researching by doing: Hands-on research. Apply what exists in well defined, realistic context, with clear objectives. The observed limitations become the research objectives. ➜  Multidisciplinary: other CS, Engineering, or non -technical domains 24
  • 25. So What? ➜  Making a conscious effort to understand the problem first ➥  Precisely identify the requirements for an applicable solution ➥  More papers focused on understanding the problems ➥  Making industry tracks first class citizens in SE conferences ➜  Better relationships between academia and industry ➥  Different models, e.g., Research-based innovation centers in Norway ➥  Common labs (e.g., NASA SEL Lab) ➥  Exposing PhD students to industry practice: Ethical considerations (Fixing the PhD, Nature) ➜  Playing an active role in solving the problem, e.g., action research-like 25
  • 26. So What? ➜  Work on end-to-end solutions: Pieces of solutions are interdependent. Necessary for impact. ➜  Beyond professors and students ➥ Labs with interdisciplinary teams of professional scientists and engineers within or collaborating with universities ➥ Used to be the case with corporate research labs: Bell Labs, Xerox PARC, HP labs, NASA SEL, etc. ➥ Now: Fraunhofer (Germany), Simula (Norway), Microsoft Research (US), SEI (US), SnT (Luxembourg) ➥ Corporate labs versus publicly supported ones? ➥ Key point: The level of basic funding must allow high risk research, performed by professional scientists, focused on impact in society 26
  • 27. The NASA SEL Experience Factory Model Basili et al. (NASA SEL) 27
  • 28. Academic Challenges ➜  Our CS legacy … emancipating ourselves as an engineering discipline ➥  Systems engineering departments? ➜  How cool is it? SE research is more driven by “fashion” than needs, a quest for silver bullets ➥  We can only blame ourselves ➜  Counting papers and how the JSS ranking does not help ➥  We are pressuring ourselves into irrelevance ➜  Taking academic tenure and promotion seriously ➥  What about rewarding impact? ➜  One’s research must cover a broader ground and be somewhat opportunistic – this pushes us out of our comfort zone ➜  Resources to support industry collaborations ➥  Large lab infrastructure, engineers, time 28
  • 29. Industrial Challenges ➜  From a discussion with Bran Selic … ➜  Short term versus longer term goals (next quarter’s forecast is the priority) ➜  Industrial research groups are often disconnected from their own business units and external researchers may be perceived as competitors ➜  Company’s intellectual property regulations may conflict with those of the research institution ➜  Complexity of industrial systems and technology ➥ Cannot be transplanted in artificial settings for research - Need studies in real settings ➥ Substantial domain knowledge is required 29
  • 30. A Double-Agent Life A new idea Scientist, (as initially trying to be perceived by discrete, but our partners) inquisitive Warning: No Practitioner research here (sanitized) 30
  • 31. Conclusions ➜  Software engineering is obviously important in all aspects of society, but academic software engineering research is not perceived the same way ➜  The academic community, at various levels, is partly responsible for this ➜  How we take up the challenge of increasing our impact will determine the future of the profession ➜  There are solutions, but no silver bullet ➜  We all have a role to play in this, as deans, department chairs, professors, scientists, reviewers, conference organizers, journal editors, etc. We can all be double-agents … 31
  • 32. Empirical Software Engineering ➜  Springer, 6 issues a year ➜  Both research papers and industry experience reports ➜  2nd highest impact factor among SE research journals ➜  “Applied software engineering research with a significant empirical component” 32
  • 33. References ➜  Ali, Briand, Hemmati, “Modeling Robustness Behavior Using Aspect-Oriented Modeling to Support Robustness Testing of Industrial Systems”, Journal of Software and Systems Modeling, forthcoming, 2011. ➜  Arcuri and Briand, “Adaptive Random Testing: An Illusion of Effectiveness”, ISSTA 2011 ➜  Basili, “Learning Through Application: The maturing of the QIP in the SEL”, Making Software; What really works and why we believe it, Edited by Andy Oram and Greg Wilson, O’Reilly Publishers, 2011, pp.65-78. ➜  Behjati, Yue, Briand and Selic , “SimPL: A Product-Line Modeling Methodology for Families of Integrated Control Systems”, Simula Technical Report 2011-14 (V. 2), Submitted. ➜  Hemmati, Briand, Arcuri, Ali “An Enhanced Test Case Selection Approach for Model -Based Testing: An Industrial Case Study”, FSE, 2010 ➜  Frouchni, Briand, Labiche, Grady, and Subramanyan, “Automating Image Segmentation Verification and Validation by Learning Test Oracles”, forthcoming in Information and Software Technology (Elsevier), 2011. 33
  • 34. References II ➜  Sabetzadeh, Nejati, Briand, Evensen Mills “Using SysML for Modeling of Safety -Critical Software–Hardware Interfaces: Guidelines and Industry Experience”, HASE, 2011 ➜  Parnin and Orso, “Are Automated Debugging Techniques Actually Helping Programmers?”, ISSTA, 2011 ➜  Sabetzadeh et al., “Combining Goal Models, Expert Elicitation, and Probabilistic Simulation for Qualification of New Technology”, HASE, 2011 ➜  Yoo and Harman, “Regression testing minimization, selection and prioritization: a survey”, STVR, Wiley, forthcoming ➜  Bertrand Meyer’s blog: http://bertrandmeyer.com/2010/04/25/the-other -impediment-to-software-engineering-research/ 34