SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Universiteit Antwerpen
Finding Bugs, Fixing Bugs, Preventing
Bugs —

Exploiting Automated Tests to
Increase Reliability
Keynote SHIFT — IWSF 2020
The 4th International Workshop on Software Faults (IWSF 2020)
The 2nd Annual International Workshop on Software Hardware Interaction Faults
October 2020 — © Prof. Serge Demeyer
Books
• 2 books
• 3 proceedings (editor) Best Teacher’s Award
Top Publications
Spin Off &
Start Up
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Artificial
Intelligence
Inside
Topics of Interest
[…]
especially in the context of Cyber Physical Systems
[…]
Fault diagnosis, analysis, detection and prediction.
Especially at the borders of hardware and software.
Ericsson, Bombardier,
Saab, System Verification,
Empear, Verifyter, KTH,
MDH, RISE Comiq, EfiCode,
Ponsse, Siili,
Qentinel, Symbio,
Uni.Oulu, VTT
Axini, Testwerk,
TNO, Open Uni. AKKA, Expleo,
EKS, FFT,
Fraunhofer,
IFAK, OFFIS,
Parasoft
Alerion,
Prodevelop,,
Uni.Mandragon Kuveyt Bank,
Saha BT
The TESTOMAT project will allow software teams to
increase the development speed without sacrificing quality
To achieve this goal, the project will advance the state-of-the-art in test
automation for software teams moving towards a more agile development
process.
Industry 4.0 Internet of Things
variability
"lot size 1"
safety
IEC 62061 (mechatronics)

RTCA/DO-178C (avionics)
IEC 62304 (medical)

ISO 26262 (automotive)
agility
rapid customer feedback
faster release cycles
Six decades into the computer revolution, four
decades since the invention of the microprocessor,
and two decades into the rise of the modern Internet,
all of the technology required to transform industries
through software finally works and can be widely
delivered at global scale.
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Artificial
Intelligence
Inside
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
Software Testing is the process of executing a program
or system with the intent of finding errors.
(Myers, Glenford J., The art of software testing. Wiley, 1979)
© Serge Demeyer: Keynote SHIFT — IWSF 2020
Continuous Integration Pipeline
13
<<Breaking the Build>>
version	
control
build
developer	
tests
deploy
scenario	
tests
deploy	to	
production
measure	&	
validate
[Khom2014] Khomh, F. Adams, B, Dhaliwal, T and Zou, Y Understanding the Impact of
Rapid Releases on Software Quality: The Case of Firefox, Empirical Software
Engineering, Springer. http://link.springer.com/article/10.1007/s10664-014-9308-x
1.0 1.5 2.0 3.0 3.5 3.6 4.0 5.0 7.0
8.0
9.0
Traditional Release Cycle Rapid Release Cycle
(a) Time Line of Major Versions of FireFox
(b) Time Line of Minor Versions of FireFox
Figure 1. Timeline of FireFox versions.
channels are respectively 100,000 for NIGHTLY, 1 million
for AURORA, 10 million for BETA and 100+ millions for
a major Firefox version [11]. NIGHTLY reaches Firefox
developers and contributors, while other channels (i.e., AU-
RORA and BETA) recruit external users for testing. The
source code on AURORA is tested by web developers who
are interested in the latest standards, and by Firefox add-on
developers who are willing to experiment with new browser
APIs. The BETA channel is tested by Firefox’s regular beta
by bug triaging developers and assigned for fixing. When
a developer fixes a bug, he typically submits a patch to
Bugzilla. Once approved, the patch code is integrated into
the source code of Firefox on the corresponding channel and
migrated through the other channels for release. Bugs that
take too long to get fixed and hence miss a scheduled release
are picked up by the next release’s channel.
III. STUDY DESIGN
[Khom2014] Khomh, F. Adams, B, Dhaliwal, T and Zou, Y Understanding the Impact of
Rapid Releases on Software Quality: The Case of Firefox, Empirical Software
Engineering, Springer. http://link.springer.com/article/10.1007/s10664-014-9308-x
✓ bugs are fixed faster
(but … harder bugs propagated to later releases)
✓ amount of pre- & post-release bugs ± the same
✓ the program crashes earlier
(perhaps due to recent features)
3.6 4.0 5.0 7.0
8.0
9.0
Rapid Release Cycle
rs and assigned for fixing. When
he typically submits a patch to
the patch code is integrated into
on the corresponding channel and
er channels for release. Bugs that
nd hence miss a scheduled release
release’s channel.
TUDY DESIGN
earch questions:
ease cycle affect the
erence in the number
control for the time
lease dates. However,
tly lower for versions
les, i.e., failures seem
cycle affect the fixing
ter for versions devel-
e cycle affect software
d release model are
.e., the proportion of
ersions that possibly
5.0 NIGHTLY 6.0 NIGHTLY 7.0 NIGHTLY 8.0 NIGHTLY
5.0 AURORA 6.0 AURORA 7.0 AURORA
5.0 BETA 6.0 BETA
5.0 MAIN
New Feature Development
6 Weeks 6 Weeks 6 Weeks 6 Weeks
Figure 2. Development and Release Process of Mozilla Firefox
major release was made. Figure 1(b) shows the release dates
of the minor versions of Firefox.
With the advent of shorter release cycles in March 2011,
new features need to be tested and delivered to users faster.
To achieve this goal, Firefox changed its development pro-
cess. First, versions are no longer supported in parallel, i.e.,
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Artificial
Intelligence
Inside
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
How strong are your tests?
version	
control
build
developer	
tests
deploy
scenario	
tests
deploy	to	
production
measure	&	
validate
c++
java
import org.junit.Test;
import static org.junit.Assert.assertEquals;
public class TestEmployeeDetails {
EmpBusinessLogic empBusinessLogic = new EmpBusinessLogic();
EmployeeDetails employee = new EmployeeDetails();
//happy day scenario for calculation of appraisal and salary
@Test
public void testCalculateAppriasal() {
employee.setName("Rajeev");
employee.setAge(25);
employee.setMonthlySalary(8000);
double appraisal = empBusinessLogic.calculateAppraisal(employee);
double salary = empBusinessLogic.calculateYearlySalary(employee);
}
}
assertionless
test
int compare(int v1,
int v2)
{if (v1 <v2)
return 1;
return -1;
}
int compare(int v1,
int v2)
{if (v1 >=v2)
return 1;
return -1;
}
🙂
🙁
Operator Description Example
Before After
CBM Mutates the boundary conditions a > b a >= b
IM Mutates increment operators a++ a−−
INM Inverts negation operator −a a
MM
Mutates arithmetic & logical
operators
a & b a | b
NCM Negates a conditional operator a == b a != b
RVM
Mutates the return value of a
function
return true return false
VMCM Removes a void method call voidCall(x) –
Competent Programmer
Hypothesis
(Program is close to correct)
Coupling Effect
(Test suites capable of detecting simple errors

will also detect complex errors)
© Serge Demeyer: Keynote SHIFT — IWSF 2020
Industrial Case Study
22
• 83K lines of code
• Complicated structure
• Lots of legacy code
• Lots of black-box tests
Ali Parsai, Serge Demeyer; “Comparing Mutation Coverage Against Branch Coverage in an Industrial Setting”.
Software Tools for Technology Transfer
http://littledarwin.parsai.net
© Serge Demeyer: Keynote SHIFT — IWSF 2020
Industrial Case
24
Unit tests only !
Segmentation
Percentage
020406080100
Mutation Coverage
Branch Coverage
CI
D
evelop
Build
Test
W
ay too slow
We witnessed 48 hours of mutation testing time on a
test suite comprising 272 unit tests and 5,258 lines of
test code for testing a project with 48,873 lines of
production code.
Sten Vercammen, Serge Demeyer, Markus Borg, and Sigrid Eldh; “Speeding up Mutation Testing via the
Cloud: Lessons Learned for Further Optimisations”. Proceedings ESEM 2018
Master
1) Initial test Build
2) ∀ files to mutate:
queue file names
3a) Generate mutants
4a) Execute mutants
3b) Store mutants
4b) Store results
3c) Queue mutant
references
5) Process results
0
1h
2h
3h
LittleDarwin
1 worker
2 workers
4 workers
8 workers
16 workers
0
12h
1d
1d 12h
2d
2d 12h
LittleDarwin
1 worker
2 workers
4 workers
8 workers
16 workers
https://github.com/joakim-brannstrom/dextool
Presence of defect
+ reach the defect
+ infect the program state
+ observable on output
coverage
mutants
Mutation Testing
= Actionable !
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
Artificial
Intelligence
Inside
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
Control
Sensors
Actuators
Plant
Environm
ent
Control Model
Plant Model
Virtual
Actuators
Virtual
Sensors
M
iL
Environm
ent
Deployed Code
Real-Time Plant
H
iL
Environm
ent
Generated Code
SiL&PiL
Environm
ent
Realized Control
Realized Plant
R
ealized
Actuators
R
ealized
Sensors
R
ealEnvironm
ent
Define
Architecture
:SystemRequirements
Con
Environment :Architecture
Pla
Embe
:ModelPlant
:ModelSim
Sensors
:ModelS
Actuato
:MiLSimulation
Pl
Control :
Sensors :ControlDSL
:ModelControl
:ModelSim
Environment
MiLEnvironment :ControlDSL
: ECUDeployment
:HiLSimulation
:ConfigureHiL
Actuators
:
:ConfigureHiL
Sensors
ECU
Sensors :HiLDSEnvironment :HiLDSL
:ConfigureHiL
Environment
RTPlant :PlantDSL
Realize
System
S
:SystemTest
:DefineSpecifications
:Specifcations
Legend
Control Flow Data Flow
:Artifact :ManualActivity :(Semi-)AutoActivity
:DiscretizeControlModel
:GenerateCode
:SiL&PiLSimulation
Contr
:C-Code
: ECUConfiguration
:Co
22
Actual
System
Hardware

in the loop
Software

in the loop
Model

in the loop
Conceptual
Model
Ken Vanherpen; “A Contract-Based Approach for Multi-Viewpoint Consistency in the
Concurrent Design of Cyber-Physical Systems ”. PhD Thesis. Universiteit Antwerpen
Mutation Testing
@ Simulink
Calibrate
Faithfull
“Digital Twin”
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
Artificial
Intelligence
Inside
Fault Localisation: Debugger
© Serge Demeyer: Keynote SHIFT — IWSF 2020
Spectrum Based Fault Localisation
34
wastedeffort
7
46
56
122
48
2
104
124
74
6
109
9
83
68
116
90
86
27
32
97
128
16
115
81
52
57
60
42
62
63
69
75
23
26
88
65
77
84
73
1
133
51
113
76
117
53
61
38
34
105
29
72
78
96
43
103
33
4
87
49
30
85
15
112
25
118
125
82
20
110
132
39
45
89
71
10
114
5
24
64
35
54
40
3
127
70
28
120
98
121
37
19
100
11
99
108
14
17
131
50
95
66
58
41
80
92
93
47
44
91
67
8
126
31
36
79
55
13
21
22
106
119
123
130
102
111
129
12
18
101
94
107
59
7
46
56
122
48
2
104
124
74
6
109
9
83
68
116
90
86
27
32
97
128
16
115
81
52
57
60
42
62
63
69
75
23
26
88
65
77
84
73
1
133
51
113
76
117
53
61
38
34
105
29
72
78
96
43
103
33
4
87
49
30
85
15
112
25
118
125
82
20
110
132
39
45
89
71
10
114
5
24
64
35
54
40
3
127
70
28
120
98
121
37
19
100
11
99
108
14
17
131
50
95
66
58
41
80
92
93
47
44
91
67
8
126
31
36
79
55
13
21
22
106
119
123
130
102
111
129
12
18
101
94
107
59
11513515517519511151140116511901
11513515517519511151140116511901
Patterned Spectrum Analysis
Raw Spectrum Analysis
wastedeffort
3
15
2
8
9
23
1
14
17
5
18
16
4
7
26
21
25
22
6
13
24
10
12
19
20
27
3
15
2
8
9
23
1
14
17
5
18
16
4
7
26
21
25
22
6
13
24
10
12
19
20
27
151101151201251301351401451
151101151201251301351401451
Patterned Spectrum Analysis
Raw Spectrum Analysis
Artificial
Intelligence
Inside
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
Artificial
Intelligence
Inside
© Serge Demeyer: Keynote SHIFT — IWSF 2020
Test Amplification
36
Benjamin Danglot, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus. Automatic Test Improvement with DSpot: a Study with Ten
Mature Open-Source Projects. Empirical Software Engineering, Springer Verlag, 2019, pp.1-35. 10.1007/s10664-019-09692-y .
Mehrdad Abdi, Henrique Rocha and Serge Demeyer. Test Amplification in the Pharo Smalltalk Ecosystem. Proceedings IWST 2019
(International Workshop on Smalltalk Technologies)
input generation
+ assertion generation
testWithdraw
|b|
b := SmallBank new.

b deposit: 100.

self assert: b balance equals: 100.
b withdraw: 30.

self assert: b balance equals: 70
Genetic
Algorithms
Inside
testWithdraw_12
| b |
b := SmallBank new.
b deposit: 100.
b withdraw: SmallInteger maxVal.
self assert: b balance equals: 100
12 pull requests
9 merged
3 pending
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
Artificial
Intelligence
Inside
Description text Mining
Stack Traces Link to source code
Product/Component
Specific vocabulary
Suggestions?
Question Cases Precision Recall
Who should fix this bug? Eclipse, Firefox, gcc
eclipse: 57%
firefox: 64%
gcc: 6%
—
How long will it take to fix
this bug? (*)
JBoss
depends on the component
many similar reports: off by one hour
few similar reports: off by 7 hours
What is the severity of this
bug? (**)
Mozilla, Eclipse, Gnome
mozilla, eclipse:67% -
73%
gnome:
75%-82%
mozilla, eclipse:50% -
75%
gnome:
68%-84%
Promising results but …
• how much training is needed? (cross-project training?)
• how reliable is the data? (estimates, severity, assigned-to)
• does this generalise? (on industrial scale?)
replication is needed
(*) In CSMR2012 Proceedings
Who should fix this bug? Eclipse, Firefox, gcc
eclipse: 57%
firefox: 64%
gcc: 6%
—
Irrelevant for
Practitioners
(**) In CSMR2011; MSR 2010 Proceedings
Artificial
Intelligence
Inside
Finding Bugs, Fixing Bugs, Preventing Bugs
—
Exploiting Automated Tests to Increase
Reliability
As part of this edition, we will continue to put a
special emphasis on how emerging technologies
such as those based on artificial intelligence can
be used to detect faults and predict crashes and
system failures.
Topics of Interest
[…]
Fault diagnosis, analysis, detection and
prediction. Especially at the borders of
hardware and software.
Artificial
Intelligence
Inside
© Serge Demeyer: Keynote SHIFT — IWSF 2020
Q&A support
42
In CHI2016 Proceedings
Artificial
Intelligence
Inside
version	
control
build
developer	
tests
deploy
scenario	
tests
deploy	to	
production
measure	&	
validate
Artificial
Intelligence
Inside
If your AI system cannot motivate its decision
practitioners will not accept it.

Más contenido relacionado

La actualidad más candente

Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?
Chakkrit (Kla) Tantithamthavorn
 
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
Chakkrit (Kla) Tantithamthavorn
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Chakkrit (Kla) Tantithamthavorn
 
A survey of software testing
A survey of software testingA survey of software testing
A survey of software testing
Tao He
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
Tao He
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
Chakkrit (Kla) Tantithamthavorn
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
Shradha Singh
 
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect PredictionAn Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
SAIL_QU
 

La actualidad más candente (18)

Robustness testing
Robustness testingRobustness testing
Robustness testing
 
Cross-project defect prediction
Cross-project defect predictionCross-project defect prediction
Cross-project defect prediction
 
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
'Acceptance Test Driven Development Using Robot Framework' by Pekka Klarch & ...
 
Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?Mining Software Defects: Should We Consider Affected Releases?
Mining Software Defects: Should We Consider Affected Releases?
 
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
The Impact of Mislabelling on the Performance and Interpretation of Defect Pr...
 
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
Leveraging HPC Resources to Improve the Experimental Design of Software Analy...
 
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
IRJET - A Valuable and Speculative Approach to Manage the Item Testing by usi...
 
A survey of software testing
A survey of software testingA survey of software testing
A survey of software testing
 
Testing survey by_directions
Testing survey by_directionsTesting survey by_directions
Testing survey by_directions
 
Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...Towards a Better Understanding of the Impact of Experimental Components on De...
Towards a Better Understanding of the Impact of Experimental Components on De...
 
Regression Optimizer
Regression OptimizerRegression Optimizer
Regression Optimizer
 
Automated testing-whitepaper
Automated testing-whitepaperAutomated testing-whitepaper
Automated testing-whitepaper
 
Software Reliability
Software ReliabilitySoftware Reliability
Software Reliability
 
nullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexitiesnullcon 2011 - Fuzzing with Complexities
nullcon 2011 - Fuzzing with Complexities
 
6 article azojete vol 9 51 67
6 article azojete vol 9 51 676 article azojete vol 9 51 67
6 article azojete vol 9 51 67
 
Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)Welcome to International Journal of Engineering Research and Development (IJERD)
Welcome to International Journal of Engineering Research and Development (IJERD)
 
Unit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software EngineeringUnit Testing to Support Reusable for Component-Based Software Engineering
Unit Testing to Support Reusable for Component-Based Software Engineering
 
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect PredictionAn Exploration of Challenges Limiting Pragmatic Software Defect Prediction
An Exploration of Challenges Limiting Pragmatic Software Defect Prediction
 

Similar a Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability

SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
IJNSA Journal
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
IJNSA Journal
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
TAMILMARAN C
 
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Chakkrit (Kla) Tantithamthavorn
 

Similar a Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability (20)

AppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOpsAppSec How-To: Achieving Security in DevOps
AppSec How-To: Achieving Security in DevOps
 
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...Keynote VST2020 (Workshop on  Validation, Analysis and Evolution of Software ...
Keynote VST2020 (Workshop on Validation, Analysis and Evolution of Software ...
 
1506.08725v1
1506.08725v11506.08725v1
1506.08725v1
 
DevSecOps
DevSecOpsDevSecOps
DevSecOps
 
IRJET- Cross Platform Penetration Testing Suite
IRJET-  	  Cross Platform Penetration Testing SuiteIRJET-  	  Cross Platform Penetration Testing Suite
IRJET- Cross Platform Penetration Testing Suite
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGRA...
 
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...SOURCE CODE ANALYSIS TO REMOVE SECURITY  VULNERABILITIES IN JAVA SOCKET PROGR...
SOURCE CODE ANALYSIS TO REMOVE SECURITY VULNERABILITIES IN JAVA SOCKET PROGR...
 
Fuzzing101 uvm-reporting-and-mitigation-2011-02-10
Fuzzing101 uvm-reporting-and-mitigation-2011-02-10Fuzzing101 uvm-reporting-and-mitigation-2011-02-10
Fuzzing101 uvm-reporting-and-mitigation-2011-02-10
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Open Source Software Testing Tools
Open Source Software Testing ToolsOpen Source Software Testing Tools
Open Source Software Testing Tools
 
Standardizing Source Code Security Audits
Standardizing Source Code Security AuditsStandardizing Source Code Security Audits
Standardizing Source Code Security Audits
 
A Study on Vulnerability Management
A Study on Vulnerability ManagementA Study on Vulnerability Management
A Study on Vulnerability Management
 
Embedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_finalEmbedded software static analysis_Polyspace-WhitePaper_final
Embedded software static analysis_Polyspace-WhitePaper_final
 
2011 NASA Open Source Summit - Forge.mil
2011 NASA Open Source Summit - Forge.mil2011 NASA Open Source Summit - Forge.mil
2011 NASA Open Source Summit - Forge.mil
 
Quality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman ShuklaQuality Assurance and its Importance in Software Industry by Aman Shukla
Quality Assurance and its Importance in Software Industry by Aman Shukla
 
Software testing ppt
Software testing pptSoftware testing ppt
Software testing ppt
 
Information hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted ImagesInformation hiding based on optimization technique for Encrypted Images
Information hiding based on optimization technique for Encrypted Images
 
Software Security Assurance for DevOps
Software Security Assurance for DevOpsSoftware Security Assurance for DevOps
Software Security Assurance for DevOps
 
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
Explainable Artificial Intelligence (XAI) 
to Predict and Explain Future Soft...
 
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
IRJET- An Efficient Hardware-Oriented Runtime Approach for Stack-Based Softwa...
 

Más de University of Antwerp

Más de University of Antwerp (8)

MUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow ModelsMUT4SLX: Extensions for Mutation Testing of Stateflow Models
MUT4SLX: Extensions for Mutation Testing of Stateflow Models
 
AI For Software Engineering: Two Industrial Experience Reports
AI For Software Engineering: Two Industrial Experience ReportsAI For Software Engineering: Two Industrial Experience Reports
AI For Software Engineering: Two Industrial Experience Reports
 
Test Amplification in Python — An Industrial Experience Report
       Test Amplification in Python — An Industrial Experience Report       Test Amplification in Python — An Industrial Experience Report
Test Amplification in Python — An Industrial Experience Report
 
Technical Debt in Start-ups / Scale-Ups
Technical Debt in Start-ups / Scale-UpsTechnical Debt in Start-ups / Scale-Ups
Technical Debt in Start-ups / Scale-Ups
 
Social Coding Platforms Facilitate Variant Forks
Social Coding Platforms Facilitate Variant ForksSocial Coding Platforms Facilitate Variant Forks
Social Coding Platforms Facilitate Variant Forks
 
Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...
Finding Bugs, Fixing Bugs, Preventing Bugs - Exploiting Automated Tests to In...
 
VST2022SmallAmpAmpyfier.pdf
VST2022SmallAmpAmpyfier.pdfVST2022SmallAmpAmpyfier.pdf
VST2022SmallAmpAmpyfier.pdf
 
Saner open steeringcommittee2018campobassodoubleblind
Saner open steeringcommittee2018campobassodoubleblindSaner open steeringcommittee2018campobassodoubleblind
Saner open steeringcommittee2018campobassodoubleblind
 

Último

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdfPayment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
Payment Gateway Testing Simplified_ A Step-by-Step Guide for Beginners.pdf
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 

Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability

  • 1. Universiteit Antwerpen Finding Bugs, Fixing Bugs, Preventing Bugs —
 Exploiting Automated Tests to Increase Reliability Keynote SHIFT — IWSF 2020 The 4th International Workshop on Software Faults (IWSF 2020) The 2nd Annual International Workshop on Software Hardware Interaction Faults October 2020 — © Prof. Serge Demeyer
  • 2. Books • 2 books • 3 proceedings (editor) Best Teacher’s Award Top Publications Spin Off & Start Up
  • 3. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Artificial Intelligence Inside Topics of Interest […] especially in the context of Cyber Physical Systems […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software.
  • 4. Ericsson, Bombardier, Saab, System Verification, Empear, Verifyter, KTH, MDH, RISE Comiq, EfiCode, Ponsse, Siili, Qentinel, Symbio, Uni.Oulu, VTT Axini, Testwerk, TNO, Open Uni. AKKA, Expleo, EKS, FFT, Fraunhofer, IFAK, OFFIS, Parasoft Alerion, Prodevelop,, Uni.Mandragon Kuveyt Bank, Saha BT The TESTOMAT project will allow software teams to increase the development speed without sacrificing quality To achieve this goal, the project will advance the state-of-the-art in test automation for software teams moving towards a more agile development process.
  • 5.
  • 7. variability "lot size 1" safety IEC 62061 (mechatronics)
 RTCA/DO-178C (avionics) IEC 62304 (medical)
 ISO 26262 (automotive) agility rapid customer feedback faster release cycles
  • 8. Six decades into the computer revolution, four decades since the invention of the microprocessor, and two decades into the rise of the modern Internet, all of the technology required to transform industries through software finally works and can be widely delivered at global scale.
  • 9.
  • 10.
  • 11. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Artificial Intelligence Inside Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software.
  • 12. Software Testing is the process of executing a program or system with the intent of finding errors. (Myers, Glenford J., The art of software testing. Wiley, 1979)
  • 13. © Serge Demeyer: Keynote SHIFT — IWSF 2020 Continuous Integration Pipeline 13 <<Breaking the Build>> version control build developer tests deploy scenario tests deploy to production measure & validate
  • 14. [Khom2014] Khomh, F. Adams, B, Dhaliwal, T and Zou, Y Understanding the Impact of Rapid Releases on Software Quality: The Case of Firefox, Empirical Software Engineering, Springer. http://link.springer.com/article/10.1007/s10664-014-9308-x 1.0 1.5 2.0 3.0 3.5 3.6 4.0 5.0 7.0 8.0 9.0 Traditional Release Cycle Rapid Release Cycle (a) Time Line of Major Versions of FireFox (b) Time Line of Minor Versions of FireFox Figure 1. Timeline of FireFox versions. channels are respectively 100,000 for NIGHTLY, 1 million for AURORA, 10 million for BETA and 100+ millions for a major Firefox version [11]. NIGHTLY reaches Firefox developers and contributors, while other channels (i.e., AU- RORA and BETA) recruit external users for testing. The source code on AURORA is tested by web developers who are interested in the latest standards, and by Firefox add-on developers who are willing to experiment with new browser APIs. The BETA channel is tested by Firefox’s regular beta by bug triaging developers and assigned for fixing. When a developer fixes a bug, he typically submits a patch to Bugzilla. Once approved, the patch code is integrated into the source code of Firefox on the corresponding channel and migrated through the other channels for release. Bugs that take too long to get fixed and hence miss a scheduled release are picked up by the next release’s channel. III. STUDY DESIGN
  • 15. [Khom2014] Khomh, F. Adams, B, Dhaliwal, T and Zou, Y Understanding the Impact of Rapid Releases on Software Quality: The Case of Firefox, Empirical Software Engineering, Springer. http://link.springer.com/article/10.1007/s10664-014-9308-x ✓ bugs are fixed faster (but … harder bugs propagated to later releases) ✓ amount of pre- & post-release bugs ± the same ✓ the program crashes earlier (perhaps due to recent features) 3.6 4.0 5.0 7.0 8.0 9.0 Rapid Release Cycle rs and assigned for fixing. When he typically submits a patch to the patch code is integrated into on the corresponding channel and er channels for release. Bugs that nd hence miss a scheduled release release’s channel. TUDY DESIGN earch questions: ease cycle affect the erence in the number control for the time lease dates. However, tly lower for versions les, i.e., failures seem cycle affect the fixing ter for versions devel- e cycle affect software d release model are .e., the proportion of ersions that possibly 5.0 NIGHTLY 6.0 NIGHTLY 7.0 NIGHTLY 8.0 NIGHTLY 5.0 AURORA 6.0 AURORA 7.0 AURORA 5.0 BETA 6.0 BETA 5.0 MAIN New Feature Development 6 Weeks 6 Weeks 6 Weeks 6 Weeks Figure 2. Development and Release Process of Mozilla Firefox major release was made. Figure 1(b) shows the release dates of the minor versions of Firefox. With the advent of shorter release cycles in March 2011, new features need to be tested and delivered to users faster. To achieve this goal, Firefox changed its development pro- cess. First, versions are no longer supported in parallel, i.e.,
  • 16. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Artificial Intelligence Inside Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software.
  • 17. How strong are your tests? version control build developer tests deploy scenario tests deploy to production measure & validate
  • 19. import org.junit.Test; import static org.junit.Assert.assertEquals; public class TestEmployeeDetails { EmpBusinessLogic empBusinessLogic = new EmpBusinessLogic(); EmployeeDetails employee = new EmployeeDetails(); //happy day scenario for calculation of appraisal and salary @Test public void testCalculateAppriasal() { employee.setName("Rajeev"); employee.setAge(25); employee.setMonthlySalary(8000); double appraisal = empBusinessLogic.calculateAppraisal(employee); double salary = empBusinessLogic.calculateYearlySalary(employee); } } assertionless test
  • 20. int compare(int v1, int v2) {if (v1 <v2) return 1; return -1; } int compare(int v1, int v2) {if (v1 >=v2) return 1; return -1; } 🙂 🙁
  • 21. Operator Description Example Before After CBM Mutates the boundary conditions a > b a >= b IM Mutates increment operators a++ a−− INM Inverts negation operator −a a MM Mutates arithmetic & logical operators a & b a | b NCM Negates a conditional operator a == b a != b RVM Mutates the return value of a function return true return false VMCM Removes a void method call voidCall(x) – Competent Programmer Hypothesis (Program is close to correct) Coupling Effect (Test suites capable of detecting simple errors
 will also detect complex errors)
  • 22. © Serge Demeyer: Keynote SHIFT — IWSF 2020 Industrial Case Study 22 • 83K lines of code • Complicated structure • Lots of legacy code • Lots of black-box tests Ali Parsai, Serge Demeyer; “Comparing Mutation Coverage Against Branch Coverage in an Industrial Setting”. Software Tools for Technology Transfer
  • 24. © Serge Demeyer: Keynote SHIFT — IWSF 2020 Industrial Case 24 Unit tests only ! Segmentation Percentage 020406080100 Mutation Coverage Branch Coverage
  • 25. CI D evelop Build Test W ay too slow We witnessed 48 hours of mutation testing time on a test suite comprising 272 unit tests and 5,258 lines of test code for testing a project with 48,873 lines of production code. Sten Vercammen, Serge Demeyer, Markus Borg, and Sigrid Eldh; “Speeding up Mutation Testing via the Cloud: Lessons Learned for Further Optimisations”. Proceedings ESEM 2018
  • 26. Master 1) Initial test Build 2) ∀ files to mutate: queue file names 3a) Generate mutants 4a) Execute mutants 3b) Store mutants 4b) Store results 3c) Queue mutant references 5) Process results
  • 27. 0 1h 2h 3h LittleDarwin 1 worker 2 workers 4 workers 8 workers 16 workers 0 12h 1d 1d 12h 2d 2d 12h LittleDarwin 1 worker 2 workers 4 workers 8 workers 16 workers
  • 29. Presence of defect + reach the defect + infect the program state + observable on output coverage mutants Mutation Testing = Actionable !
  • 30. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability Artificial Intelligence Inside As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software.
  • 31. Control Sensors Actuators Plant Environm ent Control Model Plant Model Virtual Actuators Virtual Sensors M iL Environm ent Deployed Code Real-Time Plant H iL Environm ent Generated Code SiL&PiL Environm ent Realized Control Realized Plant R ealized Actuators R ealized Sensors R ealEnvironm ent Define Architecture :SystemRequirements Con Environment :Architecture Pla Embe :ModelPlant :ModelSim Sensors :ModelS Actuato :MiLSimulation Pl Control : Sensors :ControlDSL :ModelControl :ModelSim Environment MiLEnvironment :ControlDSL : ECUDeployment :HiLSimulation :ConfigureHiL Actuators : :ConfigureHiL Sensors ECU Sensors :HiLDSEnvironment :HiLDSL :ConfigureHiL Environment RTPlant :PlantDSL Realize System S :SystemTest :DefineSpecifications :Specifcations Legend Control Flow Data Flow :Artifact :ManualActivity :(Semi-)AutoActivity :DiscretizeControlModel :GenerateCode :SiL&PiLSimulation Contr :C-Code : ECUConfiguration :Co 22 Actual System Hardware
 in the loop Software
 in the loop Model
 in the loop Conceptual Model Ken Vanherpen; “A Contract-Based Approach for Multi-Viewpoint Consistency in the Concurrent Design of Cyber-Physical Systems ”. PhD Thesis. Universiteit Antwerpen Mutation Testing @ Simulink Calibrate Faithfull “Digital Twin”
  • 32. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software. Artificial Intelligence Inside
  • 34. © Serge Demeyer: Keynote SHIFT — IWSF 2020 Spectrum Based Fault Localisation 34 wastedeffort 7 46 56 122 48 2 104 124 74 6 109 9 83 68 116 90 86 27 32 97 128 16 115 81 52 57 60 42 62 63 69 75 23 26 88 65 77 84 73 1 133 51 113 76 117 53 61 38 34 105 29 72 78 96 43 103 33 4 87 49 30 85 15 112 25 118 125 82 20 110 132 39 45 89 71 10 114 5 24 64 35 54 40 3 127 70 28 120 98 121 37 19 100 11 99 108 14 17 131 50 95 66 58 41 80 92 93 47 44 91 67 8 126 31 36 79 55 13 21 22 106 119 123 130 102 111 129 12 18 101 94 107 59 7 46 56 122 48 2 104 124 74 6 109 9 83 68 116 90 86 27 32 97 128 16 115 81 52 57 60 42 62 63 69 75 23 26 88 65 77 84 73 1 133 51 113 76 117 53 61 38 34 105 29 72 78 96 43 103 33 4 87 49 30 85 15 112 25 118 125 82 20 110 132 39 45 89 71 10 114 5 24 64 35 54 40 3 127 70 28 120 98 121 37 19 100 11 99 108 14 17 131 50 95 66 58 41 80 92 93 47 44 91 67 8 126 31 36 79 55 13 21 22 106 119 123 130 102 111 129 12 18 101 94 107 59 11513515517519511151140116511901 11513515517519511151140116511901 Patterned Spectrum Analysis Raw Spectrum Analysis wastedeffort 3 15 2 8 9 23 1 14 17 5 18 16 4 7 26 21 25 22 6 13 24 10 12 19 20 27 3 15 2 8 9 23 1 14 17 5 18 16 4 7 26 21 25 22 6 13 24 10 12 19 20 27 151101151201251301351401451 151101151201251301351401451 Patterned Spectrum Analysis Raw Spectrum Analysis Artificial Intelligence Inside
  • 35. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software. Artificial Intelligence Inside
  • 36. © Serge Demeyer: Keynote SHIFT — IWSF 2020 Test Amplification 36 Benjamin Danglot, Oscar Vera-Pérez, Benoit Baudry, Martin Monperrus. Automatic Test Improvement with DSpot: a Study with Ten Mature Open-Source Projects. Empirical Software Engineering, Springer Verlag, 2019, pp.1-35. 10.1007/s10664-019-09692-y . Mehrdad Abdi, Henrique Rocha and Serge Demeyer. Test Amplification in the Pharo Smalltalk Ecosystem. Proceedings IWST 2019 (International Workshop on Smalltalk Technologies) input generation + assertion generation testWithdraw |b| b := SmallBank new.
 b deposit: 100.
 self assert: b balance equals: 100. b withdraw: 30.
 self assert: b balance equals: 70 Genetic Algorithms Inside testWithdraw_12 | b | b := SmallBank new. b deposit: 100. b withdraw: SmallInteger maxVal. self assert: b balance equals: 100
  • 37. 12 pull requests 9 merged 3 pending
  • 38. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software. Artificial Intelligence Inside
  • 39. Description text Mining Stack Traces Link to source code Product/Component Specific vocabulary Suggestions?
  • 40. Question Cases Precision Recall Who should fix this bug? Eclipse, Firefox, gcc eclipse: 57% firefox: 64% gcc: 6% — How long will it take to fix this bug? (*) JBoss depends on the component many similar reports: off by one hour few similar reports: off by 7 hours What is the severity of this bug? (**) Mozilla, Eclipse, Gnome mozilla, eclipse:67% - 73% gnome: 75%-82% mozilla, eclipse:50% - 75% gnome: 68%-84% Promising results but … • how much training is needed? (cross-project training?) • how reliable is the data? (estimates, severity, assigned-to) • does this generalise? (on industrial scale?) replication is needed (*) In CSMR2012 Proceedings Who should fix this bug? Eclipse, Firefox, gcc eclipse: 57% firefox: 64% gcc: 6% — Irrelevant for Practitioners (**) In CSMR2011; MSR 2010 Proceedings Artificial Intelligence Inside
  • 41. Finding Bugs, Fixing Bugs, Preventing Bugs — Exploiting Automated Tests to Increase Reliability As part of this edition, we will continue to put a special emphasis on how emerging technologies such as those based on artificial intelligence can be used to detect faults and predict crashes and system failures. Topics of Interest […] Fault diagnosis, analysis, detection and prediction. Especially at the borders of hardware and software. Artificial Intelligence Inside
  • 42. © Serge Demeyer: Keynote SHIFT — IWSF 2020 Q&A support 42