SlideShare una empresa de Scribd logo
1 de 62
Descargar para leer sin conexión
Research-Based Innovation with Industry:
Project Experience and Lessons Learned
Lionel Briand, IEEE Fellow
FNR PEARL chair
May 18th, 2013
MISE 2013, San Francisco, CA
Talk Objectives
•  Identify success criteria in research projects with
industrial collaborators
•  Share concrete and practical guidelines
•  Illustrated with recent, personal projects
2
Acknowledgements
•  Shiva Nejati
•  Mehrdad Sabetzadeh
•  Nadia Alshahwan
•  Domenico Bianculli
•  Morayo Adedjouma
•  Elizabeta Fourneret
•  Reza Matinnejad
•  Dan Di Nardo
•  Chetan Arora
•  Razieh Bejati
•  …
3
Luxembourg*
•  Smaller than Rhode Island
•  One of the wealthiest
countries in the world
•  Young research focused
university (2003) and Ph.D.
programs (2007)
•  ICT security and reliability
is a national research
priority
•  Priorities implemented as
interdisciplinary centres
•  International city and
university
•  Three official languages:
English, French, German
4
SnT*Centre*
•  SnT centre, Est. 2009: Interdisciplinary, ICT
security, reliability, and trust (SnT)
•  180 scientists and Ph.D. candidates, 20
industry partners
•  SVV Lab: Established January 2012,
www.svv.lu
•  15 scientists (Research scientists,
associates, and PhD candidates)
•  Industry-relevant research on system
dependability: security, safety, reliability
•  Four partners: Cetrel, CTIE, Delphi, SES, …
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: Innovative engineering solutions
–  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
Mo8va8on*
7
• Closer industry involvement in MDE research:
•  Research informed by practice
•  Well-defined problems in context
•  Realistic evaluation
•  Long term industrial collaborations => Impact
•  Focus on pain points in industry
• Lessen dichotomy between research and innovation
• Research-driven innovation
• How do we do that?
896 IE E E S O F T WA R E | PU BLI S HE D BY THE IE E E C O MPU TE R S O C IE T Y 074 0 -74 5 9/12 / $ 31.0 0 © 2 012 I E E E
SOUNDING BOARD
continued on p. 93
Editor: Philippe Kruchten
University of British Columbia
pbk@ece.ubc.ca
Embracing the
Engineering Side of
Software Engineering
Lionel Briand
I HAVE NOW been a professional researcher
in software engineering for roughly 20 years.
Throughout that time, I’ve worked at univer-
sities and in research institutes and collabo-
rated on research projects with 30-odd pri-
vate companies and public institutions. Over
the years, I have increasingly questioned and
reflected on the impact and usefulness of my
research work and, as a result, made it a pri-
ority to combine my research with a genu-
ine involvement in actual engineering prob-
lems. This short piece aims to reflect on my
experiences in performing industry-relevant
software engineering research across several
countries and institutions.
Not So Hot Anymore
I suppose a logical start for this article is to
assess, albeit concisely, the current state of
software engineering research. As software
engineering is widely taught in many univer-
sities, due in large part to a strong demand
for software engineers in industry, the num-
ber of software engineering academics is sub-
stantial. The Journal of Systems and Soft-
ware ranks researchers every year, usually
accounting for roughly 4,000 individuals ac-
tively publishing in major journals.
When I started my career, software en-
gineering was definitely a hot topic in aca-
demia: funding was plentiful, and universi-
ties and research institutes were hiring in
record numbers. This clearly isn’t the case
anymore. Public funding for software engi-
neering research has at best stagnated, and
in many countries, declined significantly.
Hiring for research positions is limited and
falls far below the number of software engi-
neering graduates seeking research careers.
Industry attendance at scientific software
engineering conferences is roughly 10 per-
cent, including the scientists from corporate
research centers. Adding insult to injury, in
many academic and industry circles, soft-
ware engineering research isn’t even consid-
ered to be a real scientific discipline. I’ll spare
you the numerous unpleasant comments
about the credibility and scientific underpin-
ning of software engineering research that
I’ve heard over the years.
This situation isn’t due to the subject mat-
ter’s lack of relevance. Software systems are
pervasive in all industry sectors and have be-
come increasingly complex and critical. The
software engineering profession repeatedly
tops job-ranking surveys. In many cases, most
of a product’s innovation lies in its software
components—for an example, think of the
automotive industry. In all my recent industry
collaborations, I’ve observed that all the is-
sues and challenges traditionally faced in soft-
ware development are becoming more acute.
So how can we explain the paradox of be-
ing both highly relevant and increasingly un-
derfunded and discredited?
Looking for Some Answers
Like other disciplines before us, because
we’re a young and still-maturing engineer-
ing field, we lack the credibility of more
Related*work*
9
• [Mohagheghi & Dehlen 2008], [Hutchinson et al. 2011]:
• Investigate success and failure factors for MDE in industry
• Methods: literature reviews, surveys, and interviews
• [Selic 2012]:
• Reflection on both technical and non-technical considerations
to improve MDE penetration in the industry
• Our focus:
• MDE research in collaboration with the industry
• Personal experience across many projects
• Illustrated with (detailed) examples
MDE*Projects*Overview*(<*5*years)*
10
Company Domain Objective Notation Automation
ABB Robot controller Testing UML Model analysis for
coverage criteria
Cisco Video conference Testing (robustness) UML profile Metaheuristic search
Kongsberg Maritime Fire and gas safety
control system
Certification SysML + traceability Model slicing algorithm
Kongsberg Maritime Oil&gas, safety critical
drivers
CPU usage analysis UML+MARTE Constraint Solver
FMC Subsea system Automated
configuration
UML profile Constraint solver
WesternGeco Marine seismic
acquisition
Testing UML profile + MARTE Metaheuristic search
DNV Marine and Energy,
certification body
Compliance with safety
standards
UML profile Constraint verification
SES Satellite operator Testing UML profile Metaheuristic search
Delphi Automotive systems Testing (safety
+performance)
Matlab/Simulink Metaheuristic search
Lux. Tax department Legal & financial Legal Req. QA &
testing
Under investigation Under investigation
Industrial*collabora8on*model*
11
• Adapted from [Gorschek et al 2006]
• Similar to action research
• Solving a real-world problem while studying the experience of
solving it [Davison et al 2004]
• Difference with action research:
• More conservative in terms of intervention
• Researchers are not the agents of change
Defining*the*research*problems*
12
• An early observational study can identify and
decompose these fundamental problems
Lesson: The stated problem is often a manifestation
of one or more fundamental problems
Example: Integration problem in subsea/automotive
systems
• Investigation pointed to root causes of “integration problems”
• Subsea: Configuration
• Automotive: Balancing CPU usage
• Observational study also essential for mapping the
terms used by an industry partner to the terms used
in the research literature
Subsea*Integrated*Control*Systems*
13
http://subseaworldnews.com/
Subsea Christmas (Xmas) tree
Production
Injection
13
Integration problems!
*ModelJBased*Configura8on*
14
Configuration
engineer
Instant validation
Value inference
Automated guidance
Integra8on*in*Power*Train*Systems*
15
AUTOSAR Models
sw runnables
sw runnables
AUTOSAR Models
Glue
Balancing*CPU*Usage*Across*OS*Cycles*
16
•  Challenge
–  Integration problems!
–  Many OS tasks and their many runnables run within a limited
available CPU time
•  The execution time of the runnables may exceed the OS cycles
•  Our goal
–  Reducing the maximum CPU time used per time slot to be
able to
•  Reduce the possibility of overloading the CPU in practice
•  Minimize the hardware cost
•  Enable addition of new functions incrementally
5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms
✗
5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms
✔
(a)
(b)
Fig. 4. Two possible CPU time usage simulations for an OS task with a 5ms
to dead
run pas
by OS
divisib
offset
Contextual*factors*
17
• Contextual factors (incl. assumptions) determine
• what is feasible and what is not
• what is cost-effective and what is not
• what can be reused from the existing literature
and what needs a novel solution
Lesson: Context matters!
Examples:
• Automotive: Use of Matlab/Simulink, test phases
• Model-driven Testing based on Matlab/Simulink
• Satellite: Many stakeholders, requirements in natural language
• Quality assurance for natural language requirements?
Satellite*Ground*Control*Systems*
18
• MOC (Mission Operations Centre) system in EDRS
(European Data Relay Satellite)
Many*stakeholders,*Three*Tier*Requirements*
19
•  Many opportunities for misunderstanding and changes
•  Focus on automated requirements quality assurance
•  Natural language requirements
Applying*Templates*
• Motivation: Requirements statements are often expected to follow a
sentence template to maximize comprehension and minimize
ambiguity
• Example [Rupp 2009]
• Manually checking of conformance to templates is very tedious
• Especially in the context of many stakeholders and changes
• Questions: Can conformance to templates be checked automatically?
Do we need a glossary of key phrases (domain concepts)?
20
Syntac8c*checking*(con8nued)*
• Commercial tools already exist for syntax checking BUT …
• Results are poor when the glossary terms have not been specified
• … research suggests that most projects have substantial omissions in
glossaries, particularly in early stages
• Our goal: syntax checking with minimal reliance on glossaries
• … and provide recommendations for glossary terms
21
System Stakeholder
Action Verb Object
Example:
The Monitoring and Control component shall provide the system operator
with the ability to configure the database polling interval.
Conforms to template? Yes
Solu8on*Overview*
22
Glossary of key phrases not necessary
Tool*snapshot*
23
Context*Factors?*
•  Natural languages requirements
•  Many stakeholders
•  Frequent changes
•  Requirements documents approved as contractually
binding
•  …
24
Complexity*and*amount*of*soTware*used*on*vehicles’**
Electronic*Control*Units*(ECUs)*grow*rapidly**
More functions
Comfort and variety
Safety and reliability
Faster time-to-market
Less fuel consumption
Greenhouse gas emission laws
25
Three*major*soTware*development*stages*in**
the*automo8ve*domain*
26
MiL*tes8ng*
Requirements
•  The ultimate goal of MiL testing is to
ensure that individual functions behave
correctly and timely on any hardware
configuration
•  But is also a mechanism to select HiL test
cases
Individual Functions
27
Context*Factors?*
•  Stages of testing
•  Final testing stage extremely expensive and time
consuming
•  Systematic use of Matlab/Simulink at early stages
28
Improving*domain*understanding*and*communica8on*
29
• Helps researchers better understand the domain
• An essential communication tool between partners and
practitioners
• By product: Helps practitioners better organize, refine and
share their knowledge
Lesson: Build a domain model as early as possible.
Examples:
• Subsea: 71 classes: 46 for software and 24 for hardware
• Captures SW-HW relationships, configurable parameters,
variability points (60 – 80 person hours to build)
• Tax law: next
Subsea*Domain*Model*(Using*SimPL)*
30
Verifica8on*of*Tes8ng*and*Legal*Requirements*
31
IT
Engineers
Models
(i.e. without attachments), medium and large). However,
we should not expect a general agreement among users of
what can be considered as a medium message (or a small or
a large one respectively).
Figure 5. “When should I truncate?"
No-limit/Allow any
message
OR
Set limit to the size of
incoming messages
Allow only small messages
(those without attachment)
OR
Allow messages of
medium size
OR
Allow messages of
large-size
OR
Do not download
messages larger
than... = [No]
Do not download
messages larger
than... = [No]
(amount of Kbytes)...
= [[MsgSize].[S]]
(amount of Kbytes)... =
[[MsgSize].[M]]
(amount of Kbytes)... =
[[MsgSize].[L]]
Reduce Local Disk
Space Consumption
Reduce Network
Traffic Volume Cost
[d]
[d][d]
[f]
[f]
[f] [e]
[e]
Avoid Occasional
Network Congestions
[e]
[g]
Reduce Connection
Time Cost
[g] [g]--
-
Probability to misuse a
message (not attend it
properly)
Figure 6. Parameterizing goal models
Hence, we should rely on parameters which are valuated
using facts particular to each user. In our example, we can
use simple statistics based on the user’s e-mail traffic. The
result would be descriptions like the following:
[MsgSize].[S]: Average size of messages that
do not contain attachment. 50k by default
[MsgSize].[M]: Average size of messages that
contain at least one attachment. 1Mb by
default
...
Such parameter descriptions are essential part of the goal
model as they further enhance its adaptability to different
cases of users.
The same approach can be used to parameterize degrees
of contribution. In Figure 6, let us focus on two of the soft-
goals that are influenced by the available options. The one
is [Avoid Occasional Network Congestions]
that may occur when downloading a large attachment
through a slow connection; the goal refers to the frustration
or reduction of productivity this may cause. The second
is [Reduce Connection Time Cost] which might
be of importance depending on the charging policy of the
internet service provider.
The degree by which downloading a message of a partic-
ular size can hurt these goals cannot be generally assessed.
Thus we will again use parameters. For the first goal we
will base the estimation on the time it takes for the message
to download given the available bandwidth:
e =



0, if
(selected msg size)
(bandwidth) < 2 sec
−1, if 2 sec <
(selected msg size)
(bandwidth) < 1 min
−2, if 1 min <
(selected msg size)
(bandwidth)
Similarly, the contribution to the goal [Reduce Con-
nection Time Cost]
f =
(selected msg size)
(bandwidth)
×(cost per second)×(scaling factor)
Here, the scaling factor expresses the “significance” of
the objective cost for the particular user, in a way that the
formula returns a value between −2 and 0. Models for pa-
rameters d and g can be constructed similarly.
Of course, all models we mention above are naive exam-
ples and are given in order to illustrate how we can define
parameters in goal models. How elaborate the parameter
models should be, varies depending on the degree of granu-
larity and accuracy that needs to be achieved, the available
domain expertise, as well as the cost for the acquisition of
the appropriate measurements. In the worst case, a parame-
ter is “hardcoded” with a fixed value. In a better case, state-
of-the-art machine learning and monitoring frameworks can
be used to model the goal parameters and acquire the nec-
essary measurements respectively.
Parameterized goal models can provide a framework for
achieving synergy between adaptability and adaptiveness
([3]). On one hand, the selection of a particular alternative
in the goal model is a result of having the user to specify
her intentions. On the other hand, parameter models reflect
facts about the system, the context or even the user (e.g.
patterns/models of her behavior), that allow the system to
automatically adjust how exactly the user intention should
be translated into the actual system configuration. Thus, if
parameters are used, a system configuration may change not
only because the user intentions changed, but also because
the system decided to interpret them in a different way.
6. In Practice
In this section, we discuss our experience in applying the
method to Mozilla Thunderbird.
A preliminary step is to understand what aspect of the
system each item actually configures. In Table 1, we at-
tempt a categorization: although the majority of the items
configure functional and behavioral aspects of the system,
many of them are mainly either what we call structural
data (e.g. Login Name, Server Address, Folder
Context
models
Test
models Analysis
models
(Legal)
Requirements
models
Ac)vi)es
Lawyers
Public
Administration
Bodies
Stakeholders
Traceability+
Modeling+and+
Impact+Analysis
Automated+
Conformance+
Tes9ng
Requirements++
Modelling+and+
Transforma9on
Legal+Text+
Annota9on+
and+Markup
Traceability
models
Requirements+
Quality+
Assurance
Auditors
Users
Legal*Requirements:*Traceability*
32
System Requirements
Model
+ Constraints
Test Requirements
Model
+ Constraints
Tests
+ Tags
Tags
Tags
Law
Analysis*and*Verifica8on*of*Legal*Requirements*
*
33
•  Consistency checking of legal
requirements
•  The requirements are
“interpretations” of the law and
could therefore be inconsistent
•  Handling the constant evolution
of the law
•  How does the evolution of the
law impact legal requirements
and the developed system
•  Automated testing and run-time
verification
•  Identification of defects in the
developed software both before
and after deployment
(Very)*Par8al*Domain*model*for*one*Ar8cle*
34
Art.2 : Individuals are considered resident taxpayers if they have either their fiscal or habitual residence in
the Grand Duchy. Individuals are considered non-resident taxpayers if they neither have their fiscal nor their
habitual residence in the Grand Duchy and if they have local income within the meaning of section 156.
Resident taxpayers are subject to income tax because of their income, both local and foreign.
Non-resident taxpayers are subject to income tax only because of their local income within the meaning of
section156 below.
Ques8ons*for*Legal*Experts*
35
• Many interesting questions arise during modeling as the result
of following a systematic process:
• Examples:
• How many fiscal and habitual residences can a tax payer
have?
• Multiplicities over associations between taxpayer and
the relevant concepts
• What is local income:
• Do we refer to income paid by a Luxembourgish
company ? or
•  to income earned over work rendered in Luxembourg?
Important as in early stages, researchers need
to mentor by doing what they preach!
Considera8ons*about*input*
36
• The input has to match the expertise, culture, and processes
at the industry partner
Lesson: Input models should be feasible to build!
Example: safety-critical drivers in fire&gas monitoring
• SysML was used as the basis for modeling
• A general methodology was developed and later simplified
according to project needs and expertise of the partner
• Tool support was developed over a short time building on
Enterprise Architect and its SysML plugin
Lesson: Use standardized notations when possible
• Allows building on existing tools
• Avoids technology lock-in
• Reduces communication issues in a multi-organization setting
Gas&Fire**Monitoring*and*Emergency*Shutdown*
Interface
Control Modules
Hardware
Communicates commands and
data between control modules
and hardware
Expensive and lengthy
certification by third party
certifier
Observa8on*Study*of*Cer8fica8on*Mee8ngs*
• System certified by third party
• Drivers are SIL 3
• Attended certification meetings (observational study)
• Meetings focused on requirements, architecture, and design
documents
• Analyzed 66 distinct certification issues
61%
7 %
Numberofissues
32 %
Various
forms of
traceability
mandated
by
standards
Objec8ves,*Language,*Tool*
39
Traceability
Methodology
to relate safety
Requirements to design
Slicing
Algorithm
to extract a design slice
relevant to a given
safety requirement
Modeling*Methodology*
40
Automa8on:*SafeSlice*
41
•  Support Establishing Traceability
•  Generate Slices
•  Inspection Assistant
Less*than*perfect*input*
42
Be prepared for less than perfect models
• Better models lead to better analysis results BUT …
• When scales are large, compromises often have to be made
• Question: Can the proposed approach still be useful in the
presence of incompleteness and imprecision?
Example:
• CPU usage analysis for runnables in power train systems
• Can runnables run out of CPU?
• Can we minimize the risk?
• Imprecise WCET estimates
• Approximate knowledge of dependencies between runnables
• No possibility of using model checking (also related to previous
points about feasibility of inputs)
43
We*minimize*the*maximum*CPU*usage*using*
runnables*offsets*(delay*8mes)*
5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms
5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms
✗
✔
Inserting runnables’ offsets
Offsets have to be chosen such that
the maximum CPU usage per time slot is minimized, and further,
the runnables respect their period
the runnables respect the OS cycles
the runnnables satisfy their synchronization constraints
43
44
Meta*heuris8c*search**algorithms*
Case Study: an automotive software system with 430 runnables
Running the system without offsets
Simulation for the runnables in our case study and
corresponding to the lowest max CPU usage found by HC
5.34 ms
Our optimized offset assignment
2.13 ms
-  The objective function is the max CPU usage of a 2s-simulation of
runnables
-  Single-state search algorithms for discrete spaces (e.g., Tabu)
-  The search modifies one offset at a time, and updates other offsets
only if timing constraints are violated
-  Used restart option to make them more explorative
44
Training*
45
• Long course on the whole (UML) is not a good idea!
• Training must match what the proposed solutions need
Lesson: Train incrementally and based on needs
Example: Data Acquisition Systems (Satellites)
• Specific modeling methodology to support model-based
testing in this domain
• Course on how to use UML and OCL with that methodology
• Used an actual DAS for training
Lesson: Use examples and illustrations from the
industry partner’s application domain
• Textbook examples are often met with yawns!
• They have seen them all, several times!
• Quote from practitioner: “All these courses I attend use the
ATM example. I want to see how UML is applied to our system”.
46
Context: Data Acquisition Systems
DAS
Configurations
Log Files
Data
Structured/Complex
Defines
how input
files are
processed
Captures what
happened while
processing
Modeling and Test Automation Approach
47
Modeling
Input/output
Model
XSVE
System
Data
Log files
Test
Cases
Oracle
Checker
Mutation
Input/output
Model`
Selection
Input/output
Model`
Input
Generator
•  Model structure and content of input,
configuration, and output files
•  Model their mapping
Early*valida8on*not*synonymous*with*
ar8ficial*valida8on*
48
Validation in an artificial setting may have limited
value or may be impossible
• Artificial validation is not useful if benchmarks are non-existent
or are found to be unsuitable
• Contextual factors and level of complexity of the benchmarks
should be a match for the project
• Meaningful artificial validation may even be impossible!
Example: MiL and HiL Testing ECU control software
• MiL testing requires actual Matlab/Simulink models
• Realistic search performance and fault detection
• HiL testing: dedicated hardware
Testing Controller and Plant Simulink Models
Plant
Model
Controller
(SUT)
Desired value Error
Actual value
System output+
-
=<
~= 0
>=
time time time
DesiredValue&ActualValue
Desired Value
Actual Value
(a) (b) (c)Liveness Smoothness Responsiveness
x
y
z
v
w
49
MiL-Testing of Continuous Controllers
Exploration+
Controller-
plant model
Objective
Functions
Overview
Diagram
Test
Scenarios
List of
Regions
Local Search
Domain
Expert
time
Desired Value
Actual Value
0 1 2
0.0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1.0
Initial Desired
Final Desired
50
Random Search vs. (1+1)EA
Example with Responsiveness Analysis
Random (1+1) EA
51
Random search might have done well with a simple
artificial example
Choosing*pilot*studies*
52
A good pilot study should be (1) representative, (2)
feasible, and (3) relevant to current needs
• Representative: reflective of the characteristics of the industry
partner’s systems
• Feasible: commensurate with pilot study resources
• Relevant: dealing with ongoing activities, planned future
activities, or past activities with a horizon for future reuse
• Quick Research impact!
Example:
• Data Acquisition System: system currently under maintenance,
transmitted files in typical range, real test suite
• ECU software: typical closed loop controller, being tested, in
terms of configuration parameters
• Satellite ground control: Requirements were being defined,
verified, and modified
Mentorship*
53
Lesson: Mentor by doing!
• Be ready to provide a lot of help during realistic validation
• To show commitment and set a good example
• Mentoring is paramount if the partner is not using MDE
regularly
• Once practitioners become proficient, researchers’ help
should be phased out
Example: Data Acquisition System
•  Modeling tutorials
•  Modeled an actual DAS with their help
•  Mentoring on modeling other DAS
Drumming*up*support**
Lesson: Find internal champions for the solution.
• One or more champions are needed to:
• spread the word about the research
• connect the dots for the management
• develop a strategy for integrating the solution
• Champions need to have developed a strong sense of
trust in the researchers and the research
• Champions are usually people with a genuine intellectual
interest in the topic
• You need to support them and make them excited and
proud about what they do. Show your appreciation.
• It may take time to find the right person in the
organization
Managing*the*rela8onship*with*industry*partners*
55
• Focus must be kept on recurring, long-lasting, and
unsolved problems
•  Expectations that cannot be met
• Working as a consultant
• Building professional tools
• Avoid short-term partnerships
• At least 3 years of commitment to be expected
• Bare minimum to conclude the research for a PhD
• This usually tips the balance in favor of collaboration with
larger organizations
• Communicate and follow up frequently
• If you have not talked to a partner company in 3
months then something is wrong!
Publishing*the*results*
56
•  Possible tension between the research model and
publication:
• Industry is interested in end-to-end solutions
• A solution often has different components, each belonging
to a different (SE) research community
• Not always easy to determine how to report and what
venue to aim for
• Example: Metaheuristic search and MDE in Delphi example
on CPU balancing
• More thorny issue: interdisciplinary results!
• Many real-world problems are at a systems level
• Software is only one part and may be difficult to isolate from
hardware and mechanical devices
• Interdisciplinary work is still notoriously hard to publish!
• More room is needed for systems engineering research
FAQ*
57
•  Aren’t your research results specific to an industry
partner? How do they generalize?
• SE solutions are generally not applicable across domains
• Partners are not unique, they capture the practices of an industry
• We are better off with solutions that apply to a domain, than
solutions that have not shown to apply anywhere
• Generalization comes from replications
• Make your working assumptions explicit
•  Aren’t we constraining our creativity as researchers?
Shouldn’t we focus on “good” idea?
• In engineering, it is as “good” as it works
• Everything else is marketing or academic hype
• Shouldn’t we work, as researchers, on future problems
the industry will face?
• How can anybody claim to know future needs without
understanding current ones?
Summary*
58
•  Introduced a research paradigm & process, and general
lessons learned that can be useful to other researchers
•  Research is coupled with knowledge transfer
• It promotes intertwining of research and industrial innovation to
increase the impact of research
• Emphasis is placed on early involvement of industry
• This increases chances of impact and adoption, mentoring
opportunities, and creates a sense of ownership
• Work to be viewed as a step towards reducing the gap between
software engineering research and practice
Contact'Info:'
Lionel*Briand*
lionel.briand@uni.lu**
*
SoTware*Verifica8on*and*Valida8on*Laboratory*(h_p://www.svv.lu)**
Centre*for*ICT*Security,*Reliability,*and*Trust*(SnT)*
University*of*Luxembourg*
*
Ques8ons?*
Thank*you!*
References*on*MDE*Adop8on*and*Transfer*
60
•  [Mohagheghi & Dehlen 2008]: P. Mohagheghi, V. Dehlen. Where Is the
Proof? - A Review of Experiences from Applying MDE in Industry.
ECMDA-FA 2008.
•  [Hutchinson et al. 2011]: J. Hutchinson, J. Whittle, M. Rouncefield, S.
Kristoffersen. Empirical assessment of MDE in industry. ICSE 2011.
•  [Selic 2012]: B. Selic. What will it take? A view on adoption of model-
based methods in practice. Softw Syst Model, 2012.
•  [Gorschek et al 2006]: T. Gorschek, P. Garre, S. Larsson, C. Wohlin. A
Model for Technology Transfer in Practice. IEEE Software 23(6), 2006.
•  [Davison et al 2004]: R. Davison, M. Martinsons, N. Kock. Principles of
canonical action research. Information Systems Journal (14), 2004.
Selected Personal References
•  L. Briand, Y. Labiche, and M. Shousha, “Using genetic algorithms for early
schedulability analysis and stress testing in real-time systems”, Genetic
Programming and Evolvable Machines, vol. 7 no. 2, pp. 145-170, 2006
•  M. Shousha, L. Briand, and Y. Labiche, “UML/MARTE Model Analysis Method
for Uncovering Scenarios Leading to Starvation and Deadlocks in Concurrent
Systems”, IEEE Transactions on Software Engineering 38(2), 2012.
•  Z. Iqbal, A. Arcuri, L. Briand, “Empirical Investigation of Search Algorithms for
Environment Model-Based Testing of Real-Time Embedded Software”, ACM
ISSTA 2012
•  S. Nejati, S. Di Alesio, M. Sabetzadeh, L. Briand, “Modeling and Analysis of
CPU Usage in Safety-Critical Embedded Systems to Support Stress Testing”,
ACM/IEEE MODELS 2012
•  Shiva Nejati, Mehrdad Sabetzadeh, Davide Falessi, Lionel C. Briand, Thierry
Coq, “A SysML-based approach to traceability management and design slicing
in support of safety certification: Framework, tool support, and case studies”,
Information & Software Technology 54(6): 569-590 (2012)
•  Lionel Briand et al., “Traceability and SysML Design Slices to Support Safety
Inspections: A Controlled Experiment”, forthcoming in ACM Transactions on
Software Engineering and Methodology, 2013
61
Selected Personal References (cont.)
•  Rajwinder Kaur Panesar-Walawege, Mehrdad Sabetzadeh, Lionel C. Briand:
Supporting the verification of compliance to safety standards via model-driven
engineering: Approach, tool-support and empirical validation. Information &
Software Technology 55(5): 836-864 (2013)
•  Razieh Behjati, Tao Yue, Lionel C. Briand, Bran Selic: SimPL: A product-line
modeling methodology for families of integrated control systems. Information &
Software Technology 55(3): 607-629 (2013)
•  Hadi Hemmati, Andrea Arcuri, Lionel C. Briand: Achieving scalable model-based
testing through test case diversity. ACM Trans. Softw. Eng. Methodol. 22(1): 6
(2013)
•  Nina Elisabeth Holt, Richard Torkar, Lionel C. Briand, Kai Hansen: State-Based
Testing: Industrial Evaluation of the Cost-Effectiveness of Round-Trip Path and
Sneak-Path Strategies. ISSRE 2012: 321-330
•  Razieh Behjati, Tao Yue, Lionel C. Briand: A Modeling Approach to Support the
Similarity-Based Reuse of Configuration Data. MoDELS 2012: 497-513
•  Shaukat Ali, Lionel C. Briand, Andrea Arcuri, Suneth Walawege: An Industrial
Application of Robustness Testing Using Aspect-Oriented Modeling, UML/
MARTE, and Search Algorithms. MoDELS 2011: 108-122
62

Más contenido relacionado

La actualidad más candente

Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingLionel Briand
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Lionel Briand
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsLionel Briand
 
Decision Support for Security-Control Identification Using Machine Learning
Decision Support for Security-Control Identification Using Machine LearningDecision Support for Security-Control Identification Using Machine Learning
Decision Support for Security-Control Identification Using Machine LearningLionel Briand
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesLionel Briand
 
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...Lionel Briand
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynoteShiva Nejati
 
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...Lionel Briand
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsLionel Briand
 
Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)SungdoGu
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsAhmed Magdy Ezzeldin, MSc.
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...RAKESH RANA
 
Defect Prediction Over Software Life Cycle in Automotive Domain
Defect Prediction Over Software Life Cycle   in Automotive DomainDefect Prediction Over Software Life Cycle   in Automotive Domain
Defect Prediction Over Software Life Cycle in Automotive DomainRAKESH RANA
 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Lionel Briand
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyTim Menzies
 
Machine learning testing survey, landscapes and horizons, the Cliff Notes
Machine learning testing  survey, landscapes and horizons, the Cliff NotesMachine learning testing  survey, landscapes and horizons, the Cliff Notes
Machine learning testing survey, landscapes and horizons, the Cliff NotesHeemeng Foo
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionMinh Nguyen
 
Automated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignLionel Briand
 
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...Lionel Briand
 

La actualidad más candente (20)

Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Artificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software TestingArtificial Intelligence for Automated Software Testing
Artificial Intelligence for Automated Software Testing
 
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
Analyzing Natural-Language Requirements: The Not-too-sexy and Yet Curiously D...
 
Automated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance SystemsAutomated Testing of Autonomous Driving Assistance Systems
Automated Testing of Autonomous Driving Assistance Systems
 
Decision Support for Security-Control Identification Using Machine Learning
Decision Support for Security-Control Identification Using Machine LearningDecision Support for Security-Control Identification Using Machine Learning
Decision Support for Security-Control Identification Using Machine Learning
 
Testing of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven StrategiesTesting of Cyber-Physical Systems: Diversity-driven Strategies
Testing of Cyber-Physical Systems: Diversity-driven Strategies
 
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
HITECS: A UML Profile and Analysis Framework for Hardware-in-the-Loop Testing...
 
SSBSE 2020 keynote
SSBSE 2020 keynoteSSBSE 2020 keynote
SSBSE 2020 keynote
 
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
Achieving Scalability in Software Testing with Machine Learning and Metaheuri...
 
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive SystemsTesting the Untestable: Model Testing of Complex Software-Intensive Systems
Testing the Untestable: Model Testing of Complex Software-Intensive Systems
 
Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)Feature Selection Techniques for Software Fault Prediction (Summary)
Feature Selection Techniques for Software Fault Prediction (Summary)
 
A survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithmsA survey of fault prediction using machine learning algorithms
A survey of fault prediction using machine learning algorithms
 
The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...The adoption of machine learning techniques for software defect prediction: A...
The adoption of machine learning techniques for software defect prediction: A...
 
Defect Prediction Over Software Life Cycle in Automotive Domain
Defect Prediction Over Software Life Cycle   in Automotive DomainDefect Prediction Over Software Life Cycle   in Automotive Domain
Defect Prediction Over Software Life Cycle in Automotive Domain
 
Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!Documented Requirements are not Useless After All!
Documented Requirements are not Useless After All!
 
Decision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by AnalogyDecision Support Analyss for Software Effort Estimation by Analogy
Decision Support Analyss for Software Effort Estimation by Analogy
 
Machine learning testing survey, landscapes and horizons, the Cliff Notes
Machine learning testing  survey, landscapes and horizons, the Cliff NotesMachine learning testing  survey, landscapes and horizons, the Cliff Notes
Machine learning testing survey, landscapes and horizons, the Cliff Notes
 
Odin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_PredictionOdin2018_Minh_ML_Risk_Prediction
Odin2018_Minh_ML_Risk_Prediction
 
Automated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and DesignAutomated Change Impact Analysis between SysML Models of Requirements and Design
Automated Change Impact Analysis between SysML Models of Requirements and Design
 
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
PUMConf: A Tool to Configure Product Specific Use Case and Domain Models in a...
 

Similar a Research-Based Innovation with Industry: Project Experience and Lessons Learned

Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Lionel Briand
 
Cultivating Sustainable Software For Research
Cultivating Sustainable Software For ResearchCultivating Sustainable Software For Research
Cultivating Sustainable Software For ResearchNeil Chue Hong
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLESIvano Malavolta
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesTao Xie
 
Why is Test Driven Development for Analytics or Data Projects so Hard?
Why is Test Driven Development for Analytics or Data Projects so Hard?Why is Test Driven Development for Analytics or Data Projects so Hard?
Why is Test Driven Development for Analytics or Data Projects so Hard?Phil Watt
 
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Vahid Garousi
 
Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation Modelon
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialBreno de França
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesPhilipp Leitner
 
Capstone Presentation 2015 - Quality+
Capstone Presentation 2015 - Quality+Capstone Presentation 2015 - Quality+
Capstone Presentation 2015 - Quality+Eric M. Pastore
 
Uncovering Emerging Information Trends in Information Technology
Uncovering Emerging Information Trends in Information TechnologyUncovering Emerging Information Trends in Information Technology
Uncovering Emerging Information Trends in Information TechnologyEric M. Pastore
 
F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013Janne Järvinen
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software EngineeringMd.Nazmul Islam
 
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).pptDHIRENDRAHUDDA
 
2016: Applying AI Innovation in Business
2016: Applying AI Innovation in Business2016: Applying AI Innovation in Business
2016: Applying AI Innovation in BusinessLeandro de Castro
 
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)Radu Marinescu
 
Why is TDD so hard for Data Engineering and Analytics Projects?
Why is TDD so hard for Data Engineering and Analytics Projects?Why is TDD so hard for Data Engineering and Analytics Projects?
Why is TDD so hard for Data Engineering and Analytics Projects?Phil Watt
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 pptDr VISU P
 

Similar a Research-Based Innovation with Industry: Project Experience and Lessons Learned (20)

Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.Software Engineering Research: Leading a Double-Agent Life.
Software Engineering Research: Leading a Double-Agent Life.
 
Cultivating Sustainable Software For Research
Cultivating Sustainable Software For ResearchCultivating Sustainable Software For Research
Cultivating Sustainable Software For Research
 
[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES[2015/2016] Software systems engineering PRINCIPLES
[2015/2016] Software systems engineering PRINCIPLES
 
Software Analytics - Achievements and Challenges
Software Analytics - Achievements and ChallengesSoftware Analytics - Achievements and Challenges
Software Analytics - Achievements and Challenges
 
Why is Test Driven Development for Analytics or Data Projects so Hard?
Why is Test Driven Development for Analytics or Data Projects so Hard?Why is Test Driven Development for Analytics or Data Projects so Hard?
Why is Test Driven Development for Analytics or Data Projects so Hard?
 
Week1.pptx
Week1.pptxWeek1.pptx
Week1.pptx
 
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
Industry-academia collaborations in Software Engineering: 20+ Years of Experi...
 
Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation Emerging standards and support organizations within engineering simulation
Emerging standards and support organizations within engineering simulation
 
Continuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorialContinuous Software Engineering - A tutorial
Continuous Software Engineering - A tutorial
 
Software Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and ChallengesSoftware Development for the Cloud - Trends, Opportunities, and Challenges
Software Development for the Cloud - Trends, Opportunities, and Challenges
 
Making Software and Software Engineering visible
Making Software and Software Engineering visibleMaking Software and Software Engineering visible
Making Software and Software Engineering visible
 
Capstone Presentation 2015 - Quality+
Capstone Presentation 2015 - Quality+Capstone Presentation 2015 - Quality+
Capstone Presentation 2015 - Quality+
 
Uncovering Emerging Information Trends in Information Technology
Uncovering Emerging Information Trends in Information TechnologyUncovering Emerging Information Trends in Information Technology
Uncovering Emerging Information Trends in Information Technology
 
F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013F-Secure Cloud Software icgse2013
F-Secure Cloud Software icgse2013
 
Introduction to Software Engineering
Introduction to Software EngineeringIntroduction to Software Engineering
Introduction to Software Engineering
 
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320  SOFTWARE ENGINEERING Lecture01 (1).pptCSE320  SOFTWARE ENGINEERING Lecture01 (1).ppt
CSE320 SOFTWARE ENGINEERING Lecture01 (1).ppt
 
2016: Applying AI Innovation in Business
2016: Applying AI Innovation in Business2016: Applying AI Innovation in Business
2016: Applying AI Innovation in Business
 
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
The Good the Bad and the Ugly of Dealing with Smelly Code (ITAKE Unconference)
 
Why is TDD so hard for Data Engineering and Analytics Projects?
Why is TDD so hard for Data Engineering and Analytics Projects?Why is TDD so hard for Data Engineering and Analytics Projects?
Why is TDD so hard for Data Engineering and Analytics Projects?
 
Oose unit 1 ppt
Oose unit 1 pptOose unit 1 ppt
Oose unit 1 ppt
 

Más de Lionel Briand

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalLionel Briand
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLionel Briand
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityLionel Briand
 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Lionel Briand
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingLionel Briand
 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsLionel Briand
 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsLionel Briand
 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...Lionel Briand
 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Lionel Briand
 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsLionel Briand
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingLionel Briand
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Lionel Briand
 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyLionel Briand
 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Lionel Briand
 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationLionel Briand
 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Lionel Briand
 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...Lionel Briand
 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Lionel Briand
 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Lionel Briand
 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...Lionel Briand
 

Más de Lionel Briand (20)

Precise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive GoalPrecise and Complete Requirements? An Elusive Goal
Precise and Complete Requirements? An Elusive Goal
 
Large Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and RepairLarge Language Models for Test Case Evolution and Repair
Large Language Models for Test Case Evolution and Repair
 
Metamorphic Testing for Web System Security
Metamorphic Testing for Web System SecurityMetamorphic Testing for Web System Security
Metamorphic Testing for Web System Security
 
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
Simulator-based Explanation and Debugging of Hazard-triggering Events in DNN-...
 
Fuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation TestingFuzzing for CPS Mutation Testing
Fuzzing for CPS Mutation Testing
 
Data-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical SystemsData-driven Mutation Analysis for Cyber-Physical Systems
Data-driven Mutation Analysis for Cyber-Physical Systems
 
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled SystemsMany-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
Many-Objective Reinforcement Learning for Online Testing of DNN-Enabled Systems
 
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolu...
 
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
Black-box Safety Analysis and Retraining of DNNs based on Feature Extraction ...
 
PRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System LogsPRINS: Scalable Model Inference for Component-based System Logs
PRINS: Scalable Model Inference for Component-based System Logs
 
Revisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software TestingRevisiting the Notion of Diversity in Software Testing
Revisiting the Notion of Diversity in Software Testing
 
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...Applications of Search-based Software Testing to Trustworthy Artificial Intel...
Applications of Search-based Software Testing to Trustworthy Artificial Intel...
 
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and SafetyAutonomous Systems: How to Address the Dilemma between Autonomy and Safety
Autonomous Systems: How to Address the Dilemma between Autonomy and Safety
 
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
Mathematicians, Social Scientists, or Engineers? The Split Minds of Software ...
 
Reinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case PrioritizationReinforcement Learning for Test Case Prioritization
Reinforcement Learning for Test Case Prioritization
 
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
Mutation Analysis for Cyber-Physical Systems: Scalable Solutions and Results ...
 
On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...On Systematically Building a Controlled Natural Language for Functional Requi...
On Systematically Building a Controlled Natural Language for Functional Requi...
 
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
Efficient Online Testing for DNN-Enabled Systems using Surrogate-Assisted and...
 
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...Guidelines for Assessing the Accuracy of Log Message Template Identification ...
Guidelines for Assessing the Accuracy of Log Message Template Identification ...
 
A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...A Theoretical Framework for Understanding the Relationship between Log Parsin...
A Theoretical Framework for Understanding the Relationship between Log Parsin...
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfhans926745
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
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
 
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 Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
[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
 
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
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
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 Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
[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
 
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...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Research-Based Innovation with Industry: Project Experience and Lessons Learned

  • 1. Research-Based Innovation with Industry: Project Experience and Lessons Learned Lionel Briand, IEEE Fellow FNR PEARL chair May 18th, 2013 MISE 2013, San Francisco, CA
  • 2. Talk Objectives •  Identify success criteria in research projects with industrial collaborators •  Share concrete and practical guidelines •  Illustrated with recent, personal projects 2
  • 3. Acknowledgements •  Shiva Nejati •  Mehrdad Sabetzadeh •  Nadia Alshahwan •  Domenico Bianculli •  Morayo Adedjouma •  Elizabeta Fourneret •  Reza Matinnejad •  Dan Di Nardo •  Chetan Arora •  Razieh Bejati •  … 3
  • 4. Luxembourg* •  Smaller than Rhode Island •  One of the wealthiest countries in the world •  Young research focused university (2003) and Ph.D. programs (2007) •  ICT security and reliability is a national research priority •  Priorities implemented as interdisciplinary centres •  International city and university •  Three official languages: English, French, German 4
  • 5. SnT*Centre* •  SnT centre, Est. 2009: Interdisciplinary, ICT security, reliability, and trust (SnT) •  180 scientists and Ph.D. candidates, 20 industry partners •  SVV Lab: Established January 2012, www.svv.lu •  15 scientists (Research scientists, associates, and PhD candidates) •  Industry-relevant research on system dependability: security, safety, reliability •  Four partners: Cetrel, CTIE, Delphi, SES, … 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: Innovative engineering solutions –  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. Mo8va8on* 7 • Closer industry involvement in MDE research: •  Research informed by practice •  Well-defined problems in context •  Realistic evaluation •  Long term industrial collaborations => Impact •  Focus on pain points in industry • Lessen dichotomy between research and innovation • Research-driven innovation • How do we do that?
  • 8. 896 IE E E S O F T WA R E | PU BLI S HE D BY THE IE E E C O MPU TE R S O C IE T Y 074 0 -74 5 9/12 / $ 31.0 0 © 2 012 I E E E SOUNDING BOARD continued on p. 93 Editor: Philippe Kruchten University of British Columbia pbk@ece.ubc.ca Embracing the Engineering Side of Software Engineering Lionel Briand I HAVE NOW been a professional researcher in software engineering for roughly 20 years. Throughout that time, I’ve worked at univer- sities and in research institutes and collabo- rated on research projects with 30-odd pri- vate companies and public institutions. Over the years, I have increasingly questioned and reflected on the impact and usefulness of my research work and, as a result, made it a pri- ority to combine my research with a genu- ine involvement in actual engineering prob- lems. This short piece aims to reflect on my experiences in performing industry-relevant software engineering research across several countries and institutions. Not So Hot Anymore I suppose a logical start for this article is to assess, albeit concisely, the current state of software engineering research. As software engineering is widely taught in many univer- sities, due in large part to a strong demand for software engineers in industry, the num- ber of software engineering academics is sub- stantial. The Journal of Systems and Soft- ware ranks researchers every year, usually accounting for roughly 4,000 individuals ac- tively publishing in major journals. When I started my career, software en- gineering was definitely a hot topic in aca- demia: funding was plentiful, and universi- ties and research institutes were hiring in record numbers. This clearly isn’t the case anymore. Public funding for software engi- neering research has at best stagnated, and in many countries, declined significantly. Hiring for research positions is limited and falls far below the number of software engi- neering graduates seeking research careers. Industry attendance at scientific software engineering conferences is roughly 10 per- cent, including the scientists from corporate research centers. Adding insult to injury, in many academic and industry circles, soft- ware engineering research isn’t even consid- ered to be a real scientific discipline. I’ll spare you the numerous unpleasant comments about the credibility and scientific underpin- ning of software engineering research that I’ve heard over the years. This situation isn’t due to the subject mat- ter’s lack of relevance. Software systems are pervasive in all industry sectors and have be- come increasingly complex and critical. The software engineering profession repeatedly tops job-ranking surveys. In many cases, most of a product’s innovation lies in its software components—for an example, think of the automotive industry. In all my recent industry collaborations, I’ve observed that all the is- sues and challenges traditionally faced in soft- ware development are becoming more acute. So how can we explain the paradox of be- ing both highly relevant and increasingly un- derfunded and discredited? Looking for Some Answers Like other disciplines before us, because we’re a young and still-maturing engineer- ing field, we lack the credibility of more
  • 9. Related*work* 9 • [Mohagheghi & Dehlen 2008], [Hutchinson et al. 2011]: • Investigate success and failure factors for MDE in industry • Methods: literature reviews, surveys, and interviews • [Selic 2012]: • Reflection on both technical and non-technical considerations to improve MDE penetration in the industry • Our focus: • MDE research in collaboration with the industry • Personal experience across many projects • Illustrated with (detailed) examples
  • 10. MDE*Projects*Overview*(<*5*years)* 10 Company Domain Objective Notation Automation ABB Robot controller Testing UML Model analysis for coverage criteria Cisco Video conference Testing (robustness) UML profile Metaheuristic search Kongsberg Maritime Fire and gas safety control system Certification SysML + traceability Model slicing algorithm Kongsberg Maritime Oil&gas, safety critical drivers CPU usage analysis UML+MARTE Constraint Solver FMC Subsea system Automated configuration UML profile Constraint solver WesternGeco Marine seismic acquisition Testing UML profile + MARTE Metaheuristic search DNV Marine and Energy, certification body Compliance with safety standards UML profile Constraint verification SES Satellite operator Testing UML profile Metaheuristic search Delphi Automotive systems Testing (safety +performance) Matlab/Simulink Metaheuristic search Lux. Tax department Legal & financial Legal Req. QA & testing Under investigation Under investigation
  • 11. Industrial*collabora8on*model* 11 • Adapted from [Gorschek et al 2006] • Similar to action research • Solving a real-world problem while studying the experience of solving it [Davison et al 2004] • Difference with action research: • More conservative in terms of intervention • Researchers are not the agents of change
  • 12. Defining*the*research*problems* 12 • An early observational study can identify and decompose these fundamental problems Lesson: The stated problem is often a manifestation of one or more fundamental problems Example: Integration problem in subsea/automotive systems • Investigation pointed to root causes of “integration problems” • Subsea: Configuration • Automotive: Balancing CPU usage • Observational study also essential for mapping the terms used by an industry partner to the terms used in the research literature
  • 16. Balancing*CPU*Usage*Across*OS*Cycles* 16 •  Challenge –  Integration problems! –  Many OS tasks and their many runnables run within a limited available CPU time •  The execution time of the runnables may exceed the OS cycles •  Our goal –  Reducing the maximum CPU time used per time slot to be able to •  Reduce the possibility of overloading the CPU in practice •  Minimize the hardware cost •  Enable addition of new functions incrementally 5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms ✗ 5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms ✔ (a) (b) Fig. 4. Two possible CPU time usage simulations for an OS task with a 5ms to dead run pas by OS divisib offset
  • 17. Contextual*factors* 17 • Contextual factors (incl. assumptions) determine • what is feasible and what is not • what is cost-effective and what is not • what can be reused from the existing literature and what needs a novel solution Lesson: Context matters! Examples: • Automotive: Use of Matlab/Simulink, test phases • Model-driven Testing based on Matlab/Simulink • Satellite: Many stakeholders, requirements in natural language • Quality assurance for natural language requirements?
  • 18. Satellite*Ground*Control*Systems* 18 • MOC (Mission Operations Centre) system in EDRS (European Data Relay Satellite)
  • 19. Many*stakeholders,*Three*Tier*Requirements* 19 •  Many opportunities for misunderstanding and changes •  Focus on automated requirements quality assurance •  Natural language requirements
  • 20. Applying*Templates* • Motivation: Requirements statements are often expected to follow a sentence template to maximize comprehension and minimize ambiguity • Example [Rupp 2009] • Manually checking of conformance to templates is very tedious • Especially in the context of many stakeholders and changes • Questions: Can conformance to templates be checked automatically? Do we need a glossary of key phrases (domain concepts)? 20
  • 21. Syntac8c*checking*(con8nued)* • Commercial tools already exist for syntax checking BUT … • Results are poor when the glossary terms have not been specified • … research suggests that most projects have substantial omissions in glossaries, particularly in early stages • Our goal: syntax checking with minimal reliance on glossaries • … and provide recommendations for glossary terms 21 System Stakeholder Action Verb Object Example: The Monitoring and Control component shall provide the system operator with the ability to configure the database polling interval. Conforms to template? Yes
  • 22. Solu8on*Overview* 22 Glossary of key phrases not necessary
  • 24. Context*Factors?* •  Natural languages requirements •  Many stakeholders •  Frequent changes •  Requirements documents approved as contractually binding •  … 24
  • 25. Complexity*and*amount*of*soTware*used*on*vehicles’** Electronic*Control*Units*(ECUs)*grow*rapidly** More functions Comfort and variety Safety and reliability Faster time-to-market Less fuel consumption Greenhouse gas emission laws 25
  • 27. MiL*tes8ng* Requirements •  The ultimate goal of MiL testing is to ensure that individual functions behave correctly and timely on any hardware configuration •  But is also a mechanism to select HiL test cases Individual Functions 27
  • 28. Context*Factors?* •  Stages of testing •  Final testing stage extremely expensive and time consuming •  Systematic use of Matlab/Simulink at early stages 28
  • 29. Improving*domain*understanding*and*communica8on* 29 • Helps researchers better understand the domain • An essential communication tool between partners and practitioners • By product: Helps practitioners better organize, refine and share their knowledge Lesson: Build a domain model as early as possible. Examples: • Subsea: 71 classes: 46 for software and 24 for hardware • Captures SW-HW relationships, configurable parameters, variability points (60 – 80 person hours to build) • Tax law: next
  • 31. Verifica8on*of*Tes8ng*and*Legal*Requirements* 31 IT Engineers Models (i.e. without attachments), medium and large). However, we should not expect a general agreement among users of what can be considered as a medium message (or a small or a large one respectively). Figure 5. “When should I truncate?" No-limit/Allow any message OR Set limit to the size of incoming messages Allow only small messages (those without attachment) OR Allow messages of medium size OR Allow messages of large-size OR Do not download messages larger than... = [No] Do not download messages larger than... = [No] (amount of Kbytes)... = [[MsgSize].[S]] (amount of Kbytes)... = [[MsgSize].[M]] (amount of Kbytes)... = [[MsgSize].[L]] Reduce Local Disk Space Consumption Reduce Network Traffic Volume Cost [d] [d][d] [f] [f] [f] [e] [e] Avoid Occasional Network Congestions [e] [g] Reduce Connection Time Cost [g] [g]-- - Probability to misuse a message (not attend it properly) Figure 6. Parameterizing goal models Hence, we should rely on parameters which are valuated using facts particular to each user. In our example, we can use simple statistics based on the user’s e-mail traffic. The result would be descriptions like the following: [MsgSize].[S]: Average size of messages that do not contain attachment. 50k by default [MsgSize].[M]: Average size of messages that contain at least one attachment. 1Mb by default ... Such parameter descriptions are essential part of the goal model as they further enhance its adaptability to different cases of users. The same approach can be used to parameterize degrees of contribution. In Figure 6, let us focus on two of the soft- goals that are influenced by the available options. The one is [Avoid Occasional Network Congestions] that may occur when downloading a large attachment through a slow connection; the goal refers to the frustration or reduction of productivity this may cause. The second is [Reduce Connection Time Cost] which might be of importance depending on the charging policy of the internet service provider. The degree by which downloading a message of a partic- ular size can hurt these goals cannot be generally assessed. Thus we will again use parameters. For the first goal we will base the estimation on the time it takes for the message to download given the available bandwidth: e =    0, if (selected msg size) (bandwidth) < 2 sec −1, if 2 sec < (selected msg size) (bandwidth) < 1 min −2, if 1 min < (selected msg size) (bandwidth) Similarly, the contribution to the goal [Reduce Con- nection Time Cost] f = (selected msg size) (bandwidth) ×(cost per second)×(scaling factor) Here, the scaling factor expresses the “significance” of the objective cost for the particular user, in a way that the formula returns a value between −2 and 0. Models for pa- rameters d and g can be constructed similarly. Of course, all models we mention above are naive exam- ples and are given in order to illustrate how we can define parameters in goal models. How elaborate the parameter models should be, varies depending on the degree of granu- larity and accuracy that needs to be achieved, the available domain expertise, as well as the cost for the acquisition of the appropriate measurements. In the worst case, a parame- ter is “hardcoded” with a fixed value. In a better case, state- of-the-art machine learning and monitoring frameworks can be used to model the goal parameters and acquire the nec- essary measurements respectively. Parameterized goal models can provide a framework for achieving synergy between adaptability and adaptiveness ([3]). On one hand, the selection of a particular alternative in the goal model is a result of having the user to specify her intentions. On the other hand, parameter models reflect facts about the system, the context or even the user (e.g. patterns/models of her behavior), that allow the system to automatically adjust how exactly the user intention should be translated into the actual system configuration. Thus, if parameters are used, a system configuration may change not only because the user intentions changed, but also because the system decided to interpret them in a different way. 6. In Practice In this section, we discuss our experience in applying the method to Mozilla Thunderbird. A preliminary step is to understand what aspect of the system each item actually configures. In Table 1, we at- tempt a categorization: although the majority of the items configure functional and behavioral aspects of the system, many of them are mainly either what we call structural data (e.g. Login Name, Server Address, Folder Context models Test models Analysis models (Legal) Requirements models Ac)vi)es Lawyers Public Administration Bodies Stakeholders Traceability+ Modeling+and+ Impact+Analysis Automated+ Conformance+ Tes9ng Requirements++ Modelling+and+ Transforma9on Legal+Text+ Annota9on+ and+Markup Traceability models Requirements+ Quality+ Assurance Auditors Users
  • 32. Legal*Requirements:*Traceability* 32 System Requirements Model + Constraints Test Requirements Model + Constraints Tests + Tags Tags Tags Law
  • 33. Analysis*and*Verifica8on*of*Legal*Requirements* * 33 •  Consistency checking of legal requirements •  The requirements are “interpretations” of the law and could therefore be inconsistent •  Handling the constant evolution of the law •  How does the evolution of the law impact legal requirements and the developed system •  Automated testing and run-time verification •  Identification of defects in the developed software both before and after deployment
  • 34. (Very)*Par8al*Domain*model*for*one*Ar8cle* 34 Art.2 : Individuals are considered resident taxpayers if they have either their fiscal or habitual residence in the Grand Duchy. Individuals are considered non-resident taxpayers if they neither have their fiscal nor their habitual residence in the Grand Duchy and if they have local income within the meaning of section 156. Resident taxpayers are subject to income tax because of their income, both local and foreign. Non-resident taxpayers are subject to income tax only because of their local income within the meaning of section156 below.
  • 35. Ques8ons*for*Legal*Experts* 35 • Many interesting questions arise during modeling as the result of following a systematic process: • Examples: • How many fiscal and habitual residences can a tax payer have? • Multiplicities over associations between taxpayer and the relevant concepts • What is local income: • Do we refer to income paid by a Luxembourgish company ? or •  to income earned over work rendered in Luxembourg? Important as in early stages, researchers need to mentor by doing what they preach!
  • 36. Considera8ons*about*input* 36 • The input has to match the expertise, culture, and processes at the industry partner Lesson: Input models should be feasible to build! Example: safety-critical drivers in fire&gas monitoring • SysML was used as the basis for modeling • A general methodology was developed and later simplified according to project needs and expertise of the partner • Tool support was developed over a short time building on Enterprise Architect and its SysML plugin Lesson: Use standardized notations when possible • Allows building on existing tools • Avoids technology lock-in • Reduces communication issues in a multi-organization setting
  • 37. Gas&Fire**Monitoring*and*Emergency*Shutdown* Interface Control Modules Hardware Communicates commands and data between control modules and hardware Expensive and lengthy certification by third party certifier
  • 38. Observa8on*Study*of*Cer8fica8on*Mee8ngs* • System certified by third party • Drivers are SIL 3 • Attended certification meetings (observational study) • Meetings focused on requirements, architecture, and design documents • Analyzed 66 distinct certification issues 61% 7 % Numberofissues 32 % Various forms of traceability mandated by standards
  • 39. Objec8ves,*Language,*Tool* 39 Traceability Methodology to relate safety Requirements to design Slicing Algorithm to extract a design slice relevant to a given safety requirement
  • 41. Automa8on:*SafeSlice* 41 •  Support Establishing Traceability •  Generate Slices •  Inspection Assistant
  • 42. Less*than*perfect*input* 42 Be prepared for less than perfect models • Better models lead to better analysis results BUT … • When scales are large, compromises often have to be made • Question: Can the proposed approach still be useful in the presence of incompleteness and imprecision? Example: • CPU usage analysis for runnables in power train systems • Can runnables run out of CPU? • Can we minimize the risk? • Imprecise WCET estimates • Approximate knowledge of dependencies between runnables • No possibility of using model checking (also related to previous points about feasibility of inputs)
  • 43. 43 We*minimize*the*maximum*CPU*usage*using* runnables*offsets*(delay*8mes)* 5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms 5ms 10ms 15ms 20ms 25ms 30ms 35ms 40ms ✗ ✔ Inserting runnables’ offsets Offsets have to be chosen such that the maximum CPU usage per time slot is minimized, and further, the runnables respect their period the runnables respect the OS cycles the runnnables satisfy their synchronization constraints 43
  • 44. 44 Meta*heuris8c*search**algorithms* Case Study: an automotive software system with 430 runnables Running the system without offsets Simulation for the runnables in our case study and corresponding to the lowest max CPU usage found by HC 5.34 ms Our optimized offset assignment 2.13 ms -  The objective function is the max CPU usage of a 2s-simulation of runnables -  Single-state search algorithms for discrete spaces (e.g., Tabu) -  The search modifies one offset at a time, and updates other offsets only if timing constraints are violated -  Used restart option to make them more explorative 44
  • 45. Training* 45 • Long course on the whole (UML) is not a good idea! • Training must match what the proposed solutions need Lesson: Train incrementally and based on needs Example: Data Acquisition Systems (Satellites) • Specific modeling methodology to support model-based testing in this domain • Course on how to use UML and OCL with that methodology • Used an actual DAS for training Lesson: Use examples and illustrations from the industry partner’s application domain • Textbook examples are often met with yawns! • They have seen them all, several times! • Quote from practitioner: “All these courses I attend use the ATM example. I want to see how UML is applied to our system”.
  • 46. 46 Context: Data Acquisition Systems DAS Configurations Log Files Data Structured/Complex Defines how input files are processed Captures what happened while processing
  • 47. Modeling and Test Automation Approach 47 Modeling Input/output Model XSVE System Data Log files Test Cases Oracle Checker Mutation Input/output Model` Selection Input/output Model` Input Generator •  Model structure and content of input, configuration, and output files •  Model their mapping
  • 48. Early*valida8on*not*synonymous*with* ar8ficial*valida8on* 48 Validation in an artificial setting may have limited value or may be impossible • Artificial validation is not useful if benchmarks are non-existent or are found to be unsuitable • Contextual factors and level of complexity of the benchmarks should be a match for the project • Meaningful artificial validation may even be impossible! Example: MiL and HiL Testing ECU control software • MiL testing requires actual Matlab/Simulink models • Realistic search performance and fault detection • HiL testing: dedicated hardware
  • 49. Testing Controller and Plant Simulink Models Plant Model Controller (SUT) Desired value Error Actual value System output+ - =< ~= 0 >= time time time DesiredValue&ActualValue Desired Value Actual Value (a) (b) (c)Liveness Smoothness Responsiveness x y z v w 49
  • 50. MiL-Testing of Continuous Controllers Exploration+ Controller- plant model Objective Functions Overview Diagram Test Scenarios List of Regions Local Search Domain Expert time Desired Value Actual Value 0 1 2 0.0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 Initial Desired Final Desired 50
  • 51. Random Search vs. (1+1)EA Example with Responsiveness Analysis Random (1+1) EA 51 Random search might have done well with a simple artificial example
  • 52. Choosing*pilot*studies* 52 A good pilot study should be (1) representative, (2) feasible, and (3) relevant to current needs • Representative: reflective of the characteristics of the industry partner’s systems • Feasible: commensurate with pilot study resources • Relevant: dealing with ongoing activities, planned future activities, or past activities with a horizon for future reuse • Quick Research impact! Example: • Data Acquisition System: system currently under maintenance, transmitted files in typical range, real test suite • ECU software: typical closed loop controller, being tested, in terms of configuration parameters • Satellite ground control: Requirements were being defined, verified, and modified
  • 53. Mentorship* 53 Lesson: Mentor by doing! • Be ready to provide a lot of help during realistic validation • To show commitment and set a good example • Mentoring is paramount if the partner is not using MDE regularly • Once practitioners become proficient, researchers’ help should be phased out Example: Data Acquisition System •  Modeling tutorials •  Modeled an actual DAS with their help •  Mentoring on modeling other DAS
  • 54. Drumming*up*support** Lesson: Find internal champions for the solution. • One or more champions are needed to: • spread the word about the research • connect the dots for the management • develop a strategy for integrating the solution • Champions need to have developed a strong sense of trust in the researchers and the research • Champions are usually people with a genuine intellectual interest in the topic • You need to support them and make them excited and proud about what they do. Show your appreciation. • It may take time to find the right person in the organization
  • 55. Managing*the*rela8onship*with*industry*partners* 55 • Focus must be kept on recurring, long-lasting, and unsolved problems •  Expectations that cannot be met • Working as a consultant • Building professional tools • Avoid short-term partnerships • At least 3 years of commitment to be expected • Bare minimum to conclude the research for a PhD • This usually tips the balance in favor of collaboration with larger organizations • Communicate and follow up frequently • If you have not talked to a partner company in 3 months then something is wrong!
  • 56. Publishing*the*results* 56 •  Possible tension between the research model and publication: • Industry is interested in end-to-end solutions • A solution often has different components, each belonging to a different (SE) research community • Not always easy to determine how to report and what venue to aim for • Example: Metaheuristic search and MDE in Delphi example on CPU balancing • More thorny issue: interdisciplinary results! • Many real-world problems are at a systems level • Software is only one part and may be difficult to isolate from hardware and mechanical devices • Interdisciplinary work is still notoriously hard to publish! • More room is needed for systems engineering research
  • 57. FAQ* 57 •  Aren’t your research results specific to an industry partner? How do they generalize? • SE solutions are generally not applicable across domains • Partners are not unique, they capture the practices of an industry • We are better off with solutions that apply to a domain, than solutions that have not shown to apply anywhere • Generalization comes from replications • Make your working assumptions explicit •  Aren’t we constraining our creativity as researchers? Shouldn’t we focus on “good” idea? • In engineering, it is as “good” as it works • Everything else is marketing or academic hype • Shouldn’t we work, as researchers, on future problems the industry will face? • How can anybody claim to know future needs without understanding current ones?
  • 58. Summary* 58 •  Introduced a research paradigm & process, and general lessons learned that can be useful to other researchers •  Research is coupled with knowledge transfer • It promotes intertwining of research and industrial innovation to increase the impact of research • Emphasis is placed on early involvement of industry • This increases chances of impact and adoption, mentoring opportunities, and creates a sense of ownership • Work to be viewed as a step towards reducing the gap between software engineering research and practice
  • 60. References*on*MDE*Adop8on*and*Transfer* 60 •  [Mohagheghi & Dehlen 2008]: P. Mohagheghi, V. Dehlen. Where Is the Proof? - A Review of Experiences from Applying MDE in Industry. ECMDA-FA 2008. •  [Hutchinson et al. 2011]: J. Hutchinson, J. Whittle, M. Rouncefield, S. Kristoffersen. Empirical assessment of MDE in industry. ICSE 2011. •  [Selic 2012]: B. Selic. What will it take? A view on adoption of model- based methods in practice. Softw Syst Model, 2012. •  [Gorschek et al 2006]: T. Gorschek, P. Garre, S. Larsson, C. Wohlin. A Model for Technology Transfer in Practice. IEEE Software 23(6), 2006. •  [Davison et al 2004]: R. Davison, M. Martinsons, N. Kock. Principles of canonical action research. Information Systems Journal (14), 2004.
  • 61. Selected Personal References •  L. Briand, Y. Labiche, and M. Shousha, “Using genetic algorithms for early schedulability analysis and stress testing in real-time systems”, Genetic Programming and Evolvable Machines, vol. 7 no. 2, pp. 145-170, 2006 •  M. Shousha, L. Briand, and Y. Labiche, “UML/MARTE Model Analysis Method for Uncovering Scenarios Leading to Starvation and Deadlocks in Concurrent Systems”, IEEE Transactions on Software Engineering 38(2), 2012. •  Z. Iqbal, A. Arcuri, L. Briand, “Empirical Investigation of Search Algorithms for Environment Model-Based Testing of Real-Time Embedded Software”, ACM ISSTA 2012 •  S. Nejati, S. Di Alesio, M. Sabetzadeh, L. Briand, “Modeling and Analysis of CPU Usage in Safety-Critical Embedded Systems to Support Stress Testing”, ACM/IEEE MODELS 2012 •  Shiva Nejati, Mehrdad Sabetzadeh, Davide Falessi, Lionel C. Briand, Thierry Coq, “A SysML-based approach to traceability management and design slicing in support of safety certification: Framework, tool support, and case studies”, Information & Software Technology 54(6): 569-590 (2012) •  Lionel Briand et al., “Traceability and SysML Design Slices to Support Safety Inspections: A Controlled Experiment”, forthcoming in ACM Transactions on Software Engineering and Methodology, 2013 61
  • 62. Selected Personal References (cont.) •  Rajwinder Kaur Panesar-Walawege, Mehrdad Sabetzadeh, Lionel C. Briand: Supporting the verification of compliance to safety standards via model-driven engineering: Approach, tool-support and empirical validation. Information & Software Technology 55(5): 836-864 (2013) •  Razieh Behjati, Tao Yue, Lionel C. Briand, Bran Selic: SimPL: A product-line modeling methodology for families of integrated control systems. Information & Software Technology 55(3): 607-629 (2013) •  Hadi Hemmati, Andrea Arcuri, Lionel C. Briand: Achieving scalable model-based testing through test case diversity. ACM Trans. Softw. Eng. Methodol. 22(1): 6 (2013) •  Nina Elisabeth Holt, Richard Torkar, Lionel C. Briand, Kai Hansen: State-Based Testing: Industrial Evaluation of the Cost-Effectiveness of Round-Trip Path and Sneak-Path Strategies. ISSRE 2012: 321-330 •  Razieh Behjati, Tao Yue, Lionel C. Briand: A Modeling Approach to Support the Similarity-Based Reuse of Configuration Data. MoDELS 2012: 497-513 •  Shaukat Ali, Lionel C. Briand, Andrea Arcuri, Suneth Walawege: An Industrial Application of Robustness Testing Using Aspect-Oriented Modeling, UML/ MARTE, and Search Algorithms. MoDELS 2011: 108-122 62