Yann-Gaël Guéhéneuc
This work is licensed under a Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License
The IoT Fragmentation, Issues
and Opportunities in Software
Engineering Research
Griottes Team
18/11/30
2/80
Outline
 A Brief History of Software Engineering
 50 years later…
 Causes and Consequences
 IoT Software Engineering
 IoT Software Miniaturisation
3/80
A BRIEF HISTORY OF
SOFTWARE ENGINEERING
4/80
In the Past
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
https://en.wikipedia.org/wiki/History_of_software_engineering
5/80https://en.wikipedia.org/wiki/IBM_System/360_Model_65
https://www.goodreads.com/book/show/13629.The_Mythical_Man_Month
6/80https://en.wikipedia.org/wiki/Year_2000_problem
7/80https://hackaday.com/2015/10/26/killed-by-a-machine-the-therac-25/
8/80
Productivity  Quality
http://losnuevosguerreros.org/mod/glossary/view.php?g=1
9/80
50 YEARS LATER...
10/80
From SNs to Home Assistants
http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html
https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot
https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559
https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html
http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
11/80
From SNs to Home Assistants
SOSUS
1950
http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html
https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot
https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559
https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html
http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
Trojan Room
1993
Myers et al.
1984
12/80
From SNs to Home Assistants
SOSUS
1950
http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html
https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot
https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559
https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html
http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
Trojan Room
1993
Myers et al.
1984
2017
Things > People
2008
Berkley PicoRadio
2000
13/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
14/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
15/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
16/80
From OSes to Home Assistants
http://apple.wikia.com/wiki/System_7
https://en.wikipedia.org/wiki/Windows_3.1x
http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/
http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software
https://play.google.com/store/apps/details?id=com.acr.screenshothd
https://www.cultofmac.com/230954/ios-7-in-action-gallery/
https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak
https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO
https://www.cnet.com/products/google-home/review/
17/80
50 Years Later…
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
18/80
50 Years Later…
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
19/80
50 Years Later…
 Cost and Budget Overruns
“Through 2018, 75 percent of IoT projects
will take up to twice as long as planned.”
—Gartner, 2016
http://www.gartner.com/newsroom/id/3185623
20/80https://newsroom.cisco.com/press-release-content?articleId=1847422
21/80
50 Years Later…
 Property Damage
“Hackers Remotely Kill
a Jeep on the Highway”
—Wired, 2015
https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
22/80https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
23/80
50 Years Later…
 Life and Death
“An estimated 465,000 people in the US
[…] should update the firmware [of their]
pacemakers or risk […] fatal hacks.”
—Ars Technica, 2017
24/80https://arstechnica.com/information-technology/2017/08/465k-patients-need-a-firmware-update-to-prevent-serious-pacemaker-hacks/
25/80
50 Years Later…
 Cost and Budget Overruns
 Property Damage
 Life and Death
 Productivity  Quality
26/80
Productivity  Quality
https://bridgera.com/cisco-says-iot-projects-failing/
27/80
CAUSES AND CONSEQUENCES
28/80https://bridgera.com/cisco-says-iot-projects-failing/
29/80http://www.zdnet.com/article/iot-spending-to-surpass-800-billion-in-2017-led-by-hardware-idc/
30/80
Heavy Fragmentation
https://www.fool.com/investing/2016/11/12/bad-news-we-may-have-an-iot-problem-on-our-hands.aspx
31/80
Heavy Fragmentation
https://www.qualcomm.com/news/onq/2016/02/19/fragmentation-enemy-internet-things
32/80
Heavy Fragmentation
 A cursory review of some IoT devices out there
– Smart Homes
– Wearables
– Smart Cities
– Industry 4.0
– Connected Health
136 hardware devices…
…130 different apps, APIs, or SDKs!
33/80
Causes and Consequences
34/80
Causes and Consequences
35/80
Causes and Consequences
36/80
Solution?
https://www.ericsson.com/thinkingahead/the-networked-society-blog/2017/09/13/iot-ecosystem-collaborations-can-stop-device-fragmentation/
37/80
IOT SOFTWARE
ENGINEERING
38/80
“Software is as vital as hardware,
and in many cases much more
complex, but it is much less well
understood.
It is a new branch of engineering,
in which research, development
and production are not clearly
distinguished, and its vital role is
often overlooked.
There have been many notable
successes, but recent advances
in hardware [...] have sometimes
resulted in [software technology]
being stretched beyond […] limit.”
—Stanley Gill, co-inventor
of the subroutine, 1968
http://www.writeopinions.com/stanley-gill
39/80
Will IoT Trigger the Next
Software Crisis?
40/80
Will IoT Trigger the Next
Software Crisis?
41/80
IoT Software Engineering
 Tames the complexity of IoT systems
42/80
IoT Software Engineering
 Tames the complexity of IoT systems
– Device software
– Apps and Cloud
– Privacy and transparency
43/80
IoT Software Engineering
 Tames the complexity of IoT systems
– Device software
• Bluetooth Low Energy, Zigbee, 5G…
– Apps and Cloud
• Node.js, OAuth 2.0, HTML5…
– Privacy and transparency
• Common sense, ethics, laws…
44/80
IoT Software Engineering
 Research avenues
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
45/80
IoT Software Engineering
 Research avenues
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
46/80
IoT Software Engineering
 Research avenues
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
47/80
IoT Software Development
 Problem of heavy fragmentation
– From Cloud VMs to RPI to RFID tags
– From C# to C to assembly to XXX
– From DirectX to OpenGL ES to… none
48/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
49/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
50/80
Run the Same Software
 Do you remember…
51/80
Run the Same Software
“Write once,
run everywhere”
 Do you remember…
52/80
Run the Same Software
“Write once,
run everywhere”
“Write once,
debug everywhere”
 Do you remember…
53/80
Run the Same Software
 Write once, run everywhere
– From p-code to bytecodes
– From interpreters to virtual machines
– From unique to common APIs/libraries
 Write once, debug everywhere
– Lowest common denominator
– Threading and schedulers
– User interfaces and conventions
54/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
55/80
IoT Software Development
 One practical and research idea
– Run the same software everywhere
– Transform the software to run everywhere
56/80
IOT SOFTWARE
MINIATURISATION
57/80
Transform the Software
Problems
 From Cloud VMs to RPI
to RFID tags
 From C# to C to
assembly to XXX
 From DirectX to OpenGL
ES to… none
Solutions
 Choose an interpreter for
many platforms
 Remove from the
software and its
interpreter useless,
unavailable features
58/80
Transform the Software
 Choose an interpreter for many platforms
– Duktape for JavaScript
 Remove from the software and its interpreter
useless, unavailable features
59/80
Software Miniaturisation
 We identify 86 code features
– 40 related to ECMA script compliance
– 46 specific to Duktape interpreter
that impact
– File size
– Memory usage
– CPU time
This is a joint work with Rodrigo Morales and Rubén
Saborido-Infantes, and post-doctoral fellows in CSSE
60/80
Software Miniaturisation
 We identify 86 code features
– 75 are dichotomous nominal variables
– 11 are continuous variables
 Just the dichotomous nominal variables
generate 3.8×10²² combinations!
61/80
Software Miniaturisation
 We identify 19 features interdependencies
– Feature Y depends on feature X to be run
 We identify conflicts among the metrics
– Reducing memory usage increases file size
– For example: storing functions in ROM (Ft. 7-10)
reduces memory usage by 87.93% but
increases file size by 25%
(For a script to detect prime numbers)
62/80
Software Miniaturisation
 Multi-objective combinatorial optimization
– NSGA-II to automatically miniaturize JS code
– MoMIT: Multi-objective Miniaturisation for the
Internet of Things
63/80
MoMIT
INPUT
Mandatory
code features
IoT candidate
devices
Program
source code
PROCESS
Measure performance
metrics of
default program
As baseline
Generate
Different program
variants
Compile
program with
default features
Evaluate
program variants
Select most
Performant
Program variants
Evolve
program variants
(Crossover and
Mutation)
Most effective
program variants
PROCESS OUTPUT
64/80
MoMIT
 Preliminary experiment
– Test case from Mozilla
• 3D Cube
65/80
MoMIT
66/80
MoMIT
 Capabilities of the IoT devices
67/80
MoMIT
 Capabilities of the IoT devices
Device name Memory
capacity
Storage
capacity
Wifi
integrated
price US val dimensions
mm
Particle
Photon
128,000 1,000,000 yes 19.00 5 36.58 x 20.32
x 6.86
ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x
12.3
Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x
9.77
Raspberry PI
3 Model B+
1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6
BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
68/80
MoMIT
 Particle Photon?
69/80
MoMIT
 Particle Photon?
File size (bytes) Memory usage (bytes) CPU Time (seconds)
569,080 166,496 0.205
70/80
MoMIT
 Particle Photon?
File size (bytes) Memory usage (bytes) CPU Time (seconds)
569,080 166,496 0.205
Device name Memory
capacity
Storage
capacity
Wifi
integrated
price US val dimensions
mm
Particle
Photon
128,000 1,000,000 yes 19.00 5 36.58 x 20.32
x 6.86
ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x
12.3
Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x
9.77
Raspberry PI
3 Model B+
1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6
BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
71/80
MoMIT
 Particle Photon?
File size (bytes) Memory usage (bytes) CPU Time (seconds)
569,080 166,496 0.205
Device name Memory
capacity
Storage
capacity
Wifi
integrated
price US val dimensions
mm
Particle
Photon
128,000 1,000,000 yes 19.00 5 36.58 x 20.32
x 6.86
ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x
12.3
Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x
9.77
Raspberry PI
3 Model B+
1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6
BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
72/80
MoMIT
 MoMIT solutions
73/80
MoMIT
 MoMIT solutions
File size (Bytes) Memory Usage (Bytes) CPU Time (seconds)
709,792 70,944 0.140
548,160 78,816 0.400
400,256 81,200 0.180
435,496 147,936 0.120
364,416 137,440 0.160
586,592 129,632 0.120
709,792 70,944 0.140
475,232 94,688 0.135
400,256 81,200 0.180
474,264 81,200 0.170
74/80
MoMIT
 MoMIT solutions
File size (Bytes) Memory Usage (Bytes) CPU Time (seconds)
709,792 70,944 0.140
548,160 78,816 0.400
400,256 81,200 0.180
435,496 147,936 0.120
364,416 137,440 0.160
586,592 129,632 0.120
709,792 70,944 0.140
475,232 94,688 0.135
400,256 81,200 0.180
474,264 81,200 0.170
75/80
MoMIT
 Particle Photon?
76/80
MoMIT
 Particle Photon?
77/80
Will IoT Trigger the Next
Software Crisis?
78/80
Will IoT Trigger the Next
Software Crisis?
79/80
Next Software Crisis?
 Problem of heavy fragmentation
 Need more research to bring solutions
– Development, release, and operations
– Feasibility and integration testing
– Privacy and transparency
of the data and the software
Yann-Gaël Guéhéneuc
This work is licensed under a Creative
Commons Attribution-NonCommercial-
ShareAlike 3.0 Unported License
The IoT Fragmentation, Issues
and Opportunities in Software
Engineering Research
Griottes Team
18/11/30
81/80
82/80
References
 Other images/icons credits
– https://thenounproject.com/term/internet-of-
things/358751/
– https://www.shareicon.net/protection-insurance-
icons-crack-broken-insurance-breaking-glass-
glasses-cracks-678738
– https://www.shutterstock.com/video/clip-
20883922-stock-footage-day-sunset-tight-
freeway-traffic-jam-gridlock-cars-trucks-bumper-
camera-overpass-yellow-color.html
– https://www.dreamstime.com/royalty-free-stock-
photos-danger-to-life-skull-crossbones-warning-
sign-image27027038
– https://www.beyondmetrix.com/assets/images/m
aybe.jpg
– https://depositphotos.com/1377534/stock-photo-
no-underlined-by-pencil.html
– https://cdn-images-
1.medium.com/max/1200/1*vHvW74PM8jDOjaI
Gbg8gXQ.png
– https://developers.nest.com/documentation/clou
d/images/ad-t14-design-wwn.png
– https://www.marsdd.com/wp-
content/uploads/2014/10/Oct23-MaRS-
ConnectedWorld-ConnectedHome2.jpg
– http://all4desktop.com/4245989-fingers.html
– http://pngimg.com/download/956
– https://icons8.com/icon/34278/code-file
– https://cdn.sparkfun.com//assets/parts/1/1/3/2/8/
13774-01.jpg
– https://images-na.ssl-images-
amazon.com/images/I/613Q6IxkivL._SX425_.jpg
– https://www.apple.com/us_smb_78313/shop/pro
duct/HJCC2VC/B/philips-hue-ambiance-white-
and-color-extension-bulb-a19-e26
– https://c1.neweggimages.com/NeweggImage/Pr
oductImage/13-142-011-Z01.jpg
– https://cdn.sparkfun.com//assets/parts/1/2/0/7/6/
14162-02.jpg

From IoT to Software Miniaturisation

  • 1.
    Yann-Gaël Guéhéneuc This workis licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License The IoT Fragmentation, Issues and Opportunities in Software Engineering Research Griottes Team 18/11/30
  • 2.
    2/80 Outline  A BriefHistory of Software Engineering  50 years later…  Causes and Consequences  IoT Software Engineering  IoT Software Miniaturisation
  • 3.
    3/80 A BRIEF HISTORYOF SOFTWARE ENGINEERING
  • 4.
    4/80 In the Past Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality https://en.wikipedia.org/wiki/History_of_software_engineering
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
    10/80 From SNs toHome Assistants http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559 https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html
  • 11.
    11/80 From SNs toHome Assistants SOSUS 1950 http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559 https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html Trojan Room 1993 Myers et al. 1984
  • 12.
    12/80 From SNs toHome Assistants SOSUS 1950 http://www.navyrecognition.com/index.php/focus-analysis/naval-technology/5041-russian-military-deploying-sosus-like-global-maritime-surveillance-system-named-garmoniya.html https://en.wikipedia.org/wiki/Trojan_Room_coffee_pot https://image.slidesharecdn.com/micropowerstations-090907045814-phpapp02/95/micro-power-stations-7-728.jpg?cb=1252299559 https://www.cisco.com/c/en/us/about/security-center/secure-iot-proposed-framework.html http://www.slate.com/blogs/future_tense/2017/10/11/some_google_home_minis_were_recording_tons_of_audio_from_users.html Trojan Room 1993 Myers et al. 1984 2017 Things > People 2008 Berkley PicoRadio 2000
  • 13.
    13/80 From OSes toHome Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 14.
    14/80 From OSes toHome Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 15.
    15/80 From OSes toHome Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 16.
    16/80 From OSes toHome Assistants http://apple.wikia.com/wiki/System_7 https://en.wikipedia.org/wiki/Windows_3.1x http://www.techrepublic.com/article/os2-blue-lion-to-be-the-next-distro-of-the-28-year-old-os/ http://www.chingu.asia/wiki/index.php?title=DongilGeon+Software https://play.google.com/store/apps/details?id=com.acr.screenshothd https://www.cultofmac.com/230954/ios-7-in-action-gallery/ https://www.theverge.com/2013/9/3/4688892/windows-phone-8-1080p-screenshot-leak https://www.amazon.com/All-New-Amazon-Echo-Dot-Add-Alexa-To-Any-Room/dp/B01DFKC2SO https://www.cnet.com/products/google-home/review/
  • 17.
    17/80 50 Years Later… Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality
  • 18.
    18/80 50 Years Later… Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality
  • 19.
    19/80 50 Years Later… Cost and Budget Overruns “Through 2018, 75 percent of IoT projects will take up to twice as long as planned.” —Gartner, 2016 http://www.gartner.com/newsroom/id/3185623
  • 20.
  • 21.
    21/80 50 Years Later… Property Damage “Hackers Remotely Kill a Jeep on the Highway” —Wired, 2015 https://www.wired.com/2015/07/hackers-remotely-kill-jeep-highway/
  • 22.
  • 23.
    23/80 50 Years Later… Life and Death “An estimated 465,000 people in the US […] should update the firmware [of their] pacemakers or risk […] fatal hacks.” —Ars Technica, 2017
  • 24.
  • 25.
    25/80 50 Years Later… Cost and Budget Overruns  Property Damage  Life and Death  Productivity  Quality
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    32/80 Heavy Fragmentation  Acursory review of some IoT devices out there – Smart Homes – Wearables – Smart Cities – Industry 4.0 – Connected Health 136 hardware devices… …130 different apps, APIs, or SDKs!
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
    38/80 “Software is asvital as hardware, and in many cases much more complex, but it is much less well understood. It is a new branch of engineering, in which research, development and production are not clearly distinguished, and its vital role is often overlooked. There have been many notable successes, but recent advances in hardware [...] have sometimes resulted in [software technology] being stretched beyond […] limit.” —Stanley Gill, co-inventor of the subroutine, 1968 http://www.writeopinions.com/stanley-gill
  • 39.
    39/80 Will IoT Triggerthe Next Software Crisis?
  • 40.
    40/80 Will IoT Triggerthe Next Software Crisis?
  • 41.
    41/80 IoT Software Engineering Tames the complexity of IoT systems
  • 42.
    42/80 IoT Software Engineering Tames the complexity of IoT systems – Device software – Apps and Cloud – Privacy and transparency
  • 43.
    43/80 IoT Software Engineering Tames the complexity of IoT systems – Device software • Bluetooth Low Energy, Zigbee, 5G… – Apps and Cloud • Node.js, OAuth 2.0, HTML5… – Privacy and transparency • Common sense, ethics, laws…
  • 44.
    44/80 IoT Software Engineering Research avenues – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 45.
    45/80 IoT Software Engineering Research avenues – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 46.
    46/80 IoT Software Engineering Research avenues – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 47.
    47/80 IoT Software Development Problem of heavy fragmentation – From Cloud VMs to RPI to RFID tags – From C# to C to assembly to XXX – From DirectX to OpenGL ES to… none
  • 48.
    48/80 IoT Software Development One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 49.
    49/80 IoT Software Development One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 50.
    50/80 Run the SameSoftware  Do you remember…
  • 51.
    51/80 Run the SameSoftware “Write once, run everywhere”  Do you remember…
  • 52.
    52/80 Run the SameSoftware “Write once, run everywhere” “Write once, debug everywhere”  Do you remember…
  • 53.
    53/80 Run the SameSoftware  Write once, run everywhere – From p-code to bytecodes – From interpreters to virtual machines – From unique to common APIs/libraries  Write once, debug everywhere – Lowest common denominator – Threading and schedulers – User interfaces and conventions
  • 54.
    54/80 IoT Software Development One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 55.
    55/80 IoT Software Development One practical and research idea – Run the same software everywhere – Transform the software to run everywhere
  • 56.
  • 57.
    57/80 Transform the Software Problems From Cloud VMs to RPI to RFID tags  From C# to C to assembly to XXX  From DirectX to OpenGL ES to… none Solutions  Choose an interpreter for many platforms  Remove from the software and its interpreter useless, unavailable features
  • 58.
    58/80 Transform the Software Choose an interpreter for many platforms – Duktape for JavaScript  Remove from the software and its interpreter useless, unavailable features
  • 59.
    59/80 Software Miniaturisation  Weidentify 86 code features – 40 related to ECMA script compliance – 46 specific to Duktape interpreter that impact – File size – Memory usage – CPU time This is a joint work with Rodrigo Morales and Rubén Saborido-Infantes, and post-doctoral fellows in CSSE
  • 60.
    60/80 Software Miniaturisation  Weidentify 86 code features – 75 are dichotomous nominal variables – 11 are continuous variables  Just the dichotomous nominal variables generate 3.8×10²² combinations!
  • 61.
    61/80 Software Miniaturisation  Weidentify 19 features interdependencies – Feature Y depends on feature X to be run  We identify conflicts among the metrics – Reducing memory usage increases file size – For example: storing functions in ROM (Ft. 7-10) reduces memory usage by 87.93% but increases file size by 25% (For a script to detect prime numbers)
  • 62.
    62/80 Software Miniaturisation  Multi-objectivecombinatorial optimization – NSGA-II to automatically miniaturize JS code – MoMIT: Multi-objective Miniaturisation for the Internet of Things
  • 63.
    63/80 MoMIT INPUT Mandatory code features IoT candidate devices Program sourcecode PROCESS Measure performance metrics of default program As baseline Generate Different program variants Compile program with default features Evaluate program variants Select most Performant Program variants Evolve program variants (Crossover and Mutation) Most effective program variants PROCESS OUTPUT
  • 64.
    64/80 MoMIT  Preliminary experiment –Test case from Mozilla • 3D Cube
  • 65.
  • 66.
  • 67.
    67/80 MoMIT  Capabilities ofthe IoT devices Device name Memory capacity Storage capacity Wifi integrated price US val dimensions mm Particle Photon 128,000 1,000,000 yes 19.00 5 36.58 x 20.32 x 6.86 ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x 12.3 Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x 9.77 Raspberry PI 3 Model B+ 1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6 BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
  • 68.
  • 69.
    69/80 MoMIT  Particle Photon? Filesize (bytes) Memory usage (bytes) CPU Time (seconds) 569,080 166,496 0.205
  • 70.
    70/80 MoMIT  Particle Photon? Filesize (bytes) Memory usage (bytes) CPU Time (seconds) 569,080 166,496 0.205 Device name Memory capacity Storage capacity Wifi integrated price US val dimensions mm Particle Photon 128,000 1,000,000 yes 19.00 5 36.58 x 20.32 x 6.86 ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x 12.3 Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x 9.77 Raspberry PI 3 Model B+ 1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6 BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
  • 71.
    71/80 MoMIT  Particle Photon? Filesize (bytes) Memory usage (bytes) CPU Time (seconds) 569,080 166,496 0.205 Device name Memory capacity Storage capacity Wifi integrated price US val dimensions mm Particle Photon 128,000 1,000,000 yes 19.00 5 36.58 x 20.32 x 6.86 ESP32 512,000 4,000,000 yes 19.95 4 55.3 x 28.0 x 12.3 Philips Hue 32,000 256,000 no 26.95 3 24.5 x 30.5 x 9.77 Raspberry PI 3 Model B+ 1,000,000,000 16,000,000,000 yes 54.40 2 85 x 56 x 1.6 BeagleBone 256,000,000 4,000,000,000 yes 89.00 1 86.40 × 53.3
  • 72.
  • 73.
    73/80 MoMIT  MoMIT solutions Filesize (Bytes) Memory Usage (Bytes) CPU Time (seconds) 709,792 70,944 0.140 548,160 78,816 0.400 400,256 81,200 0.180 435,496 147,936 0.120 364,416 137,440 0.160 586,592 129,632 0.120 709,792 70,944 0.140 475,232 94,688 0.135 400,256 81,200 0.180 474,264 81,200 0.170
  • 74.
    74/80 MoMIT  MoMIT solutions Filesize (Bytes) Memory Usage (Bytes) CPU Time (seconds) 709,792 70,944 0.140 548,160 78,816 0.400 400,256 81,200 0.180 435,496 147,936 0.120 364,416 137,440 0.160 586,592 129,632 0.120 709,792 70,944 0.140 475,232 94,688 0.135 400,256 81,200 0.180 474,264 81,200 0.170
  • 75.
  • 76.
  • 77.
    77/80 Will IoT Triggerthe Next Software Crisis?
  • 78.
    78/80 Will IoT Triggerthe Next Software Crisis?
  • 79.
    79/80 Next Software Crisis? Problem of heavy fragmentation  Need more research to bring solutions – Development, release, and operations – Feasibility and integration testing – Privacy and transparency of the data and the software
  • 80.
    Yann-Gaël Guéhéneuc This workis licensed under a Creative Commons Attribution-NonCommercial- ShareAlike 3.0 Unported License The IoT Fragmentation, Issues and Opportunities in Software Engineering Research Griottes Team 18/11/30
  • 81.
  • 82.
    82/80 References  Other images/iconscredits – https://thenounproject.com/term/internet-of- things/358751/ – https://www.shareicon.net/protection-insurance- icons-crack-broken-insurance-breaking-glass- glasses-cracks-678738 – https://www.shutterstock.com/video/clip- 20883922-stock-footage-day-sunset-tight- freeway-traffic-jam-gridlock-cars-trucks-bumper- camera-overpass-yellow-color.html – https://www.dreamstime.com/royalty-free-stock- photos-danger-to-life-skull-crossbones-warning- sign-image27027038 – https://www.beyondmetrix.com/assets/images/m aybe.jpg – https://depositphotos.com/1377534/stock-photo- no-underlined-by-pencil.html – https://cdn-images- 1.medium.com/max/1200/1*vHvW74PM8jDOjaI Gbg8gXQ.png – https://developers.nest.com/documentation/clou d/images/ad-t14-design-wwn.png – https://www.marsdd.com/wp- content/uploads/2014/10/Oct23-MaRS- ConnectedWorld-ConnectedHome2.jpg – http://all4desktop.com/4245989-fingers.html – http://pngimg.com/download/956 – https://icons8.com/icon/34278/code-file – https://cdn.sparkfun.com//assets/parts/1/1/3/2/8/ 13774-01.jpg – https://images-na.ssl-images- amazon.com/images/I/613Q6IxkivL._SX425_.jpg – https://www.apple.com/us_smb_78313/shop/pro duct/HJCC2VC/B/philips-hue-ambiance-white- and-color-extension-bulb-a19-e26 – https://c1.neweggimages.com/NeweggImage/Pr oductImage/13-142-011-Z01.jpg – https://cdn.sparkfun.com//assets/parts/1/2/0/7/6/ 14162-02.jpg