J Reliable Intell Environ
DOI 10.1007/s40860-017-0045-y
ORIGINAL ARTICLE
A characterisation of verification tools for software defined
networks
Leticia Lavado
1
· Laura Panizo
1
· María-del-Mar Gallardo
1
·
Pedro Merino
1
Received: 24 April 2017 / Accepted: 19 July 2017
© Springer International Publishing AG 2017
Abstract Software-defined networking (SDN) is a new
paradigm to introduce intelligence in communication net-
works through centralised programming. SDN separates data
and control plane with two main components, the pro-
grammable switches (data plane) and the central controller
where network applications are executed. This highly pro-
grammable and flexible network introduces many challenges
from the point of view of reliability (or robustness), and
operators need to ensure the same level of confidence as
in previous less flexible deployments. This paper provides
a first study of the current verification tools used to anal-
yse different properties of SDNs before deployment and/or
during the exploitation of the network. Most of these tools
offer some kind of automatic verification, supported by algo-
rithms based on formal methods, but they do not differentiate
between fixed and mobile/wireless networks. In the paper,
we provide a number of classifications of the tools to make
this selection easier for potential users, and we also iden-
tify promising research areas where more effort needs to be
made.
This work has been supported by the Spanish Ministry of Economy
and Competitiveness Project TIN2015-67083-R.
B Leticia Lavado
leticialavmu@lcc.uma.es
Laura Panizo
laurapanizo@lcc.uma.es
María-del-Mar Gallardo
gallardo@lcc.uma.es
Pedro Merino
pedro@lcc.uma.es
1
Andalucía Tech, Dept. Lenguajes y Ciencias de la
Computación, Universidad de Málaga, Málaga, Spain
1 Introduction
Computer and communication networks have become a crit-
ical technology on which many human activities rely, so
the verification of network reliability has a clear impact on
users, service providers and network operators. Due to this
impact, since the initial beginnings of computer protocols
in the 1970s, there has been a large research effort focused
on algorithms and tools that analyse the correct behaviour
of these protocols to find design or implementation errors
as soon as possible [9, 26, 66]. This research effort has con-
tributed to new areas in computer science, like the use of
formal methods for reliability verification [20, 52, 67].
As networking technology has evolved since the 70s
towards more complex, flexible and intelligent networks, the
verification techniques to ensure reliability should also have
evolved. The evolution towards more flexibility was initially
tried with approaches such as active networks [11, 62, 63].
Active networking allowed the network to be configured
by third parties so as to gain the necessary support to
deploy new protocols and services. In some cases, like in
the capsule approach for active networks, the IP packets
travel through the network with the code to be executed
to process the packets in the nodes, increasing the risk for
unexpected behaviours in the network. Such programmabil-
ity was followed by new methods to verify the correctness
of the applications that manipulate the network elements
[19, 33, 61].
After this first attempts to make the network more flexible
(active networks), researchers, network operators and manu-
factures accepted software defined networks (SDN) [49, 58]
as a feasible approach for real networks (see [17] for a dis-
cussion on how active networks affected SDN creation).
SDN has emerged with the intention of providing neces-
sary services in modern networks to cover some of the IP
123