2 @Article
{ sethi2017internet
,
3 title = {Internet of things
: architectures
, protocols
, and
5 author = {Sethi
, Pallavi and Sarangi
, Smruti R
},
6 journal = {Journal of Electrical and Computer Engineering
},
12 @InProceedings
{ muccini2018iot
,
13 author = "Muccini
, Henry and Moghaddam
, Mahyar Tourchi"
,
14 editor = "Cuesta
, Carlos E. and Garlan
, David and P
{\'e
}rez
,
16 title = "IoT Architectural Styles"
,
17 booktitle = "Software Architecture"
,
19 publisher = "Springer International Publishing"
,
22 abstract = "IoT components are becoming more and more ubiquitous.
23 Thus
, the necessity of architecting IoT applications is
24 bringing a substantial attention towards software
25 engineering community. On this occasion
, different styles
26 and patterns can facilitate shaping the IoT architectural
27 characteristics. This study aims at defining
, identifying
,
28 classifying
, and re
-designing a class of IoT styles and
29 patterns at the architectural level. Conforming a
30 systematic mapping study
(SMS
) selection procedure
, we
31 picked out
63 papers among over
2,300 candidate studies. To
32 this end
, we applied a rigorous classification and
33 extraction framework to select and analyze the most
34 influential domain
-related information. Our analysis
35 revealed the following main findings
: (i
) facing by various
36 architectural styles that attempted to
address various
37 aspects of IoT systems
, cloud and fog are discerned as
38 their most important components.
(ii
) distributed patterns
39 are not widely discussed for IoT architecture
, however
,
40 there is foreseen a grow specially for their industrial
41 applications.
(iii
) starting from the last few years on
,
42 there is still a growing scientific interest on IoT
43 architectural styles. This study gives a solid foundation
44 for classifying existing and future approaches for IoT
45 styles beneficial for academic and industrial researchers.
46 It provides a set of
abstract IoT reference architectures
47 to be applicable on various architectural styles."
,
48 isbn
= "
978-3-030-00761-4"
51 @InProceedings
{ rosenberg1997some
,
52 title = {Some misconceptions about lines of code
},
53 author = {Rosenberg
, Jarrett
},
54 booktitle = {Proceedings fourth international software metrics
58 organization = {IEEE
},
60 doi
= {10.1109/METRIC
.1997.637174},
61 address = {Albuquerque
, NM
, USA
}
64 @InProceedings
{ cooper2006links
,
65 address = {Berlin
, Heidelberg
},
66 title = {Links
: {Web
} {Programming
} {Without
} {Tiers
}},
67 isbn
= {978-3-540-74792-5},
68 abstract = {Links is a programming language for web applications that
69 generates code for all three tiers of a web application
70 from a single source
, compiling into JavaScript to run on
71 the client and into SQL to run on the database. Links
72 supports rich clients running in what has been dubbed
73 `Ajax' style
, and supports concurrent processes with
74 statically
-typed message passing. Links is scalable in the
75 sense that session state is preserved in the client rather
76 than the server
, in contrast to other approaches such as
77 Java Servlets or PLT Scheme. Client
-side concurrency in
78 JavaScript and transfer of computation between client and
79 server are both supported by translation into
80 continuation
-passing style.
},
81 booktitle = {Formal
{Methods
} for
{Components
} and
{Objects
}},
82 publisher = {Springer Berlin Heidelberg
},
83 author = {Cooper
, Ezra and Lindley
, Sam and Wadler
, Philip and
85 editor = {de Boer
, Frank S. and Bonsangue
, Marcello M. and Graf
,
86 Susanne and de Roever
, Willem
-Paul
},
91 @InProceedings
{ serrano2006hop
,
92 title = {Hop
: a language for programming the web
2.0},
93 author = {Serrano
, Manuel and Gallesio
, Erick and Loitsch
, Florian
},
94 booktitle = {OOPSLA Companion
},
98 address = {Portland
, Oregon
, USA
}
101 @Article
{ levis_mate_2002
,
102 title = {Maté
: {A
} tiny virtual machine for sensor networks
},
105 journal = {ACM Sigplan Notices
},
106 author = {Levis
, Philip and Culler
, David
},
110 file
= {Levis and Culler
- Matd A Tiny Virtual Machine for Sensor
111 Networks.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/RMPGY9NI
/Levis
112 and Culler
- Matd A Tiny Virtual Machine for Sensor
113 Networks.pdf
:application
/pdf
}
116 @Article
{ light2017mosquitto
,
117 title = {Mosquitto
: server and client implementation of the MQTT
119 author = {Light
, Roger
},
120 journal = {Journal of Open Source Software
},
127 @Article
{ hughes1989functional
,
128 title = {Why functional programming matters
},
129 author = {Hughes
, John
},
130 journal = {The computer
journal},
135 publisher = {Oxford University Press
}
138 @InProceedings
{ troyer_building_2018
,
139 title = {Building
{IoT
} {Systems
} {Using
} {Distributed
}
140 {First
}-{Class
} {Reactive
} {Programming
}},
141 booktitle = {2018 {IEEE
} {International
} {Conference
} on
{Cloud
}
142 {Computing
} {Technology
} and
{Science
} ({CloudCom
})},
143 author = {Troyer
, de
, Christophe and Nicolay
, Jens and Meuter
, de
,
149 address = {Nicosia
, Cyprus
}
152 @Article
{ harth_predictive_2018
,
153 author = {Natascha Harth and Christos Anagnostopoulos and Dimitrios
155 title = {Predictive intelligence to the edge
: impact on edge
157 journal = {Evolving Systems
},
164 @Book
{ guinard_building_2016
,
167 title = {Building the
{Web
} of
{Things
}: {With
} {Examples
} in
168 {Node
}.
{Js
} and
{Raspberry
} {Pi
}},
169 isbn
= {1-61729-268-0},
170 publisher = {Manning Publications Co.
},
171 author = {Guinard
, Dominique and Trifa
, Vlad
},
175 @Article
{ maccormack2007impact
,
176 title = {The impact of component modularity on design evolution
:
177 Evidence from the software industry
},
178 author = {MacCormack
, Alan and Rusnak
, John and Baldwin
, Carliss Y
},
179 journal = {Harvard Business School Technology \
& Operations Mgt. Unit
185 doi
= {10.2139/ssrn
.1071720}
188 @InProceedings
{ belle2013layered
,
189 address = {Boston
, MA
, USA
},
190 title = {The layered architecture revisited
: {Is
} it an
191 optimization problem?
},
193 isbn
= {978-1-5108-4159-8},
194 shorttitle
= {{SEKE
} 2013},
195 booktitle = {Proceedings of the
{Twenty
}-{Fifth
} {International
}
196 {Conference
} on
{Software
} {Engineering
} \
& {Knowledge
}
198 publisher = {KSI Research Inc
},
199 author = {Belle
, Alvine Boaye and El
-Boussaidi
, Ghizlane and
200 Desrosiers
, Christian and Mili
, Hafedh
},
205 @InProceedings
{ lee2001component
,
206 title = {Component identification method with coupling and
208 author = {Lee
, Jong Kook and Jung
, Seung Jae and Kim
, Soo Dong and
209 Jang
, Woo Hyun and Ham
, Dong Han
},
210 booktitle = {Proceedings Eighth Asia
-Pacific Software Engineering
214 organization = {IEEE
},
216 address = {Macao
, China
}
219 @Article
{ mazzei2018full
,
220 title = {A full stack for quick prototyping of IoT solutions
},
221 author = {Mazzei
, Daniele and Baldi
, Giacomo and Montelisciani
,
222 Gabriele and Fantoni
, Gualtiero
},
223 journal = {Annals of Telecommunications
},
228 publisher = {Springer
}
231 @Article
{ mayer2017multi
,
232 title = {On multi
-language software development
, cross
-language
233 links and accompanying tools
: a survey of professional
234 software developers
},
235 author = {Mayer
, Philip and Kirsch
, Michael and Le
, Minh Anh
},
236 journal = {Journal of Software Engineering Research and Development
},
241 publisher = {Springer
}
244 @InProceedings
{ mayer2015empirical
,
245 author = {Mayer
, Philip and Bauer
, Alexander
},
246 title = {An Empirical Analysis of the Utilization of Multiple
247 Programming Languages in Open Source Projects
},
249 isbn
= {9781450333504},
250 publisher = {Association for Computing Machinery
},
251 address = {New York
, NY
, USA
},
252 doi
= {10.1145/2745802.2745805},
253 abstract = {Background
: Anecdotal evidence suggests that software
254 applications are usually implemented using a combination of
255 (programming
) languages. Aim
: We want to provide empirical
256 evidence on the phenomenon of multi
-language programming.
257 Methods
: We use data mining of
1150 open source projects
258 selected for diversity from a public repository to a
)
259 investigate the projects for
number and
type of languages
260 found and the relative sizes of the languages
; b
) report on
261 associations between the
number of languages found and the
262 size
, age
, number of contributors
, and
number of commits of
263 a project using a
(Quasi
-)Poisson regression model
, and c
)
264 discuss concrete associations between the general
-purpose
265 languages and domain
-specific languages found using
266 frequent item set mining. Results
: We found a
) a mean
267 number of
5 languages per project with a clearly dominant
268 main general
-purpose language and
5 often
-used DSL types
,
269 b
) a significant influence of the size
, number of commits
,
270 and the main language on the
number of languages as well as
271 no significant influence of age and
number of contributors
,
272 and c
) three language ecosystems grouped around XML
,
273 Shell
/Make
, and HTML
/CSS. Conclusions
: Multi
-language
274 programming seems to be common in open
-source projects and
275 is a factor which must be dealt with in tooling and when
276 assessing development and maintenance of such software
278 booktitle = {Proceedings of the
19th International Conference on
279 Evaluation and Assessment in Software Engineering
},
282 location
= {Nanjing
, China
},
286 @InProceedings
{ motta2018challenges
,
287 author = {Motta
, Rebeca C. and de Oliveira
, K\'
{a
}thia M. and
288 Travassos
, Guilherme H.
},
289 title = {On Challenges in Engineering IoT Software Systems
},
291 isbn
= {9781450365031},
292 publisher = {Association for Computing Machinery
},
293 address = {New York
, NY
, USA
},
294 doi
= {10.1145/3266237.3266263},
295 abstract = {Contemporary software systems
, such as the Internet of
296 Things
(IoT
), Industry
4.0, and Smart Cities are new
297 technology paradigms that offer challenges for their
298 construction since they are calling into question our
299 traditional form of developing software. They are a
300 promising paradigm for the integration of devices and
301 communications technologies. It is leading to a shift from
302 the classical monolithic view of development where
303 stakeholder receive a software product at the end
(that we
304 have been doing for decades
), to software systems
305 materialized through physical objects interconnected by
306 networks and with embedded software to support daily
307 activities. We need therefore to revisit our way of
308 developing software systems and start to consider the
309 particularities required by these new sorts of
310 applications. This paper presents research toward the
311 definition of a framework to support the systems
312 engineering of IoT applications
, where we evolved the
313 Zachman's Framework as an alternative to the
organization
314 of this architecture. The activities were two folded to
315 address this goal
: a
) we identified leading concerns of IoT
316 applications
, recovered from technical literature
,
317 practitioners and a Government Report
, in different
318 studies
; b
) we structured the IoT paradigm in different
319 facets. These activities provided
14 significant concerns
320 and seven facets that together represent the engineering
321 challenges to be faced both by research and practice
322 towards the advancement of IoT in practice.
},
323 booktitle = {Proceedings of the XXXII Brazilian Symposium on Software
327 keywords = {challenges
, concerns
, internet of things
, IoT
, literature
328 review
, empirical software engineering
},
329 location
= {Sao Carlos
, Brazil
},
333 @InProceedings
{ kodali2016low
,
334 title = {Low cost ambient monitoring using ESP8266
},
335 author = {Kodali
, Ravi Kishore and Mahesh
, Kopulwar Shishir
},
336 booktitle = {2016 2nd International Conference on Contemporary
337 Computing and Informatics
(IC3I
)},
340 organization = {IEEE
},
342 address = {Greater Noida
, India
}
345 @InProceedings
{ alpernaswonderful
,
346 author = {Alpernas
, Kalev and Feldman
, Yotam M. Y. and Peleg
, Hila
},
347 title = {The Wonderful Wizard of LoC
: Paying Attention to the Man
348 behind the Curtain of Lines
-of
-Code Metrics
},
350 isbn
= {9781450381789},
351 publisher = {Association for Computing Machinery
},
352 address = {New York
, NY
, USA
},
353 doi
= {10.1145/3426428.3426921},
354 abstract = {Lines
-of
-code metrics
(loc
) are commonly reported in
355 Programming Languages
(PL
), Software Engineering
(SE
), and
356 Systems papers. This convention has several different
,
357 often contradictory
, goals
, including demonstrating the
358 `hardness' of a problem
, and demonstrating the `easiness'
359 of a problem. In many cases
, the reporting of loc metrics
360 is done not with a clearly communicated intention
, but
361 instead in an automatic
, checkbox
-ticking
, manner. In this
362 paper we investigate the uses of code metrics in PL
, SE
,
363 and System papers. We consider the different goals that
364 reporting metrics aims to achieve
, several various domains
365 wherein metrics are relevant
, and various alternative
366 metrics and their pros and cons for the different goals and
367 domains. We argue that communicating claims about research
368 software is usually best achieved not by reporting
369 quantitative metrics
, but by reporting the qualitative
370 experience of researchers
, and propose guidelines for the
371 cases when quantitative metrics are appropriate. We end
372 with a case study of the one area in which lines of code
373 are not the default measurement
---code produced by papers'
374 solutions
---and identify how measurements offered are used
375 to support an explicit claim about the algorithm. Inspired
376 by this positive example
, we call for other cogent measures
377 to be developed to support other claims authors wish to
379 booktitle = {Proceedings of the
2020 ACM SIGPLAN International
380 Symposium on New Ideas
, New Paradigms
, and Reflections on
381 Programming and Software
},
384 keywords = {research papers
, loc
, lines of code
},
385 location
= {Virtual
, USA
},
386 series = {Onward
! 2020}
389 @InProceedings
{ epstein2011towards
,
390 author = {Epstein
, Jeff and Black
, Andrew P. and Peyton Jones
,
392 title = {Towards Haskell in the Cloud
},
394 isbn
= {9781450308601},
395 publisher = {Association for Computing Machinery
},
396 address = {New York
, NY
, USA
},
397 doi
= {10.1145/2034675.2034690},
398 abstract = {We present Cloud Haskell
, a domain
-specific language for
399 developing programs for a distributed computing
400 environment. Implemented as a shallow embedding in Haskell
,
401 it provides a message
-passing communication model
, inspired
402 by Erlang
, without introducing incompatibility with
403 Haskell's established shared
-memory concurrency. A
key
404 contribution is a method for serializing function closures
405 for transmission across the network. Cloud Haskell has been
406 implemented
; we present example code and some preliminary
407 performance measurements.
},
408 booktitle = {Proceedings of the
4th ACM Symposium on Haskell
},
411 keywords = {message
-passing
, haskell
, erlang
},
412 location
= {Tokyo
, Japan
},
413 series = {Haskell '
11}
416 @Book
{ gupta2012akka
,
417 title = {Akka essentials
},
418 address = {Livery Place
, 35 Livery Street
, Birmingham B3
2PB
, UK
},
419 author = {Gupta
, Munish
},
421 publisher = {Packt Publishing Ltd
}
425 author = "HaskellWiki"
,
426 title = "Introduction to IO
--- HaskellWiki
{,} "
,
428 url
= "https
://wiki.haskell.org
/index.php?
title=Introduction_to_IO
&oldid
=63493"
,
429 note = "
[Online
; accessed
19-January
-2021]"
432 @Misc
{ circuitpython
,
433 author = {{CircuitPython Team
}},
434 title = "CircuitPython"
,
436 url
= "https
://circuitpython.org
/"
,
437 note = "
[Online
; accessed
2-March
-2022]"
440 @InProceedings
{ genericprogrammingextensionforclean
,
441 author = "Alimarine
, Artem and Plasmeijer
, Rinus"
,
442 editor = "Arts
, Thomas and Mohnen
, Markus"
,
443 title = "A Generic Programming Extension for Clean"
,
444 booktitle = "Implementation of Functional Languages"
,
446 publisher = "Springer Berlin Heidelberg"
,
447 address = "Berlin
, Heidelberg"
,
449 abstract = "Generic programming enables the programmer to define
450 functions by induction on the structure of types. Defined
451 once
, such a generic function can be used to generate a
452 specialized function for any user defined data
type.
453 Several ways to support generic programming in functional
454 languages have been proposed
, each with its own pros and
455 cons. In this paper we describe a combination of two
456 existing approaches
, which has the advantages of both of
457 them. In our approach overloaded functions with class
458 variables of an arbitrary kind can be defined generically.
459 A single generic definition defines a kind
-indexed family
460 of overloaded functions
, one for each kind. For instance
,
461 the generic mapping function generates an overloaded
462 mapping function for each kind."
,
463 isbn
= "
978-3-540-46028-2"
466 @InProceedings
{ hinzegenericfunctionalprogramming
,
467 author = {Hinze
, Ralf
},
468 title = {A New Approach to Generic Functional Programming
},
471 publisher = {Association for Computing Machinery
},
472 address = {New York
, NY
, USA
},
473 doi
= {10.1145/325694.325709},
474 abstract = {This paper describes a new approach to generic functional
475 programming
, which allows us to define functions
476 generically for all datatypes expressible in Haskell. A
477 generic function is one that is defined by induction on the
478 structure of types. Typical examples include pretty
479 printers
, parsers
, and comparison functions. The advanced
480 type system of Haskell presents a real challenge
: datatypes
481 may be parameterized not only by types but also by
type
482 constructors
, type definitions may involve mutual
483 recursion
, and recursive calls of
type constructors can be
484 arbitrarily nested. We show that—despite this
485 complexity—a generic function is uniquely defined by
486 giving cases for primitive types and
type constructors
487 (such as disjoint unions and cartesian products
). Given
488 this information a generic function can be specialized to
489 arbitrary Haskell datatypes. The
key idea of the approach
490 is to model types by terms of the simply typed
491 $\lambda
-calculus augmented by a family of recursion
492 operators. While conceptually simple
, our approach places
493 high demands on the
type system
: it requires polymorphic
494 recursion
, rank
-n types
, and a strong form of
type
495 constructor polymorphism. Finally
, we point out connections
496 to Haskell's class system and show that our approach
497 generalizes
type classes in some respects.
},
498 booktitle = {Proceedings of the
27th ACM SIGPLAN
-SIGACT Symposium on
499 Principles of Programming Languages
},
502 location
= {Boston
, MA
, USA
},
506 @InProceedings
{ top
-icfp07
,
507 author = {Plasmeijer
, Rinus and Achten
, Peter and Koopman
, Pieter
},
508 title = {{iTasks
}: {E
}xecutable
{S
}pecifications of
{I
}nteractive
509 {W
}ork
{F
}low
{S
}ystems for the
{W
}eb
},
510 booktitle = {{P
}roceedings of the
12th
{ACM SIGPLAN
} {I
}nternational
511 {C
}onference on
{F
}unctional
{P
}rogramming
({ICFP
} 2007)},
512 address = {{F
}reiburg
, {G
}ermany
},
516 isbn
= "
978-1-59593-815-2"
,
520 @InProceedings
{ oortgiese_distributed_2017
,
521 title = {A
{Distributed
} {Dynamic
} {Architecture
} for
{Task
}
522 {Oriented
} {Programming
}},
523 booktitle = {Proceedings of the
29th
{Symposium
} on
{Implementation
}
524 and
{Application
} of
{Functional
} {Programming
}
527 author = {Oortgiese
, Arjan and van Groningen
, John and Achten
, Peter
528 and Plasmeijer
, Rinus
},
531 address = {Bristol
, UK
}
534 @InProceedings
{ parametriclenses
,
535 author = {Domoszlai
, L\'
{a
}szl\'
{o
} and Lijnse
, Bas and Plasmeijer
,
537 title = {Parametric Lenses
: Change Notification for Bidirectional
540 isbn
= {9781450332842},
541 publisher = {Association for Computing Machinery
},
542 address = {New York
, NY
, USA
},
543 doi
= {10.1145/2746325.2746333},
544 abstract = {Most complex applications inevitably need to maintain
545 dependencies between subsystems based on some shared data.
546 The dependent parts must be informed that the shared
547 information is changed. As every actual notification has
548 some communication cost
, and every triggered task has
549 associated computation cost
, it is crucial for the overall
550 performance of the application to reduce the
number of
551 notifications as much as possible. To achieve this
, one
552 must be able to define
, with arbitrary precision
, which
553 party is depending on which data. In this paper we offer a
554 general solution to this general problem. The solution is
555 based on an extension to bidirectional lenses
, called
556 parametric lenses. With the help of parametric lenses one
557 can define compositional parametric views in a declarative
558 way to access some shared data. Parametric views
, besides
559 providing read
/write access to the shared data
, also enable
560 to observe changes of some parts
, given by an explicit
561 parameter
, the focus domain. The focus domain can be
562 specified as a
type-based query language defined over one
563 or more resources using predefined combinators of
565 booktitle = {Proceedings of the
26th International Symposium on
566 Implementation and Application of Functional Languages
},
569 keywords = {notification systems
, parametric views
, lenses
, parametric
570 lenses
, Bi
-directional programming
},
571 location
= {Boston
, MA
, USA
},
575 @InProceedings
{ comparinggenericprogramming
,
576 author = {Rodriguez
, Alexey and Jeuring
, Johan and Jansson
, Patrik
577 and Gerdes
, Alex and Kiselyov
, Oleg and Oliveira
, Bruno C.
579 title = {Comparing Libraries for Generic Programming in Haskell
},
581 isbn
= {9781605580647},
582 publisher = {Association for Computing Machinery
},
583 address = {New York
, NY
, USA
},
584 doi
= {10.1145/1411286.1411301},
585 abstract = {Datatype
-generic programming is defining functions that
586 depend on the structure
, or "shape"
, of datatypes. It has
587 been around for more than
10 years
, and a lot of progress
588 has been made
, in particular in the lazy functional
589 programming language Haskell. There are morethan
10
590 proposals for generic programming libraries orlanguage
591 extensions for Haskell. To compare and characterise the
592 many generic programming libraries in atyped functional
593 language
, we introduce a set of criteria and develop a
594 generic programming benchmark
: a set of characteristic
595 examples testing various facets of datatype
-generic
596 programming. We have implemented the benchmark for nine
597 existing Haskell generic programming libraries and present
598 the evaluation of the libraries. The comparison is useful
599 for reaching a common standard for generic programming
, but
600 also for a programmer who has to choose a particular
601 approach for datatype
-generic programming.
},
602 booktitle = {Proceedings of the First ACM SIGPLAN Symposium on
606 keywords = {datatype
-generic programming
, libraries comparison
},
607 location
= {Victoria
, BC
, Canada
},
608 series = {Haskell '
08}
611 @InProceedings
{ kochhar2016large
,
612 author = {P. S.
{Kochhar
} and D.
{Wijedasa
} and D.
{Lo
}},
613 booktitle = {23rd International Conference on Software Analysis
,
614 Evolution
, and Reengineering
},
615 title = {A Large Scale Study of Multiple Programming Languages and
619 doi
= {10.1109/SANER
.2016.112},
620 address = {Osaka
, Japan
},
624 @Article
{ cass2020top
,
625 title = {The top programming languages
: Our latest rankings put
626 Python on top
-again
-[Careers
]},
627 author = {Cass
, Stephen
},
628 journal = {IEEE Spectrum
},
636 @InProceedings
{ tanganelli2015coapthon
,
637 title = {CoAPthon
: Easy development of CoAP
-based IoT applications
639 author = {Tanganelli
, Giacomo and Vallati
, Carlo and Mingozzi
,
641 booktitle = {2015 IEEE
2nd World Forum on Internet of Things
(WF
-IoT
)},
645 address = {Milan
, Italy
}
649 author = {Lee
, Byeongcheol and Wiedermann
, Ben and Hirzel
, Martin
650 and Grimm
, Robert and McKinley
, Kathryn S.
},
651 title = {Jinn
: Synthesizing Dynamic Bug Detectors for Foreign
652 Language Interfaces
},
654 issue_date
= {June
2010},
655 publisher = {Association for Computing Machinery
},
656 address = {New York
, NY
, USA
},
660 doi
= {10.1145/1809028.1806601},
661 abstract = {Programming language specifications mandate static and
662 dynamic analyses to preclude syntactic and semantic errors.
663 Although individual languages are usually well
-specified
,
664 composing languages is not
, and this poor specification is
665 a source of many errors in multilingual programs. For
666 example
, virtually all Java programs compose Java and C
667 using the Java Native Interface
(JNI
). Since JNI is
668 informally specified
, developers have difficulty using it
669 correctly
, and current Java compilers and virtual machines
670 (VMs
) inconsistently check only a subset of JNI
671 constraints.This paper's most significant contribution is
672 to show how to synthesize dynamic analyses from state
673 machines to detect foreign function interface
(FFI
)
674 violations. We identify three classes of FFI constraints
675 encoded by eleven state machines that capture thousands of
676 JNI and Python
/C FFI rules. We use a mapping function to
677 specify which state machines
, transitions
, and program
678 entities
(threads
, objects
, references
) to check at each
679 FFI call and return. From this function
, we synthesize a
680 context
-specific dynamic analysis to find FFI bugs. We
681 build bug detection tools for JNI and Python
/C using this
682 approach. For JNI
, we dynamically and transparently
683 interpose the analysis on Java and C language transitions
684 through the JVM tools interface. The resulting tool
, called
685 Jinn
, is compiler and virtual machine independent. It
686 detects and diagnoses a wide variety of FFI bugs that other
687 tools miss. This approach greatly reduces the annotation
688 burden by exploiting common FFI constraints
: whereas the
689 generated Jinn code is
22,000+ lines
, we wrote only
1,400
690 lines of state machine and mapping code. Overall
, this
691 paper lays the foundation for a more principled approach to
692 developing correct multilingual software and a more concise
693 and automated approach to FFI specification.
},
694 journal = {SIGPLAN Not.
},
698 keywords = {specification generation
, specification
, python
/C
, dynamic
699 analysis
, multilingual programs
, java native interface
700 (jni
), foreign function interfaces
(FFI
), ffi bugs
}
704 author = {Furr
, Michael and Foster
, Jeffrey S.
},
705 title = {Checking Type Safety of Foreign Function Calls
},
707 issue_date
= {June
2005},
708 publisher = {Association for Computing Machinery
},
709 address = {New York
, NY
, USA
},
713 doi
= {10.1145/1064978.1065019},
714 abstract = {We present a multi
-lingual
type inference system for
715 checking
type safety across a foreign function interface.
716 The goal of our system is to prevent foreign function calls
717 from introducing
type and memory safety violations into an
718 otherwise safe language. Our system targets OCaml's FFI to
719 C
, which is relatively lightweight and illustrates some
720 interesting challenges in multi
-lingual
type inference. The
721 type language in our system embeds OCaml types in C types
722 and vice
-versa
, which allows us to track
type information
723 accurately even through the foreign language
, where the
724 original types are lost. Our system uses representational
725 types that can model multiple OCaml types
, because C
726 programs can observe that many OCaml types have the same
727 physical representation. Furthermore
, because C has a
728 low
-level view of OCaml data
, our inference system includes
729 a dataflow analysis to track memory offsets and tag
730 information. Finally
, our
type system includes garbage
731 collection information to ensure that pointers from the FFI
732 to the OCaml heap are tracked properly. We have implemented
733 our inference system and applied it to a small set of
734 benchmarks. Our results show that programmers do misuse
735 these interfaces
, and our implementation has found several
736 bugs and questionable coding practices in our benchmarks.
},
737 journal = {SIGPLAN Not.
},
741 keywords = {foreign function calls
, multi
-lingual
type system
, OCaml
,
742 multi
-lingual
type inference
, flow
-sensitive
type system
,
743 FFI
, foreign function interface
, dataflow analysis
,
744 representational
type}
747 @InProceedings
{ plamauer2017evaluation
,
748 title = {Evaluation of micropython as application layer programming
749 language on cubesats
},
750 author = {Plamauer
, Sebastian and Langer
, Martin
},
751 booktitle = {ARCS
2017; 30th International Conference on Architecture
752 of Computing Systems
},
755 organization = {VDE
},
757 address = {Vienna
, Austria
}
761 author = {Ravulavaru
, Arvind
},
762 isbn
= {1-78883-378-3},
764 publisher = {Packt Publishing
},
765 title = {Enterprise internet of things handbook
: build end
-to
-end
766 IoT solutions using popular IoT platforms
},
768 address = {Birmingham
, UK
}
771 @InProceedings
{ alphonsa20
,
772 author = "Alphonsa
, Mandla"
,
773 editor = "Kumar
, Amit and Mozar
, Stefan"
,
774 title = "A Review on IOT Technology Stack
, Architecture and Its
775 Cloud Applications in Recent Trends"
,
776 booktitle = "ICCCE
2020"
,
778 publisher = "Springer Singapore"
,
779 address = "Singapore"
,
781 abstract = "The Internet of Things
(IoT
) senses
, gather and transmit
782 data over the internet without any human interference. This
783 technology is a mixture of embedded technology
, network
784 technology and information technology. On various
785 advancement of huge network and the broadcasting of
(IoT
),
786 wireless sensored networks are considered to be part of the
787 huge heterogeneous network. IoT architecture is the system
788 of various rudiments like sensored networks
, protocol
,
789 actuators
, cloud service and layers. Internet of Things can
790 also be called as an event
-driven model. The IOT device is
791 connected to gateway through Radio Frequency
, LORA
-WAN
,
792 Node MCU Pin
-out. This review paper describes all protocol
793 stack including its types of sensors in IOT their
794 applications in real time environment and its architecture.
795 In this paper we come together with the two different
796 technologies Cloud Computing and IoT to observe the most
797 common features
, and to determine the benefits of their
798 integration. The Cloud IoT prototype involves various
799 applications
, research issues and challenges."
,
800 isbn
= "
978-981-15-7961-5"
803 @InProceedings
{ sivieri2012drop
,
804 title = {Drop the phone and talk to the physical world
: Programming
805 the internet of things with Erlang
},
806 author = {Sivieri
, Alessandro and Mottola
, Luca and Cugola
,
808 booktitle = {2012 Third International Workshop on Software Engineering
809 for Sensor Network Applications
(SESENA
)},
812 organization = {IEEE
}
815 @Article
{ chong2007secure
,
816 title = {Secure web applications via automatic partitioning
},
817 author = {Chong
, Stephen and Liu
, Jed and Myers
, Andrew C and Qi
,
818 Xin and Vikram
, Krishnaprasad and Zheng
, Lantian and Zheng
,
820 journal = {ACM SIGOPS Operating Systems Review
},
825 publisher = {ACM New York
, NY
, USA
}
828 @Article
{ zdancewic2002secure
,
829 title = {Secure program partitioning
},
830 author = {Zdancewic
, Steve and Zheng
, Lantian and Nystrom
, Nathaniel
831 and Myers
, Andrew C
},
832 journal = {ACM Transactions on Computer Systems
(TOCS
)},
837 publisher = {ACM New York
, NY
, USA
}
840 @Article
{ 10.1145/2775050.2633367,
841 author = {Ekblad
, Anton and Claessen
, Koen
},
842 title = {A Seamless
, Client
-Centric Programming Model for Type Safe
845 issue_date
= {December
2014},
846 publisher = {Association for Computing Machinery
},
847 address = {New York
, NY
, USA
},
851 doi
= {10.1145/2775050.2633367},
852 abstract = {We propose a new programming model for web applications
853 which is
(1) seamless
; one program and one language is used
854 to produce code for both client and server
, (2)
855 client
-centric
; the programmer takes the viewpoint of the
856 client that runs code on the server rather than the other
857 way around
, (3) functional and
type-safe
, and
(4) portable
;
858 everything is implemented as a Haskell library that
859 implicitly takes care of all networking code. Our aim is to
860 improve the painful and error
-prone experience of today's
861 standard development methods
, in which clients and servers
862 are coded in different languages and communicate with each
863 other using ad
-hoc protocols. We present the design of our
864 library called Haste.App
, an example web application that
865 uses it
, and discuss the implementation and the compiler
866 technology on which it depends.
},
867 journal = {SIGPLAN Not.
},
871 keywords = {distributed systems
, web applications
, network
875 @InProceedings
{ elliott_guilt_2015
,
876 title = {Guilt free ivory
},
878 booktitle = {{ACM
} {SIGPLAN
} {Notices
}},
880 author = {Elliott
, Trevor and Pike
, Lee and Winwood
, Simon and
881 Hickey
, Pat and Bielman
, James and Sharp
, Jamey and Seidel
,
882 Eric and Launchbury
, John
},
885 file
= {5678351608ae125516ee79c6.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/KJMFUH7T
/5678351608ae125516ee79c6.pdf
:application
/pdf
}
888 @InProceedings
{ sawada_emfrp
:_2016
,
889 title = {Emfrp
: a functional reactive programming language for
890 small
-scale embedded systems
},
891 booktitle = {Companion
{Proceedings
} of the
15th
{International
}
892 {Conference
} on
{Modularity
}},
894 author = {Sawada
, Kensuke and Watanabe
, Takuo
},
897 file
= {Sawada and Watanabe
- 2016 - Emfrp a functional reactive
899 .pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/9U95ER
5P
/Sawada
900 and Watanabe
- 2016 - Emfrp a functional reactive
901 programming language .pdf
:application
/pdf
}
904 @InProceedings
{ helbling_juniper
:_2016
,
905 title = {Juniper
: a functional reactive programming language for
907 booktitle = {Proceedings of the
4th
{International
} {Workshop
} on
908 {Functional
} {Art
}, {Music
}, {Modelling
}, and
{Design
}},
910 author = {Helbling
, Caleb and Guyer
, Samuel Z
},
913 file
= {Helbling and Guyer
- 2016 - Juniper a functional reactive
915 languag.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/M4UWK57F
/Helbling
916 and Guyer
- 2016 - Juniper a functional reactive
917 programming languag.pdf
:application
/pdf
}
920 @InCollection
{ valliappan_towards_2020
,
921 address = {New York
, NY
, USA
},
922 title = {Towards
{Secure
} {IoT
} {Programming
} in
{Haskell
}},
923 isbn
= {978-1-4503-8050-8},
924 abstract = {IoT applications are often developed in programming
925 languages with low
-level abstractions
, where a seemingly
926 innocent mistake might lead to severe security
927 vulnerabilities. Current IoT development tools make it hard
928 to identify these vulnerabilities as they do not provide
929 end
-to
-end guarantees about how data flows within and
930 between appliances. In this work we present Haski
, an
931 embedded domain specific language in Haskell
(eDSL
) for
932 secure programming of IoT devices. Haski enables developers
933 to write Haskell programs that generate C code without
934 falling into many of C’s pitfalls. Haski is designed
935 after the synchronous programming language Lustre
, and
936 sports a backwards compatible information
-flow control
937 extension to restrict how sensitive data is propagated and
938 modified within the application. We present a novel eDSL
939 design which uses recursive monadic bindings and allows a
940 natural use of functions and pattern
-matching in Haskell to
941 write Haski programs. To showcase Haski
, we implement a
942 simple smart house controller where communication is done
943 via low
-energy Bluetooth on Zephyr OS.
},
944 booktitle = {Proceedings of the
13th
{ACM
} {SIGPLAN
} {International
}
945 {Symposium
} on
{Haskell
}},
946 publisher = {Association for Computing Machinery
},
947 author = {Valliappan
, Nachiappan and Krook
, Robert and Russo
,
948 Alejandro and Claessen
, Koen
},
951 file
= {Valliappan et al.
- 2020 - Towards Secure IoT Programming
953 Haskell.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/BF6YIT2S
/Valliappan
954 et al.
- 2020 - Towards Secure IoT Programming in
955 Haskell.pdf
:application
/pdf
}
958 @InProceedings
{ sarkar_hailstorm_2020
,
959 address = {New York
, NY
, USA
},
960 series = {{PPDP
} '
20},
961 title = {Hailstorm
: {A
} {Statically
}-{Typed
}, {Purely
} {Functional
}
962 {Language
} for
{IoT
} {Applications
}},
963 isbn
= {978-1-4503-8821-4},
964 doi
= {10.1145/3414080.3414092},
965 abstract = {With the growing ubiquity of Internet of Things
(IoT
),
966 more complex logic is being programmed on
967 resource
-constrained IoT devices
, almost exclusively using
968 the C programming language. While C provides low
-level
969 control over memory
, it lacks a
number of high
-level
970 programming abstractions such as higher
-order functions
,
971 polymorphism
, strong static typing
, memory safety
, and
972 automatic memory management. We present Hailstorm
, a
973 statically
-typed
, purely functional programming language
974 that attempts to
address the above problem. It is a
975 high
-level programming language with a strict typing
976 discipline. It supports features like higher
-order
977 functions
, tail
-recursion
, and automatic memory management
,
978 to program IoT devices in a declarative manner.
979 Applications running on these devices tend to be heavily
980 dominated by I
/O. Hailstorm tracks side effects like I
/O in
981 its
type system using resource types. This choice allowed
982 us to explore the design of a purely functional standalone
983 language
, in an area where it is more common to embed a
984 functional core in an imperative shell. The language
985 borrows the combinators of arrowized FRP
, but has
986 discrete
-time semantics. The design of the full set of
987 combinators is work in progress
, driven by examples. So
988 far
, we have evaluated Hailstorm by writing standard
989 examples from the literature
(earthquake detection
, a
990 railway crossing system and various other clocked systems
),
991 and also running examples on the GRiSP embedded systems
992 board
, through generation of Erlang.
},
993 booktitle = {Proceedings of the
22nd
{International
} {Symposium
} on
994 {Principles
} and
{Practice
} of
{Declarative
}
996 publisher = {Association for Computing Machinery
},
997 author = {Sarkar
, Abhiroop and Sheeran
, Mary
},
999 note = {event
-place
: Bologna
, Italy
},
1000 keywords = {functional programming
, compilers
, embedded systems
, IoT
},
1001 file
= {Sarkar and Sheeran
- 2020 - Hailstorm A Statically
-Typed
,
1003 L.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/BKFJKGQP
/Sarkar
1004 and Sheeran
- 2020 - Hailstorm A Statically
-Typed
, Purely
1005 Functional L.pdf
:application
/pdf
}
1008 @InProceedings
{ 10.1145/3281366.3281370,
1009 author = {Shibanai
, Kazuhiro and Watanabe
, Takuo
},
1010 title = {Distributed Functional Reactive Programming on Actor
-Based
1013 isbn
= {9781450360661},
1014 publisher = {Association for Computing Machinery
},
1015 address = {New York
, NY
, USA
},
1016 doi
= {10.1145/3281366.3281370},
1017 abstract = {Reactive programming over a network is a challenging task
1018 because efficient elimination of temporary violations of
1019 data flow invariants
, known as glitches
, in a distributed
1020 setting is still an open issue. In this paper
, we propose a
1021 method for constructing a distributed reactive programming
1022 system of which runtime guarantees the properties of single
1023 source glitch
-freedom and the robustness against
1024 out
-of
-order messages. Based on the method
, we developed a
1025 purely functional reactive programming language XFRP whose
1026 compiler produces Erlang code. Using some examples
, we show
1027 that the proposed method is beneficial for constructing
1028 distributed reactive applications without suffering from
1030 booktitle = {Proceedings of the
8th ACM SIGPLAN International Workshop
1031 on Programming Based on Actors
, Agents
, and Decentralized
1035 keywords = {Distributed Functional Reactive Programming
, Erlang
,
1036 Glitch Freedom
, Synchronization
, Actor
-Based Runtime
1038 location
= {Boston
, MA
, USA
},
1039 series = {AGERE
2018}
1042 @InProceedings
{ suzuki_cfrp_2017
,
1043 address = {The University of The Philippines Cebu
, Cebu City
, The
1045 title = {{CFRP
}: {A
} {Functional
} {Reactive
} {Programming
}
1046 {Language
} for
{Small
}-{Scale
} {Embedded
} {Systems
}},
1047 isbn
= {978-981-323-406-2 978-981-323-407-9},
1048 shorttitle
= {{CFRP
}},
1049 url
= {http
://www.worldscientific.com
/doi
/abs
/10.1142/9789813234079_0001
},
1050 doi
= {10.1142/9789813234079_0001
},
1052 urldate
= {2022-03-02},
1053 booktitle = {Theory and
{Practice
} of
{Computation
}},
1054 publisher = {WORLD SCIENTIFIC
},
1055 author = {Suzuki
, Kohei and Nagayama
, Kanato and Sawada
, Kensuke and
1060 file
= {Suzuki et al.
- 2017 - CFRP A Functional Reactive
1061 Programming Language
1062 f.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/XHPSZCJH
/Suzuki
1063 et al.
- 2017 - CFRP A Functional Reactive Programming
1064 Language f.pdf
:application
/pdf
}
1067 @InProceedings
{ shibanai_distributed_2018
,
1068 address = {New York
, NY
, USA
},
1069 series = {{AGERE
} 2018},
1070 title = {Distributed
{Functional
} {Reactive
} {Programming
} on
1071 {Actor
}-{Based
} {Runtime
}},
1072 isbn
= {978-1-4503-6066-1},
1073 doi
= {10.1145/3281366.3281370},
1074 abstract = {Reactive programming over a network is a challenging task
1075 because efficient elimination of temporary violations of
1076 data flow invariants
, known as glitches
, in a distributed
1077 setting is still an open issue. In this paper
, we propose a
1078 method for constructing a distributed reactive programming
1079 system of which runtime guarantees the properties of single
1080 source glitch
-freedom and the robustness against
1081 out
-of
-order messages. Based on the method
, we developed a
1082 purely functional reactive programming language XFRP whose
1083 compiler produces Erlang code. Using some examples
, we show
1084 that the proposed method is beneficial for constructing
1085 distributed reactive applications without suffering from
1087 booktitle = {Proceedings of the
8th
{ACM
} {SIGPLAN
} {International
}
1088 {Workshop
} on
{Programming
} {Based
} on
{Actors
}, {Agents
},
1089 and
{Decentralized
} {Control
}},
1090 publisher = {Association for Computing Machinery
},
1091 author = {Shibanai
, Kazuhiro and Watanabe
, Takuo
},
1093 note = {event
-place
: Boston
, MA
, USA
},
1094 keywords = {Actor
-Based Runtime System
, Distributed Functional
1095 Reactive Programming
, Erlang
, Glitch Freedom
,
1098 file
= {Shibanai and Watanabe
- 2018 - Distributed Functional
1099 Reactive Programming on
1100 Act.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/UJ5IG7R4
/Shibanai
1101 and Watanabe
- 2018 - Distributed Functional Reactive
1102 Programming on Act.pdf
:application
/pdf
}
1105 @InProceedings
{ nilsson_functional_2002
,
1106 address = {New York
, NY
, USA
},
1107 series = {Haskell '
02},
1108 title = {Functional
{Reactive
} {Programming
}, {Continued
}},
1109 isbn
= {1-58113-605-6},
1110 doi
= {10.1145/581690.581695},
1111 abstract = {Functional Reactive Programming
(FRP
) extends a host
1112 programming language with a notion of time flow. Arrowized
1113 FRP
(AFRP
) is a version of FRP embedded in Haskell based on
1114 the arrow combinators. AFRP is a powerful synchronous
1115 dataflow programming language with hybrid modeling
1116 capabilities
, combining advanced synchronous dataflow
1117 features with the higher
-order lazy functional abstractions
1118 of Haskell. In this paper
, we describe the AFRP programming
1119 style and our Haskell
-based implementation. Of particular
1120 interest are the AFRP combinators that support dynamic
1121 collections and continuation
-based switching. We show how
1122 these combinators can be used to express systems with an
1123 evolving structure that are difficult to model in more
1124 traditional dataflow languages.
},
1125 booktitle = {Proceedings of the
2002 {ACM
} {SIGPLAN
} {Workshop
} on
1127 publisher = {Association for Computing Machinery
},
1128 author = {Nilsson
, Henrik and Courtney
, Antony and Peterson
, John
},
1130 note = {event
-place
: Pittsburgh
, Pennsylvania
},
1131 keywords = {functional programming
, Haskell
, domain
-specific
1132 languages
, FRP
, hybrid modeling
, synchronous dataflow
1135 file
= {Nilsson et al.
- 2002 - Functional reactive programming
,
1136 continued.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/X79J47NP
/Nilsson
1137 et al.
- 2002 - Functional reactive programming
,
1138 continued.pdf
:application
/pdf
}
1141 @InProceedings
{ 10.1145/2661136.2661146,
1142 author = {Philips
, Laure and De Roover
, Coen and Van Cutsem
, Tom and
1143 De Meuter
, Wolfgang
},
1144 title = {Towards Tierless Web Development without Tierless
1147 isbn
= {9781450332101},
1148 publisher = {Association for Computing Machinery
},
1149 address = {New York
, NY
, USA
},
1150 doi
= {10.1145/2661136.2661146},
1151 abstract = {Tierless programming languages enable developing the
1152 typical server
, client and database tiers of a web
1153 application as a single mono
-linguistic program. This
1154 development style is in stark contrast to the current
1155 practice which requires combining multiple technologies and
1156 programming languages. A myriad of tierless programming
1157 languages has already been proposed
, often featuring a
1158 JavaScript
-like syntax. Instead of introducing yet another
,
1159 we advocate that it should be possible to develop tierless
1160 web applications in existing general
-purpose languages.
1161 This not only reduces the complexity that developers are
1162 exposed to
, but also precludes the need for new development
1163 tools. We concretize this novel approach to tierless
1164 programming by discussing requirements on its future
1165 instantiations. We explore the design space of the program
1166 analysis for determining and the program transformation for
1167 realizing the tier split respectively. The former
1168 corresponds to new adaptations of an old familiar
, program
1169 slicing
, for tier splitting. The latter includes several
1170 strategies for handling cross
-tier function calls and data
1171 accesses. Using a prototype instantiation for JavaScript
,
1172 we demonstrate the feasibility of our approach on an
1173 example web application. We conclude with a discussion of
1174 open questions and challenges for future research.
},
1175 booktitle = {Proceedings of the
2014 ACM International Symposium on New
1176 Ideas
, New Paradigms
, and Reflections on Programming \
&
1180 keywords = {tier splitting
, program slicing
, tierless programming
,
1182 location
= {Portland
, Oregon
, USA
},
1183 series = {Onward
! 2014}
1186 @Misc
{ hess_arduino
-copilot_2020
,
1187 title = {arduino
-copilot
: {Arduino
} programming in haskell using
1188 the
{Copilot
} stream
{DSL
}},
1189 shorttitle
= {arduino
-copilot
},
1190 url
= {//hackage.haskell.org
/package
/arduino
-copilot
},
1191 urldate
= {2020-02-14},
1192 journal = {Hackage
},
1193 author = {Hess
, Joey
},
1195 file
= {Snapshot
:/home
/mrl
/.local
/share
/zotero
/storage
/PSHYKF52
/arduino
-copilot.html
:text
/html
}
1198 @Article
{ sheetz2009understanding
,
1199 title = {Understanding developer and manager perceptions of
1200 function points and source lines of code
},
1201 author = {Sheetz
, Steven D and Henderson
, David and Wallace
, Linda
},
1202 journal = {Journal of Systems and Software
},
1205 pages = {1540--1549},
1207 publisher = {Elsevier
}
1210 @InProceedings
{ balat2006ocsigen
,
1211 title = {Ocsigen
: Typing web interaction with objective caml
},
1212 author = {Balat
, Vincent
},
1213 booktitle = {Proceedings of the
2006 Workshop on ML
},
1218 @InProceedings
{ bjornson2010composing
,
1219 title = {Composing reactive GUIs in F\# using WebSharper
},
1220 author = {Bjornson
, Joel and Tayanovskyy
, Anton and Granicz
, Adam
},
1221 booktitle = {Symposium on Implementation and Application of Functional
1225 organization = {Springer
}
1228 @Book
{ strack2015getting
,
1229 title = {Getting Started with Meteor. js JavaScript Framework
},
1230 author = {Strack
, Isaac
},
1232 publisher = {Packt Publishing Ltd
}
1235 @InCollection
{ hall1993glasgow
,
1236 title = {The Glasgow Haskell compiler
: a retrospective
},
1237 author = {Hall
, Cordelia and Hammond
, Kevin and Partain
, Will and
1238 Peyton Jones
, Simon L and Wadler
, Philip
},
1239 booktitle = {Functional Programming
, Glasgow
1992},
1242 publisher = {Springer
}
1246 title = "MicroPython Differences from CPython"
,
1247 author = {{Micropython Team
}},
1249 note = "https
://docs.micropython.org
/en
/latest
/genrst
/index.html"
1252 @Article
{ weisenburger2020survey
,
1253 title = {A survey of multitier programming
},
1254 author = {Weisenburger
, Pascal and Wirth
, Johannes and Salvaneschi
,
1256 journal = {ACM Computing Surveys
(CSUR
)},
1261 publisher = {ACM New York
, NY
, USA
}
1264 @InProceedings
{ 203628,
1265 author = {Manos Antonakakis and Tim April and Michael Bailey and
1266 Matt Bernhard and Elie Bursztein and Jaime Cochran and
1267 Zakir Durumeric and J. Alex Halderman and Luca Invernizzi
1268 and Michalis Kallitsis and Deepak Kumar and Chaz Lever and
1269 Zane Ma and Joshua Mason and Damian Menscher and Chad
1270 Seaman and Nick Sullivan and Kurt Thomas and Yi Zhou
},
1271 title = {Understanding the Mirai Botnet
},
1272 booktitle = {26th USENIX Security Symposium
(USENIX Security
17)},
1274 isbn
= {978-1-931971-40-9},
1275 address = {Vancouver
, BC
},
1276 pages = {1093--1110},
1277 url
= {https
://www.usenix.org
/conference
/usenixsecurity17
/technical
-sessions
/presentation
/antonakakis
},
1278 publisher = {USENIX Association
},
1282 @InProceedings
{ herwig_measurement_2019
,
1283 address = {San Diego
, CA
, USA
},
1284 title = {Measurement and
{Analysis
} of
{Hajime
}, a
{Peer
}-to
-peer
1286 isbn
= {1-891562-55-X
},
1287 url
= {https
://par.nsf.gov
/biblio
/10096257},
1288 doi
= {10.14722/ndss
.2019.23488},
1289 booktitle = {Network and
{Distributed
} {Systems
} {Security
} ({NDSS
})
1291 author = {Herwig
, Stephen and Harvey
, Katura and Hughey
, George and
1292 Roberts
, Richard and Levin
, Dave
},
1295 file
= {Herwig et al.
- Measurement and Analysis of Hajime
, a
1296 Peer
-to
-peer.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/YFB8C8CU
/Herwig
1297 et al.
- Measurement and Analysis of Hajime
, a
1298 Peer
-to
-peer.pdf
:application
/pdf
}
1301 @PhDThesis
{ wijkhuizen_security_2018
,
1302 address = {Nijmegen
},
1303 type = {Bachelor's
{Thesis
}},
1304 title = {Security analysis of the
{iTasks
} framework
},
1305 url
= {http
://www.ru.nl
/publish
/pages/769526/arjan_oortgiese.pdf
},
1306 language
= {English
},
1307 urldate
= {2017-04-08},
1308 school = {Radboud University
},
1309 author = {Wijkhuizen
, Mark
},
1311 file
= {Wijkhuizen
- 2018 - Security analysis of the iTasks
1312 framework.pdf
:/home
/mrl
/.local
/share
/zotero
/storage
/AWFT6PGL
/Wijkhuizen
1313 - 2018 - Security analysis of the iTasks
1314 framework.pdf
:application
/pdf
}
1317 @InProceedings
{ steenvoorden2019tophat
,
1318 author = {Steenvoorden
, Tim and Naus
, Nico and Klinik
, Markus
},
1319 title = {TopHat
: A Formal Foundation for Task
-Oriented
1322 isbn
= {9781450372497},
1323 publisher = {Association for Computing Machinery
},
1324 address = {New York
, NY
, USA
},
1325 doi
= {10.1145/3354166.3354182},
1326 booktitle = {Proceedings of the
21st International Symposium on
1327 Principles and Practice of Declarative Programming
},
1330 location
= {Porto
, Portugal
},