The document discusses testing of closed-loop controllers in automotive systems. It notes the increasing complexity of automotive software and challenges in model-in-the-loop (MIL), software-in-the-loop (SIL), and hardware-in-the-loop (HIL) testing. It presents an approach to generate test cases for continuous controllers at the MIL level by representing requirements as objective functions and using a search-based approach to find worst-case scenarios. Experimental results found significantly worse scenarios than their industry partner, allowing them to generate better stress tests for HIL. The approach addresses a problem largely ignored in MIL testing of continuous controllers.
Testing of artificial intelligence; AI quality engineering skils - an introdu...Rik Marselis
Testing of AI will require a new skillset related to interpreting a system’s boundaries or tolerances. Indeed, as our paper points out, the complex functioning of an AI system means, amongst other things, that the focus of testing shifts from output to input to verify a robust solution. Also we introduce the 6 angles of quality for Artificial Intelligence and Robotics.
This paper was written by Humayun Shaukat, Toni Gansel and Rik Marselis.
Abstract:
Though in essence an engineering discipline, software engineering research has always been struggling to demonstrate impact. This is reflected in part by the funding challenges that the discipline faces in many countries, the difficulties we have to attract industrial participants to our conferences, and the scarcity of papers reporting industrial case studies.
There are clear historical reasons for this but we nevertheless need, as a community, to question our research paradigms and peer evaluation processes in order to improve the situation. From a personal standpoint, relevance and impact are concerns that I have been struggling with for a long time, which eventually led me to leave a comfortable academic position and a research chair to work in industry-driven research.
I will use some concrete research project examples to argue why we need more inductive research, that is, research working from specific observations in real settings to broader generalizations and theories. Among other things, the examples will show how a more thorough understanding of practice and closer interactions with practitioners can profoundly influence the definition of research problems, and the development and evaluation of solutions to these problems. Furthermore, these examples will illustrate why, to a large extent, useful research is necessarily multidisciplinary. I will also address issues regarding the implementation of such a research paradigm and show how our own bias as a research community worsens the situation and undermines our very own interests.
On a more humorous note, the title hints at the fact that being a scientist in software engineering and aiming at having impact on practice often entails leading two parallel careers and impersonate different roles to different peers and partners.
Bio:
Lionel Briand is heading the Certus center on software verification and validation at Simula Research Laboratory, where he is leading research projects with industrial partners. He is also a professor at the University of Oslo (Norway). Before that, he was on the faculty of the department of Systems and Computer Engineering, Carleton University, Ottawa, Canada, where he was full professor and held the Canada Research Chair (Tier I) in Software Quality Engineering. He is the coeditor-in-chief of Empirical Software Engineering (Springer) and is a member of the editorial boards of Systems and Software Modeling (Springer) and Software Testing, Verification, and Reliability (Wiley). He was on the board of IEEE Transactions on Software Engineering from 2000 to 2004. Lionel was elevated to the grade of IEEE Fellow for his work on the testing of object-oriented systems. His research interests include: model-driven development, testing and verification, search-based software engineering, and empirical software engineering.
Testing of artificial intelligence; AI quality engineering skils - an introdu...Rik Marselis
Testing of AI will require a new skillset related to interpreting a system’s boundaries or tolerances. Indeed, as our paper points out, the complex functioning of an AI system means, amongst other things, that the focus of testing shifts from output to input to verify a robust solution. Also we introduce the 6 angles of quality for Artificial Intelligence and Robotics.
This paper was written by Humayun Shaukat, Toni Gansel and Rik Marselis.
Abstract:
Though in essence an engineering discipline, software engineering research has always been struggling to demonstrate impact. This is reflected in part by the funding challenges that the discipline faces in many countries, the difficulties we have to attract industrial participants to our conferences, and the scarcity of papers reporting industrial case studies.
There are clear historical reasons for this but we nevertheless need, as a community, to question our research paradigms and peer evaluation processes in order to improve the situation. From a personal standpoint, relevance and impact are concerns that I have been struggling with for a long time, which eventually led me to leave a comfortable academic position and a research chair to work in industry-driven research.
I will use some concrete research project examples to argue why we need more inductive research, that is, research working from specific observations in real settings to broader generalizations and theories. Among other things, the examples will show how a more thorough understanding of practice and closer interactions with practitioners can profoundly influence the definition of research problems, and the development and evaluation of solutions to these problems. Furthermore, these examples will illustrate why, to a large extent, useful research is necessarily multidisciplinary. I will also address issues regarding the implementation of such a research paradigm and show how our own bias as a research community worsens the situation and undermines our very own interests.
On a more humorous note, the title hints at the fact that being a scientist in software engineering and aiming at having impact on practice often entails leading two parallel careers and impersonate different roles to different peers and partners.
Bio:
Lionel Briand is heading the Certus center on software verification and validation at Simula Research Laboratory, where he is leading research projects with industrial partners. He is also a professor at the University of Oslo (Norway). Before that, he was on the faculty of the department of Systems and Computer Engineering, Carleton University, Ottawa, Canada, where he was full professor and held the Canada Research Chair (Tier I) in Software Quality Engineering. He is the coeditor-in-chief of Empirical Software Engineering (Springer) and is a member of the editorial boards of Systems and Software Modeling (Springer) and Software Testing, Verification, and Reliability (Wiley). He was on the board of IEEE Transactions on Software Engineering from 2000 to 2004. Lionel was elevated to the grade of IEEE Fellow for his work on the testing of object-oriented systems. His research interests include: model-driven development, testing and verification, search-based software engineering, and empirical software engineering.
Industry-Academia Communication In Empirical Software EngineeringPer Runeson
Researchers in software engineering must communicate with industry practitioners, both engineers and managers. Communication may be about collaboration buy-in, problem identification, empirical data collection, solution design, evaluation, and reporting. In order to gain mutual benefit of the collaboration, ensuring relevant research and improved industry practice, researchers and practitioners must be good at communicating. The basis for a researcher to be good at industry-academia communication is firstly to be “bi-lingual”. Understanding and being able to translate between these “languages” is essential. Secondly, it is also about being “bi-cultural”.Understanding the incentives in industry and academia respectively, is a basis for being able to find balances between e.g. rigor and relevance in the research. Time frames is another aspect that is different in the two cultures. Thirdly, the choice of communication channels is key to reach the intended audience.A wide range of channels exist, from face to face meetings, via tweets and blogs, to academic journal papers and theses; each having its own audience and purposes. The keynote speech will explore the challenges of industry-academia communication, based on two decades of collaboration experiences, both successes and failures. It aims to support primarily the academic side of the communication to help achieving industry impact through rigorous and relevant empirical software engineering research.
This presentation is about a lecture I gave within the "Software systems and services" immigration course at the Gran Sasso Science Institute, L'Aquila (Italy): http://cs.gssi.infn.it/.
http://www.ivanomalavolta.com
Retrospective and Trends in Requirements Engineering for Embedded Systems: A ...Tarcísio Couto
In the embedded systems (ES) area, more than 50% of problems occur at system delivery and are related to misconceptions in capturing requirements. Also, requirements engineering (RE) is crucial to meet time, cost, and quality goals. An important step to improve the RE approaches for ES is to gain a detailed understanding of the retrospective and trends presented by the literature. We have conducted a systematic literature review to gain an in-depth understanding of trends and needs concerning RE research. We report on the main results of our study related to three research questions: what requirements should be considered during ES development? what are the RE contributions for ES? and what challenges/problems are identied in the research literature to RE for ES? Based on the results of the study, we draw conclusions for future RE research.
Pushing the limits of ePRTC: 100ns holdover for 100 daysAdtran
At WSTS 2024, Alon Stern explored the topic of parametric holdover and explained how recent research findings can be implemented in real-world PNT networks to achieve 100 nanoseconds of accuracy for up to 100 days.
Unlocking Productivity: Leveraging the Potential of Copilot in Microsoft 365, a presentation by Christoforos Vlachos, Senior Solutions Manager – Modern Workplace, Uni Systems
Securing your Kubernetes cluster_ a step-by-step guide to success !KatiaHIMEUR1
Today, after several years of existence, an extremely active community and an ultra-dynamic ecosystem, Kubernetes has established itself as the de facto standard in container orchestration. Thanks to a wide range of managed services, it has never been so easy to set up a ready-to-use Kubernetes cluster.
However, this ease of use means that the subject of security in Kubernetes is often left for later, or even neglected. This exposes companies to significant risks.
In this talk, I'll show you step-by-step how to secure your Kubernetes cluster for greater peace of mind and reliability.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
Essentials of Automations: The Art of Triggers and Actions in FMESafe Software
In this second installment of our Essentials of Automations webinar series, we’ll explore the landscape of triggers and actions, guiding you through the nuances of authoring and adapting workspaces for seamless automations. Gain an understanding of the full spectrum of triggers and actions available in FME, empowering you to enhance your workspaces for efficient automation.
We’ll kick things off by showcasing the most commonly used event-based triggers, introducing you to various automation workflows like manual triggers, schedules, directory watchers, and more. Plus, see how these elements play out in real scenarios.
Whether you’re tweaking your current setup or building from the ground up, this session will arm you with the tools and insights needed to transform your FME usage into a powerhouse of productivity. Join us to discover effective strategies that simplify complex processes, enhancing your productivity and transforming your data management practices with FME. Let’s turn complexity into clarity and make your workspaces work wonders!
Removing Uninteresting Bytes in Software FuzzingAftab Hussain
Imagine a world where software fuzzing, the process of mutating bytes in test seeds to uncover hidden and erroneous program behaviors, becomes faster and more effective. A lot depends on the initial seeds, which can significantly dictate the trajectory of a fuzzing campaign, particularly in terms of how long it takes to uncover interesting behaviour in your code. We introduce DIAR, a technique designed to speedup fuzzing campaigns by pinpointing and eliminating those uninteresting bytes in the seeds. Picture this: instead of wasting valuable resources on meaningless mutations in large, bloated seeds, DIAR removes the unnecessary bytes, streamlining the entire process.
In this work, we equipped AFL, a popular fuzzer, with DIAR and examined two critical Linux libraries -- Libxml's xmllint, a tool for parsing xml documents, and Binutil's readelf, an essential debugging and security analysis command-line tool used to display detailed information about ELF (Executable and Linkable Format). Our preliminary results show that AFL+DIAR does not only discover new paths more quickly but also achieves higher coverage overall. This work thus showcases how starting with lean and optimized seeds can lead to faster, more comprehensive fuzzing campaigns -- and DIAR helps you find such seeds.
- These are slides of the talk given at IEEE International Conference on Software Testing Verification and Validation Workshop, ICSTW 2022.
Observability Concepts EVERY Developer Should Know -- DeveloperWeek Europe.pdfPaige Cruz
Monitoring and observability aren’t traditionally found in software curriculums and many of us cobble this knowledge together from whatever vendor or ecosystem we were first introduced to and whatever is a part of your current company’s observability stack.
While the dev and ops silo continues to crumble….many organizations still relegate monitoring & observability as the purview of ops, infra and SRE teams. This is a mistake - achieving a highly observable system requires collaboration up and down the stack.
I, a former op, would like to extend an invitation to all application developers to join the observability party will share these foundational concepts to build on:
Communications Mining Series - Zero to Hero - Session 1DianaGray10
This session provides introduction to UiPath Communication Mining, importance and platform overview. You will acquire a good understand of the phases in Communication Mining as we go over the platform with you. Topics covered:
• Communication Mining Overview
• Why is it important?
• How can it help today’s business and the benefits
• Phases in Communication Mining
• Demo on Platform overview
• Q/A
Climate Impact of Software Testing at Nordic Testing DaysKari Kakkonen
My slides at Nordic Testing Days 6.6.2024
Climate impact / sustainability of software testing discussed on the talk. ICT and testing must carry their part of global responsibility to help with the climat warming. We can minimize the carbon footprint but we can also have a carbon handprint, a positive impact on the climate. Quality characteristics can be added with sustainability, and then measured continuously. Test environments can be used less, and in smaller scale and on demand. Test techniques can be used in optimizing or minimizing number of tests. Test automation can be used to speed up testing.
Generative AI Deep Dive: Advancing from Proof of Concept to ProductionAggregage
Join Maher Hanafi, VP of Engineering at Betterworks, in this new session where he'll share a practical framework to transform Gen AI prototypes into impactful products! He'll delve into the complexities of data collection and management, model selection and optimization, and ensuring security, scalability, and responsible use.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
PHP Frameworks: I want to break free (IPC Berlin 2024)Ralf Eggert
In this presentation, we examine the challenges and limitations of relying too heavily on PHP frameworks in web development. We discuss the history of PHP and its frameworks to understand how this dependence has evolved. The focus will be on providing concrete tips and strategies to reduce reliance on these frameworks, based on real-world examples and practical considerations. The goal is to equip developers with the skills and knowledge to create more flexible and future-proof web applications. We'll explore the importance of maintaining autonomy in a rapidly changing tech landscape and how to make informed decisions in PHP development.
This talk is aimed at encouraging a more independent approach to using PHP frameworks, moving towards a more flexible and future-proof approach to PHP development.
PHP Frameworks: I want to break free (IPC Berlin 2024)
Software Engineering Research: Leading a Double-Agent Life.
1. Useful Software Engineering Research:
Leading a Double-Agent Life
Lionel Briand
IEEE Fellow
FNR PEARL Chair
Interdisciplinary Centre for ICT Security, Reliability, and Trust (SnT)
University of Luxembourg
APSEC, Bangkok, December 3rd, 2013
2. SnT$Centre$
•
•
•
•
•
•
•
SnT centre, Est. 2009: Interdisciplinary, ICT
security, reliability, and trust (SnT)
Luxembourg city
220 scientists and Ph.D. candidates, 20
industry partners
SVV Lab: Established January 2012,
www.svv.lu
25 scientists (Research scientists,
associates, and PhD candidates)
Industry-relevant basic and applied research
on system dependability: security, safety,
reliability
Six partners: Cetrel, CTIE, Delphi, SES, IEE,
Hitec, …
2
6. Failures Everywhere …
McKinsey, U. Oxford, 2012:
• 5400 large IT projects (> 15 $M)
• 17% threatened the very
existence of companies
• On average: 45% over budget,
56 percent less value
6
7. Software Engineering Research Funding
& Relevance
• Software Engineering (SE) research should be a top priority given
its importance in society.
• But that is not the case anymore (with a few exceptions).
• Symptoms
– Listed priorities by research councils, relative funding
– University hiring, few software engineering departments
– Large centers or institutes being established or closed down
• May be partly related to (perceived) lack of relevance?
– Industry participation in leading SE conferences
– Application/Experience tracks not first class citizens
– A very small percentage of research work is ever used or even
assessed on real industrial software
– Impact project (ACM SIGSOFT)
7
8. Basili’s and Meyer’s Take
• Many (most?) of the advances in software engineering have
come out of non-university sources
• “Academic research has had its part, honorable but
limited.” (Meyer)
• Large scale labs don’t get funded, like they do in other
engineering and scientific disciplines (Basili, Meyer)
• One significant difference though is that we cannot entirely
recreate the phenomena we study within four walls
• Question: What is our responsibility in all this?
8
10. 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
10
11. Pasteur’s Quadrant
Consideration of Use?
No
Quest for
Fundamental
Understandin
g?
Yes
Yes
Pure Basic
Research
(Bohr)
Use-inspired
Basic
Research
(Pasteur)
No
-
Pure Applied
Research
(Edison)
Donald Stokes, Pasteur’s Quadrant, 1997
11
12. Software Engineering Research
• Pure basic research in software engineering?
• As an engineering discipline, all research work should
contribute to:
– Knowledge discovery but also …
– Innovative (software) engineering solutions
• Pasteur’s quadrant: Research should driven by utility
and its results be put to use …
• This requires a knowledge of engineering practice
• Are the majority of projects and papers doing so?
• If not, why is that? What can we do about it?
12
14. A Representative Example
• Parnin and Orso (ISSTA, 2011) looked at automated
debugging techniques
• 50 years of automated debugging research
• Only 5 papers have evaluated automated debugging
techniques with actual programmers
• Focus since ~2001: dozens of papers ranking program
statements according to their likelihood of containing a
fault
• Experiment
– How do programmers use the ranking?
– Do they see the bugs?
– Is the ranking important?
14
15. Results from Parnin and Orso’s Study
•
•
Only low performers strictly followed the ranking
Only one out of 10 programmers who checked a buggy
statement stopped the investigation
• Automated support did not speed up debugging
• Developers wanted explanations rather than recommendations
• We cannot abstract the human away in our research
• “… we must steer research towards more promising
directions that take into account the way programmers
actually debug in real scenarios.”
15
16. What Happened?
• How people debug and what information they need is poorly
understood
– Probably varies a great deal according to context and skills
• Researchers focused on providing a solution that was a
mismatch for the actual problem
• That line of research became fashionable: a lot of (cool) ideas
could be easily applied and compared, without involving human
participants
• Resulted in many, many papers …
• Pasteur’s quadrant: That idea was never really put to use …
• Similar example: ISSTA 2012 paper on learning program
invariants (Daikon) by Matt Staats et al.
• Many other examples
16
18. Objectives
• How to implement Pasteur’s quadrant in software engineering?
• Go through recent and successful projects with industry partners
– Simula Research Laboratory, Oslo, Norway
– SnT centre, U. of Luxembourg
• Summarize what happened, our experience
• Two projects, in the automotive domain, described in more
detail
• Draw conclusions and lessons learned
– Patterns for successful research
– Challenges and possible solutions
18
20. Projects$Overview$(<$5$years)$
Company
Domain
Objective
Notation
Automation
ABB
Robot controller
Func. Safety Testing
UML
Model analysis for
coverage criteria
Cisco
Video conference
Testing (robustness)
UML profile
Metaheuristic search
Kongsberg Maritime
Fire and gas safety
control system
Safety 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
Func. Testing
UML profile + MARTE
Metaheuristic search
DNV
Marine and Energy,
certification body
Compliance with safety
standards
UML profile
Constraint verification
SES
Satellite operator
Func. Testing
UML profile
Metaheuristic search
Delphi
Automotive systems
Testing (safety
+performance)
Matlab/Simulink
Metaheuristic search
Lux. Tax department
Legal & financial
Legal Req. QA &
testing
UML profile
Under investigation
20
21. Project Example 1: Cisco
•
•
•
•
•
Context: Video conferencing systems
Original scientific problem: Modeling and test case generation, oracle,
coverage strategy
Practical observation: Access to test network infrastructure limited
(emulate network traffic, etc.). Models get too large and complex.
Modified research objectives: (1) How to select an optimal subset of
test cases matching the time budget, (2) Modeling cross-cutting
concerns
References: Hemmati et al. (2010),
Ali et al. (2011)
21
22. Project Example 1: Cisco
• Context: Video conferencing systems
• Original scientific problem: Modeling and model-based
test case generation, oracle, coverage strategy
• Practical observation: Access to test network
infrastructure limited (emulate network traffic, etc.). Models
get too large and complex.
• Modified research objectives: (1) How to select an optimal
subset of test cases matching the time budget, (2)
Modeling cross-cutting concerns
• References: Hemmati et al. (2010),
Ali et al. (2011)
22
23. Project Example 2: Siemens
•
•
•
•
•
Context: 3-D image segmentation algorithms for medical applications
(Siemens)
Original scientific problem: Define specific test strategies for
segmentation algorithms
Practical observations: Algorithms are validated by using highly
specialized medical experts. Expensive and slow. No obvious test
oracle
Modified research objective: Learning oracles for image segmentation
algorithms in medical applications. Machine learning.
Reference: Frouchni et al. (2011)
23
24. Project Example 2: Siemens
•
•
•
•
•
Context: 3-D image segmentation algorithms for medical applications
(Siemens)
Original scientific problem: Define specific test strategies for (constantly
evolving) segmentation algorithms
Practical observations: Test results are validated by using highly
specialized medical experts. Expensive and slow. No obvious test
oracle: non-testable systems
Modified research objective: Learning oracles for image segmentation
algorithms in medical applications. Machine learning.
Reference: Frouchni et al. (2011)
24
25. Project Example 3: FMC
• Context: Subsea integrated control systems
• Original scientific problem: integration in
systems of systems
• Practical observations: Each subsea
installation is unique (variant), the software
configuration is extremely complex
(thousands of configuration parameters), >
50% configuration faults
• Modified research objective: Real-time,
automated support to the configuration
process using domain specific product line
modeling (focus on HW-SW dependencies)
and constraint solving: : instant validation,
guidance, inferred values
• Behjati et al. (2012)
25
26. Project Example 3: FMC
• Context: Subsea integrated control systems
• Original scientific problem: integration in
systems of systems
• Practical observations: Each subsea
installation is unique (variant), the software
configuration is extremely complex (thousands
of configuration parameters), > 50%
configuration faults
• Modified research objective: Real-time,
automated support to the configuration
process using domain specific product line
modeling (focus on HW-SW dependencies)
and constraint solving: instant validation,
guidance, inferred values
• Behjati et al. (2012)
26
27. Project Example 4: Kongsberg Maritime
• Context: safety-critical embedded systems in the energy
and maritime sectors, e.g., fire and gas monitoring,
process shutdown, dynamic positioning
• Original scientific problem: Model-driven engineering for
failure-mode and effect analysis
• Practical observations: Certification meetings with thirdparty certifiers. Certification is lengthy, expensive, etc.
Requirements-Design decisions traceability in large
complex systems a priority.
• Modified research objective: Traceability between safety
requirements and system design decisions. Solution
based on SysML and a simple traceability language
along with model slicing.
• Reference: Sabetzadeh et al. (2011)
27
28. Project Example 4: Kongsberg Maritime
• Context: safety-critical embedded systems in the energy
and maritime sectors, e.g., fire and gas monitoring,
process shutdown, dynamic positioning
• Original scientific problem: Model-driven engineering for
failure-mode and effect analysis
• Practical observations: Certification meetings with thirdparty certifiers: Certification is lengthy, expensive, etc.
Requirements-Design decisions traceability in large
complex systems is an issue.
• Modified research objective: Traceability between safety
requirements and system design decisions. Solution
based on SysML and a simple traceability language
along with model slicing.
• Reference: Sabetzadeh et al. (2011), Nejati et al. (2012)
28
31. Model-based control system development has
three major stages
Model-in-the-Loop
Stage
Software-in-the-Loop
Stage
Hardware-in-the-Loop
Stage
Simulink Modeling
Code Generation
and Integration
Software Running
on ECU
Generic
Functional
Model
MiL Testing
Software
Release
SiL Testing
HiL Testing
31
32. Major$Challenges$in$MiLGSiLGHiL$TesIng$$
• Manual test case generation
• Complex functions at MiL, and large and integrated
software/embedded systems at HiL
• Lack of precise requirements and testing Objectives
• Test selection at HiL
32
36. Controller Plant Model and its Requirements
Desired value +
Error
-
Controller
(SUT)
Plant
Model
System output
Actual value
Desired Value & Actual Value
(a)
Liveness
Smoothness
(b)
=<
~= 0
(c)
Responsiveness
w
v
y >=
x
z
Desired Value
Actual Value
time
time
time
36
37. Search$Elements$
• Search:
• Inputs: Initial and desired values, configuration parameters
• (1+1) EA
• Search Objective:
• Example requirement that we want to test: liveness
! |Desired - Actual(final)|~= 0
For each set of inputs, we evaluate the objective function over the resulting
simulation graphs:
• Result:
• worst case scenarios or values to the input variables that are
more likely to break the requirement at MiL level
• stress test cases based on actual hardware (HiL)
37
37
38. MiL-Testing of Continuous Controllers
Objective
Functions
+
Domain
Expert
Exploration
Controllerplant model
List of
Regions
Local Search
Test
Scenarios
Overview
Diagram
1.0
0.9
Desired Value
Actual Value
Initial Desired
0.8
0.7
0.6
0.5
0.4
0.3
Final Desired
0.2
0.1
0.0
0
1
time
2
38
39. Conclusions$
• Addressed a testing problem that has been largely ignored
i.e., 31s. much horizontal axis of the diagrams in Figure 8 shows the number of
• We found Hence, theworse scenarios during MiL testing than our
iterations instead of the computation
In
start both random search
partner had found so far time.the addition, wefrom the exploration step. and
(1+1) EA from the same initial point, i.e.,
worst case
Overall in all the
• Much worse thanregions, (1+1) EA eventually reachesmore deterministic than ranrandom search EA is its plateau at a value higher
than the random search plateau value. Further, (1+1)
has smaller
of testing is
• Theydom, i.e., the distribution of (1+1) EAthea HiL8).variance than that(e.g., Figure 8(d)), much
are running them at (see Figure level, where random search,
especially when reaching the plateau
In some regions
more expensive: MiL results ->faster than (1+1) EA, while in HiL other
however, random reaches its plateau slightly test selection for some
regions (e.g. Figure 8(a)), (1+1) EA is faster. We will discuss the relationship between
• But further landscape and the performance of (1+1) EA in RQ3.
the region research is needed:
RQ3. We drew the landscape for the 11 regions in our experiment. For example, Fig– To 9 shows with the for two selected regions in Figures parameters
ure deal the landscape many configuration 7(a) and 7(b). Specifically,
Figure 9(a) shows the landscape for the region in Figure 7(b) where (1+1) EA is faster
– To dynamically adjust search algorithms in different
than random, and Figure 9(b) shows the landscape for the region in Figure 7(a) where
(1+1) EA is slower than different
subregions withrandom search. lanscapes
(a)
(b)
0.40
0.20
0.39
0.19
0.38
0.18
0.37
0.17
0.36
0.16
0.35
0.15
0.34
0.14
0.33
0.13
0.32
0.12
0.31
0.11
0.30
0.10
0.70 0.71
0.72
0.73
0.74
0.75 0.76
0.77
0.78
0.79
0.80
0.90 0.91
0.92
0.93
0.94
0.95 0.96
0.97
0.98
0.99
1.00
Fig. 9. Diagrams representing the landscape for two representative HeatMap regions: (a) Landscape for the region in Figure 7(b). (b) Landscape for the region in Figure 7(a).
39
43. CPU$Time$Shortage$in$Integrated$Embedded$$
So?ware$
• Static cyclic scheduling: predictable, analyzable
• Challenge
– Many OS tasks and their many runnables run within a limited
available CPU time
• The execution time of the runnables may exceed their time slot
• Our goal
– Reducing the maximum CPU time used per time slot to be
able to
• Minimize the hardware cost
• Reduce the probability of overloading the CPU in practice
• Enable addition of new functions incrementally
✗
(a)
5ms
10ms
15ms
20ms
25ms
30ms
35ms
40ms
✔
(b)
5ms
10ms
15ms
20ms
25ms
30ms
35ms
40ms
Fig. 4. Two possible CPU time usage simulations for an OS task with a 5ms
cycle: (a) Usage with bursts, and (b) Desirable usage.
to deadlin
run passe
by OS ta
divisible
43
offset val
43
synchron
45. Meta$heurisIc$search$$algorithms$
- The objective function is the max CPU usage of a 2s-simulation of
runnables
- The search modifies one offset at a time, and updates other offsets
only if timing constraints are violated
- Single-state search algorithms for discrete spaces (HC, Tabu)
Simulation for the runnables
case
Case Study: an automotive software system with 430lowest maxin our usagestudy and HC
runnables found by
corresponding to the
CPU
5.34 ms
2.13 ms
Running the system without offsets
Optimized offset assignment
45
45
47. Conclusions$
- Though schedulability analysis is a
well developed field, the problem we
addressed was never defined in those
terms (context)
- Search algorithms to compute offset
values that reduce the max CPU time
needed
- Positive evaluation results: Quick and
significant differences
- Huge search space with constraints
- Current: Accounting for task time
coupling constraints with multiobjective search " trade-off between
relaxing coupling constraints and
maximum CPU time
47
47
49. Successful Research Patterns
•
•
•
•
•
Successful: Innovative and high impact
Inductive research: Working from specific observations in real settings to
broader generalizations and theories
– Software development is highly diverse
– Problems and solutions are diverse too
– Context factors matter a great deal
– Generalization: Field studies and replications, analyze commonalities
Scalability and practicality considerations must be part of the initial research
problem definition
Researching by doing: Hands-on research. Apply what exists in well
defined, realistic context, with clear objectives. The observed limitations
become the research objectives. Put new technology to actual use.
Interdisciplinary: CS, Mathematics, Engineering, or non-technical domains
49
50. So What?
• Making a conscious effort to understand the problem
first
– A careful investigation often leads to surprises and
a very different understanding of the issues at
stake
– Precisely identify the requirements for an
applicable solution
– More papers focused on understanding the
problems
– Making experience/application tracks first class
citizens in SE conferences
50
51. So What? - cont’d
• Better relationships between academia and industry
– Different models
• Fraunhofer centres, Germany
• Research-based innovation centers in Norway
• SnT centre in Luxembourg
• Targeted grant programs
• Joint industry-academia labs (e.g., NASA SEL Lab)
– Mutually beneficial setting where software development is an
object of study
– Exposing PhD students to industry practice, management
and leadership: Ethical considerations (“Fix the PhD”,
Nature, 2011)
– Incentives for SE academics
51
52. So What? - Cont’d
• Work on end-to-end solutions: Pieces of solutions are
interdependent. Necessary for impact, e.g., requirements and
testing.
• Beyond professors and students
– Labs with interdisciplinary teams of professional scientists
and engineers within or collaborating with universities
– Used to be the case with corporate research labs: Bell Labs,
Xerox PARC, HP labs, NASA SEL, etc.
– Now: Fraunhofer (Germany), Simula (Norway), Microsoft
Research (US), SEI (US), SnT (Luxembourg), FBK (Italy)
– Corporate labs versus publicly supported ones?
– Key point: The level of basic funding must allow high risk
and rigorous research, performed by professional scientists,
focused on impact in society (Use-inspired basic research)
52
53. The “Classical” Model of Research and
Innovation
Basic
Research
Applied
Research
Innovation
and
Development
54. An Effective, Collaborative Model of Research
and Innovation
Innovation & Development
Basic Research
Applied
Research
• Basic and applied research take place in a rich context
• Basic Research is also driven by problems raised by
applied research
• Main motivation for SnT’s partnership program
B. Schneiderman, The Atlantic, Toward an Ecological Model of Research and Development, 2013
56. Academic Challenges
•
•
•
•
•
•
Our CS legacy … emancipating ourselves as an engineering discipline
– Electrical engineering: Subfield of Physics until late 19th century
– Software engineering departments?
How cool is it? SE research is more driven by “fashion” than needs, a
quest for silver bullets
– We can only blame ourselves
Counting papers and how rankings do not help
– We are pressuring ourselves into irrelevance
Taking academic tenure and promotion seriously
– What about rewarding impact?
One’s research must cover a broader ground and be somewhat
opportunistic – this pushes us out of our comfort zone
Resources to support industry collaborations
– Large lab infrastructure, research engineers, time
56
57. Industrial Challenges
•
•
•
•
•
Distinguish the manifestations of a problem from its causes is not easy
in practice
Short term versus longer term goals (next quarter’s forecast is
sometimes the priority)
Industrial research groups are often disconnected from their own
business units and external researchers may be perceived as
competitors
Company’s intellectual property regulations may conflict with those of
the research institution
Complexity of industrial systems and technology
– Cannot be transplanted in artificial settings for research - Need
studies in real settings
– Substantial domain knowledge is required
57
59. Conclusions
• Software engineering is obviously important in all aspects of
society, but academic software engineering research is not
always perceived the same way
• The academic community, at various levels and in particular its
leadership, is partly responsible for this
• How we take up the challenge of increasing our impact will
determine the future of the profession
• There is some limited progress, but far too slow
• There are solutions, but no silver bullet
• We all have a role to play in this, as deans, department chairs,
professors, scientists, reviewers, conference organizers, journal
editors, etc. We can all be double-agents …
59
61. Empirical Software Engineering
•
•
•
•
Springer, 6 issues a year
Both research papers and industry experience
reports
High impact factor among SE research journals
“Applied software engineering research with a
significant empirical component”
61
62. Personal References
•
•
•
•
•
•
•
•
•
Hemmati, Briand, Arcuri, Ali “An Enhanced Test Case Selection Approach for Model-Based Testing: An
Industrial Case Study”, ACM FSE, 2010
Frouchni, Briand, Labiche, Grady, and Subramanyan, “Automating Image Segmentation Verification and
Validation by Learning Test Oracles”, Information and Software Technology (Elsevier), 2011.
Sabetzadeh, Nejati, Briand, Evensen Mills “Using SysML for Modeling of Safety-Critical Software–
Hardware Interfaces: Guidelines and Industry Experience”, HASE, 2011
Sabetzadeh et al., “Combining Goal Models, Expert Elicitation, and Probabilistic Simulation for Qualification
of New Technology”, HASE, 2011
Ali, Briand, Hemmati, “Modeling Robustness Behavior Using Aspect-Oriented Modeling to Support
Robustness Testing of Industrial Systems”, Journal of Software and Systems Modeling (Springer), 2011.
Behjati, Nejati, Yue, Gotlieb, Briand, “Model-based Automated and Guided Configuration of Embedded
Software Systems”, ECMFA, 2012.
Behjati, Yue, Briand, Selic. SimPL, “A Product-Line Modeling Methodology for Families of Integrated
Control Systems, Information and Software Technology”, Information and Software Technology (Elsevier),
2012.
Nejati et al., A SysML-Based Approach to Traceability Management and Design Slicing in Support of Safety
Certification: Framework, Tool Support, and Case Studies, Information and Software Technology (Elsevier),
2012
Iqbal, Arcuri, Briand, “Empirical Investigation of Search Algorithms for Environment Model-Based Testing of
Real-Time Embedded Software”, ACM ISSTA, 2012
62
63. Personal References II
•
•
•
•
•
•
•
Nejati, Di Alesio, Sabetzadeh, Briand, “Modeling and Analysis of CPU Usage in Safety-Critical Embedded
Systems to Support Stress Testing”, ACM/IEEE MODELS 2012
Nejati, Sabetzadeh, Falessi, Briand, 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, (Elsevier), 2012
Hemmati, Arcuri, L. Briand: Achieving scalable model-based testing through test case diversity. ACM
Trans. Softw. Eng. Methodology, 2013.
Panesar-Walawege, Sabetzadeh, Briand: Supporting the verification of compliance to safety standards via
model-driven engineering: Approach, tool-support and empirical validation. Information & Software
Technology (Elsevier), 2013
S. Nejati et al., “Minimizing CPU Time Shortage Risks in Integrated Embedded Software”,
28th IEEE/ACM International Conference on Automated Software Engineering, 2013
Sabetzadeh, Falessi, Briand, Di Alesio: A goal-based approach for qualification of new technologies:
Foundations, tool support, and industrial validation. Reliability Eng. & System Safety, 2013
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
63
64. Other References
•
•
•
•
Bertrand Meyer’s blog:
http://bertrandmeyer.com/2010/04/25/the-other-impediment-tosoftware-engineering-research/
Basili, “Learning Through Application: The maturing of the QIP in the
SEL”, Making Software; What really works and why we believe it,
Edited by Andy Oram and Greg Wilson, O’Reilly Publishers, 2011, pp.
65-78.
T. Gorschek, P. Garre, S. Larsson, C. Wohlin. A Model for Technology
Transfer in Practice. IEEE Software 23(6), 2006.
Parnin and Orso, “Are Automated Debugging Techniques Actually
Helping Programmers?”, ISSTA, 2011
64