# A Behavioural Analysis of Credulous Twitter Users

Alessandro Balestrucci  Gran Sasso Science Institute, via M. Iacobucci 2,
67100 L’Aquila, Italy<EMAIL_ADDRESS>Rocco De Nicola  IMT School for
Advanced Studies Lucca, Piazza San Francesco 19, 55100 Lucca, Italy  CINI
Cybersecurity Lab, Via Ariosto, 25, 00185 Roma, Italy
<EMAIL_ADDRESS>Marinella Petrocchi  Istituto di Informatica e
Telematica - CNR, Via G. Moruzzi 1, 56124 Pisa, Italy<EMAIL_ADDRESS>Catia Trubiani<EMAIL_ADDRESS>
###### Abstract

Thanks to platforms such as Twitter and Facebook, people can know facts and
events that otherwise would have been silenced. However, social media
significantly contribute also to fast spreading biased and false news while
targeting specific segments of the population. We have seen how false
information can be spread using automated accounts, known as bots. Using
Twitter as a benchmark, we investigate behavioural attitudes of so called
‘credulous’ users, i.e., genuine accounts following many bots. Leveraging our
previous work, where supervised learning is successfully applied to single out
credulous users, we improve the classification task with a detailed features’
analysis and provide evidence that simple and lightweight features are crucial
to detect such users. Furthermore, we study the differences in the way
credulous and not credulous users interact with bots and discover that
credulous users tend to amplify more the content posted by bots and argue that
their detection can be instrumental to get useful information on possible
dissemination of spam content, propaganda, and, in general, little or no
reliable information.

###### keywords:

Online Behavioral Analysis, Features Analysis, Disinformation Spreading,
Credulous Users, Twitter.

††journal: Online Social Networks and Media

##  1 Introduction

Disruptive Innovation: two words that sum up the impact of social networks and
media on people’s everyday life. Crucial information can be disseminated to
millions of people in a flash: critical data, such as real-time updates on
basic events. Unfortunately, new technologies have not only revolutionized
traditional sectors such as retail and advertising. As noticed by the
nonprofit organization National Endowment for Democracy, they have been
fertile and groundbreaking even on a much more slippery ground: that of
misinformation, hoaxes and propaganda [1]. According to the 2019 report
‘Weapons of mass distractions’ [2], strategists of false news can exploit - at
least - three significant vulnerabilities of the online information ecosystem:
i) the medium: the platforms on which fake news creep in and expand; ii) the
message: the information one wants to convey; iii) the audience: the readers
who consume (and contributes to diffuse) the information.

This work focuses on the last aspect, i.e., the audience. Online Social Media
convey the information quickly and diffusely. They are ‘optimised’ for posting
and sharing catchy and sensationalist news. False messages go from deliberate
lies to mislead users to biased information, aiming at influencing communities
and agendas. Whatever the strategy adopted for spreading false news (like
supporting automatic accounts or using trolls to inflame crowds [3, 4, 5, 6]),
this would not be effective if there was no audience willing to believe
them111Online: ‘Americans may appreciate knowing when a news story is suspect,
but more than a third will share that story anyway’. Source
https://www.stopfake.org/. All URLs in this manuscript were last accessed on
January 3, 2021.. The quest for belonging to a community and getting
reassuring answers, the adherence to one’s viewpoint, native reluctance to
change opinion [7, 8] are key factors for people to contribute to the success
of disinformation spreading [9, 10].

Information spreading on Social Media is often corroborated by automated
accounts, called bots, which are totally or partially controlled by computer
algorithms. Designed to mimic human behaviour online, a dominant and worrisome
use of automated accounts is far from being benign: they have been often used
to amplify narratives or drown out political dissent, see Ferrara et al. in
[11]. Recent studies, such as the one by Shao et al. [5], demonstrate that
bots are particularly active in spreading low credibility content. Moreover,
the Oxford Internet Institute has monitored the global organization of social
media manipulation by governments and political parties and analysed the
trends of computational propaganda in different countries. The report [12]
provides evidence of organized social media manipulation campaigns which have
taken place in 70 countries, up from 48 countries in 2018 and 28 countries in
2017. In each country, there is at least one political party or government
agency using social media to shape public attitudes domestically.

In our previous work [13], starting from the consideration that human-operated
accounts are exposed to manipulation and contribute to misinformation
spreading by, e.g., retweeting or liking low-reputable content [5], we
concentrated on Twitter and developed a classification framework for
automatically detecting genuine accounts with a significant number of bots as
friends, without exploiting this last datum. Hereafter, we define those users
following many bots as ‘credulous’ users. This manuscript extends our previous
work [13] by analyzing the behavioural aspects (i.e., ratio on pure tweets,
retweets, and replies) of credulous users, with the goal of understanding
their distinguishing features.

The main goals of our research are summarized in the following: (i)
automatically identify genuine online users who may be prey of disinformation;
(ii) reduce misleading activities (e.g., spreading of fake news) performed by
malicious entities like social bots; (iii) stimulate users to verify the
source of an information and fact-check the information itself, to pave the
way to awareness.

To achieve these goals, we apply automated techniques to discriminate
potential susceptible audiences and the accounts they interact with. Thus, the
following four research objectives have been defined.

  1. 1.

Assessing users’ gullibility level: We propose a technique to automatically
rank human-operated accounts to assess their gullibility, by relying on
aspects exposed on their social profiles. For instance, the number of bot
accounts among their friends, or the number of by-bot-posts liked by the
genuine user.

  2. 2.

Detecting credulous users: We design and develop a supervised learning based
classification framework to recognize those human-operated accounts following
a high amount of bots.

  3. 3.

Profiling credulous users: We study the behavioral characteristics typical of
credulous users, by analysing the interactions with their social contacts, and
assessment of behavioral differences between credulous and not credulous
users.

The novel contributions of this manuscript, with respect to our previous work
[13], are:

  1. 1.

A deeper study of the features of the credulous classifier, with a specific
analysis assessing the relevance of each single feature.

  2. 2.

An investigation of online behavior of users, in terms of tweets, retweets and
replies, to better discriminate between credulous and non-credulous ones.

  3. 3.

A study of the actual influence of bots on credulous users by considering
which and how many of the activities of credulous users are linked to tweets
produced by bots.

We can safely state that there exists a clear connection between the fact that
a user has many bots among her/his friends and her/his actual contribution to
amplifying the bots’ messages. In particular, in this study we show that:

  1. 1.

Lightweight features, such as the number of followers, tweets, and friends,
are statistically significant to single out users with a high number of bots
among their friends;

  2. 2.

The ‘social activity reactions’ to content originating from bots of credulous
Twitter users is higher than that of not credulous users.

The experimental results are supported by statistical tests. We think that our
methodology, which classifies credulous users with easy-to-extract features,
is a promising new tool for finding content originating by automated accounts
and, thus, for detecting spam, misleading information, and propaganda news.

The remainder of the paper is organized as follows. Section 2 briefly sums up
our previous work. Section 3 provides a study of the relevance of the features
exploited for the credulous users’ classifier. Section 4 discusses the
behavior of credulous vs non-credulous users in terms of retweets and replies
and provides a fine-grained analysis of the extent to which retweets and
replies refer to tweets originated by bots. In Section 5, we discuss the main
findings and implications of this investigation. Section 6 discusses recent
related work, positioning our study among relevant state-of-the-art papers.
Finally, Section 7 draws conclusions and highlights promising directions for
future research and experimentation. The data used in this study are publicly
available for the sake of reproducibility222https://tinyurl.com/y6p7n38x.

##  2 Background

In the following, we introduce some background notions reported in our
previous work [13, 14], and present some of the performed experiments and the
main findings. The main aim of this section is to provide a connection between
what we have previously achieved and the analyses/experiments described in the
following sections. Specifically, Section 2.1 introduces our datasets. Section
2.2 shows an excerpt of the experimental results related to the training of
some bot detectors that we use to obtain the data used for the subsequent
analyses. Section 2.3 briefly describes the methodology applied for the
identification of the credulous users and an excerpt of the experimental
results, related to the training of credulous users detectors.

###  2.1 Datasets

We considered three publicly available datasets: CR15 [15], CR17 [4] and VR17
[16], where Twitter accounts are labelled according to their nature (either
bots or not)333Bot Repository Datasets: https://goo.gl/87Kzcr.

  * CR15:

introduced in [15] consists of three smaller datasets. The first one has been
collected over a period of twelve days in December 2012, and contains 469
Twitter accounts certified of being human-operated. The second one was
collected between 2013-2015 and contains 1,488 genuine (human) users. The
third subset is composed of 833 fake accounts, bought from three different
Twitter accounts online markets.

  * CR17:

first presented in [4], was obtained by following a hybrid crowd-sensing
approach [17]. The authors randomly contacted Twitter users by asking simple
questions. All the replies were manually verified and 3,474 Twitter accounts
were certified as humans. The dataset contains also 6,609 social spambots
(e.g., spammers of job offers, products on sale at Amazon).

  * VR17:

introduced in [16], contains 2,573 Twitter accounts. A manual annotation was
performed by inspecting the profile details and the produced content. Overall,
1,747 Twitter accounts were annotated as human-operated and 826 as bots.

From the merging of these three datasets, we obtain a unique labelled dataset
(human-operated accounts/bots) of 12,961 accounts - 7,165 bots and 5,796
human-operated ones.

###  2.2 Bot detection

The merged dataset was used to train a bot detector. To this end, we used the
Java Twitter API444Twitter API: https://goo.gl/njcjr1, and, for each account
in the dataset, we collected: tweets (up to 3,200), mentions (up to 100) and
IDs of friends and followers (up to 5,000).

In [13], we considered two features’ sets derived from
[16]555https://botometer.iuni.iu.edu/ and [15]. In particular, we relied on
what Cresci at al. in [15] called ClassA features, which conveniently require
only information available in the profile of the account.

Table 1: Classification results for bot detection task with ClassA’s features | evaluation metrics |
---|---|---
|  alg | accuracy | precision | recall | F1 | AUC
|  HMM | 55.28 | 0.55 | 1.00 | 0.71 | 0.50
|  IBk | 91.03 | 0.91 | 0.93 | 0.92 | 0.91
|  BN | 87.15 | 0.93 | 0.83 | 0.88 | 0.94
|  NB | 64.37 | 0.89 | 0.42 | 0.54 | 0.77
|  VP | 80.07 | 0.82 | 0.82 | 0.82 | 0.80
|  MLP | 85.01 | 0.89 | 0.84 | 0.86 | 0.91
|  SMO | 68.58 | 0.76 | 0.63 | 0.69 | 0.69
|  JRip | 94.38 | 0.96 | 0.94 | 0.95 | 0.96
|  1R | 84.51 | 0.88 | 0.84 | 0.86 | 0.85
|  0R | 55.28 | 0.55 | 1.00 | 0.71 | 0.50
|  J48 | 94.30 | 0.96 | 0.94 | 0.95 | 0.96
|  HT | 84.48 | 0.90 | 0.81 | 0.85 | 0.88
|  RT | 92.48 | 0.93 | 0.94 | 0.93 | 0.92
|  J48c | 94.36 | 0.96 | 0.93 | 0.95 | 0.96
|  J48g | 94.41 | 0.96 | 0.94 | 0.95 | 0.96
|  LAD | 89.19 | 0.93 | 0.87 | 0.90 | 0.94
|  REP | 93.96 | 0.96 | 0.93 | 0.94 | 0.97
|  LMT | 94.33 | 0.96 | 0.94 | 0.95 | 0.97
|  RF | 95.84 | 0.98 | 0.95 | 0.96 | 0.99

In Table LABEL:table:botDet we report the results of the 19 learning
algorithms adopted in [13] to train the bot detector (with a 10-fold cross
validation). There are three reasons behind the decision to consider the
classifier trained with the ClassA features: (i) the performance results were
very similar to those achieved considering the Botometer features, (ii) the
features engineering phase rely on users’ profile data only666Data from a user
profile: https://tinyurl.com/y5s5kpuw, and (iii) with respect to Botometer
features, where their calculation requires a connection to a web
service777Botometer web service: https://tinyurl.com/yytf282s, ClassA’s
features can be computed in an autonomous fashion. The training was executed
also by considering the Botometer’s features and a union set of ClassA’s and
Botometer’s features. Experiments were performed with Weka [18], and the
complete experimentation results are publicly available:
https://tinyurl.com/y4l632g5.

###  2.3 Classification of Credulous Twitter Users

In [13], we built a decision model to automatically classify Twitter accounts
as credulous or not. As ground-truth to train the learning model, we
considered 316 accounts belonging to the initial set of 5,796 human-operated
ones, as introduced above (Section 2.1). Due to the rate limits of the Twitter
APIs and to the huge amount of friends possibly belonging to the 6,000 genuine
accounts, we considered only those accounts with a list of friends lower than
or equal to 400 [14]. This leads to a dataset of 2,838 human-operated
accounts, and 316 users have been identified as credulous ones, according to
the approach in [14].

Table 2: Classification results for credulous detection with ClassA’s features. |  | evaluation metrics
---|---|---
|  alg | accuracy | precision | recall | F1 | AUC
|  HMM | 50.06 | 0.50 | 1.00 | 0.67 | 0.50
|  IBk | 92.59 | 0.74 | 0.73 | 0.92 | 0.97
|  BN | 82.77 | 0.98 | 0.88 | 0.79 | 0.93
|  NB | 73.00 | 0.97 | 0.69 | 0.73 | 0.73
|  VP | 68.68 | 0.72 | 0.63 | 0.67 | 0.70
|  SMO | 75.32 | 0.74 | 0.80 | 0.77 | 0.75
|  MLP | 80.08 | 0.81 | 0.81 | 0.80 | 0.87
|  JRip | 93.05 | 0.99 | 0.87 | 0.93 | 0.94
|  1R | 93.27 | 0.99 | 0.88 | 0.93 | 0.93
|  0R | 49.51 | 0.49 | 0.65 | 0.66 | 0.50
|  J48 | 92.58 | 0.97 | 0.88 | 0.92 | 0.94
|  HT | 83.28 | 0.96 | 0.71 | 0.80 | 0.93
|  RT | 88.88 | 0.89 | 0.89 | 0.89 | 0.89
|  J48C | 92.68 | 0.97 | 0.88 | 0.92 | 0.94
|  J48g | 92.64 | 0.97 | 0.88 | 0.92 | 0.94
|  LAD | 92.38 | 0.96 | 0.89 | 0.92 | 0.97
|  LMT | 92.66 | 0.98 | 0.88 | 0.92 | 0.96
|  REP | 93.09 | 0.98 | 0.88 | 0.93 | 0.95
|  RF | 92.71 | 0.97 | 0.89 | 0.92 | 0.97

We experimented with the same learning algorithms and the same features’ sets
considered in Section 2.2, with a 10 cross-fold validation. It is worth noting
that, for credulous users classification, the learning algorithms took as
input a very unbalanced dataset: we had 2,838 human-operated accounts and,
among them, 316 have been identified as credulous users. To avoid working with
unbalanced datasets, we split the sets of not credulous users into smaller
portions, equal to the number of credulous users. We randomly selected a
number of not credulous users equal to the number of credulous ones; then, we
unified these instances in a new dataset (hereinafter referred to as fold).
Then, we repeated this process on previously un-selected sets, until there
were no more not credulous instances. Such procedure has been inspired by the
under-sampling iteration methodology, for strongly unbalanced datasets [19].
Each learning algorithm was trained on each fold. To evaluate the
classification performances on the whole dataset, and not just on individual
folds, we computed the average of the single performance values, for each
evaluation metric. Table LABEL:table:CredClassifiers reports the
classification performances for the credulous users classifiers, obtained by
using 19 learning algorithms. Also in this case, we used Weka to perform the
experiments; further details are available here: https://tinyurl.com/y4l632g5.

##  3 Features’ Evaluation

The original contribution of this manuscript starts here. We extend the
credulous classification analysis to assign each ClassA’s feature an ‘index of
ability’ to distinguish C from NC instances888In the following, we will adopt
notation C and NC users to indicate, resp. credulous and not credulous
accounts.. Table LABEL:tab:ClassANot presents the ClassA features with their
type and description.

Table 3: Type and description of ClassA’s features Label |  Feature Name |  Description
---|---|---
F1 |  #friends/#followers2 |  The ratio between the number of friends and the squared number of followers
F2 |  age (in months) |  The number of months since the creation of the account
F3 |  #tweets |  The number of tweets, retweets, replies and quotes of the account
F4 |  has a Name |  True if a name is specified in the account’s profile
F5 |  #friends |  (Alias #followees): The number of accounts a user is following
F6 |  URL in profile |  True if a URL is specified in the account’s profile
F7 |  following rate |  The number of followees over the sum of followees and followers
F8 |  default image after 2m |  True if the account did not change the default image provided by Twitter in the account’s profile after 2 months of its creation
F9 |  belong to a list |  True if the account is member of, at least, one list
F10 |  profile has image |  True if the account has an image in its profile
F11 |  #friends/#followers $\geq$ 50 |  True if the ratio between the number of friends and followers is greater than or equal 50
F12 |  ‘bot’ in bio |  True if there is a clear declaration of being a bot in the account’s profile
F13 |  duplicate profile pictures |  True if the profile’s image is the same of that of other accounts (We do not consider this feature in the current work)
F14 |  2 x #followers $\geq$ #friends |  True if twice the followers is greater than or equal the number of followees
F15 |  #friends/#followers $\simeq$ 100 |  True if an account is following a number of accounts that is about 100 order of magnitude the number of accounts that follows it
F16 |  profile has address |  True if a location is specified in the account’s profile
F17 |  no bio, no location, #friends $\geq$ 100 |  True if: the account has no description in the bio and location fields of its profile and the number of friends is greater than or equal 100
F18 |  has biography |  True if the biography is specified in the account’s profile
F19 |  #followers |  The number of the account’s followers

###  3.1 Ranking of ClassA features

Weka’s tools allow to assess the discriminatory importance of a feature in a
features’ set through the so called attribute selection. For the sake of
reliability, we consider three attribute selector algorithms that evaluate the
value (in terms of importance) of each attribute with different methodologies:
(i) OneRAttributeEval999OneRAttributeEval: https://tinyurl.com/qtl3nox uses
the OneR classifier, (ii)
SymmetricalUncertAttributeEval101010SymmetricalUncertAttributeEval:
https://tinyurl.com/wcgccoz measures the symmetric uncertainty with respect to
the class and (iii) InfoGainAttributeEval111111InfoGainAttributeEval:
https://tinyurl.com/ve99qt8 considers the information gain [20] against the
class.

Rank | OneR | SymmetricalUncert | InfoGain
---|---|---|---
1 | F1 (1.000) | F1 (1.000) | F1 (1.000)
2 | F14 (0.977) | F14 (0.896) | F14 (0.894)
3 | F19 (0.889) | F19 (0.509) | F19 (0.620)
4 | F3 (0.768) | F5 (0.299) | F3 (0.323)
5 | F5 (0.720) | F7 (0.235) | F5 (0.273)
6 | F7 (0.712) | F3 (0.218) | F7 (0.255)
Table 4: Ranking of relevance of ClassA features, according to the three
attribute evaluators

Table 4 shows the ranking of the first six most important features, according
to the three evaluating algorithms. The remaining features have been estimated
to impact with a lower relevance, in fact at least one of the evaluators
estimated a value lower than 0.1, this happens for the seventh feature in the
rank (i.e., $F9$) estimated as follows: 0.631 (OneRAttributeEval), 0.101
(SymmetricalUncertAttributeEval) and 0.085 (InfoGainAttributeEval). From Table
4, we can see that all the attribute evaluators confirm the relevance of the
same features in the first six positions.

###  3.2 Analysis on three specific features

Here, we carry out a further analysis on three specific features, F3
(#tweets), F5 (#friends) and F19 (#followers). The rationale behind this
feature selection is due to the following reasons: (i) these features are
direct and simple indicators of the level of the account’s activity (F3) and
friendliness (F5 and F19), (ii), they are not related between each other
(like, for example, F1 and F7), and (iii) we think they are more easily
understandable rather than a combination of the same, see F1 and F14.
Furthermore, given the specific nature of the statistical tests carried on in
the following, we do not consider boolean features.

The statistical tests are carried on to determine if the values of the three
features are statistically significant to discriminate between C users and NC
users. Precisely, a paired t-test [21] (with $\alpha=0.05$) is a well known
parametric statistical test where the observations of some values of two
populations are compared; the goal is to verify whether the average values of
the two value distributions significantly deviate between each other.
Furthermore, the Pearson Correlation Coefficient (PCC) has been calculated to
single out any correlation between each feature data value. The PCC is an
index expressing a possible relationship of linearity between two statistical
variables. PCC values are between +1 and -1, where +1 corresponds to the
perfect positive linear correlation, 0 corresponds to an absence of linear
correlation and -1 corresponds to the perfect negative linear correlation.

| F3 | F5 | F19
---|---|---|---
P-value | 6.211$\times 10^{-24}$ | 1.166$\times 10^{-34}$ | 5.005$\times 10^{-12}$
PCC | -0.019 | 0.061 | 0.001
Table 5: Statistical significance test (T-test with $\alpha=0.05$) on F3, F5
and F19.

Tests are carried out over 316 C users and 316 NC users. The 316 NC users have
been randomly selected (without re-entry) from the full set of 2.522 NC users.
Table 5 shows the p-values (derived from the t-test) and the PCCs. Results
have been obtained with the use of the commonMaths Apache’s
library121212Commons-Math library (Apache): https://tinyurl.com/lt7zeud.

Seeing at the values in the table, we argue that the two populations (C and NC
users) feature a difference, w.r.t. the considered features, and this
difference is statistically significant, since the p-values are practically
equal to 0. Also, the fact that PCC is, for the three features, very close to
0 implies that there is no linear correlation between the values, per feature,
of the two populations.

##  4 Behavioral Analysis

(a) Pure Tweets ratio

(b) Retweets ratio

(c) Replies ratio

Figure 1: Activities of credulous users (vs not). Each plot expresses the
ratio between the tweets in the user’s timeline and (a) content produced by
the user, (b) retweets, and (c) replies

In this section, we analyse the activities of credulous accounts, in terms of
tweets (Figure 1(a)), retweets (Figure 1(b)), and replies (Figure 1(c)).
Quoted tweets have been considered as retweets131313On Twitter, a quoted tweet
is a retweet with an extra text inserted by the retweeter.. Results are shown
in Figure 1. For each type of content, each subfigure reports statistics about
users’ activities for: the 316 C users (blue), the 2,522 NC users (red), and a
random sample of NC users of the same number of C ones, 316 (green).

Figure 1(a) reports information related to pure tweets. When related to the
overall amount of tweets, C users (blue points) produced, on average, 56.44%
of tweets (horizontal blue dashed line), with a standard deviation (dashed
blue rhombus) of 26.4%. The totality of NC users (red points) feature an
average tweets production that is lower than C users, precisely 46.49%
($\sigma$=25.45%). When considering the sample of NC users (green points), we
notice an even lower average (31.13%, $\sigma$=24.85%). The analysis of this
first graph suggests that those accounts classified as credulous tweet
original content more than the others.

Figure 1(b) reports the information related to retweets and quotes (w.r.t. the
overall amount of tweets). In this case, the difference between C and NC users
is less marked. C users (blue points) show a retweets-tweets ratio equal to
0.2882 ($\sigma$=0.2432), while NC users (red points) ratio is 0.3182
($\sigma$=0.2591). Very similar scores are obtained if the NC users’ sample
(green points) is considered, with average ratio =0.311 ($\sigma$=0.2485).

Similar findings have been obtained for the replies, see Figure 1(c). The
replies-tweets ratio is equal to 0.14 ($\sigma$=0.124) for C users (blue
points), on average. The same ratio for the NC population (red points) is
higher, with a value equal to 0.19 ($\sigma$=0.164). For the NC users’ sample,
we obtain 0.18 ($\sigma$=0.16).

Although the last two cases (retweets and replies) show a common decreasing
trend in the averages of the activities of C and NC users, we will further
investigate the issue with a fine grained analysis, with the aim of finding
more discriminant results in terms of C and NC users’ behavior. Precisely, we
will analyse the nature of the accounts that originated retweets and replies
of C and NC users. For each of the 2,838 human-operated accounts in our
dataset, and for the two kind of actions type of action –retweeting and
replying –, we will calculate the percentage of content originated by bots.
Considering, for example, the case of retweets, it is possible to retrieve the
ID of the original tweet. Consequently, from the tweet ID, it is possible to
retrieve the tweet author. We can then evaluate if that author is classified
as bot or not. A similar reasoning holds for C users’ replies (considering the
nature of the author of the tweet which the user replies to) and quotes.

For the bot classification task, we adopt the classifier presented in Section
2.2. The authors of the original tweets retweeted and quoted by our human-
operated accounts, or to which they responded, are 1.22 million users. Among
them, 104k has been classified as bots (8.5%).

###  4.1 Retweets

(a) Percentage of retweets originated by bots

(b) % of populations w.r.t. the % of retweets originated by bots

Figure 2: Comparative analysis between credulous and not credulous users with
respect to the retweets whose related tweets have been originated by bots.

Figure 2 gives two different views of the same phenomenon. In both subfigures,
C users are represented in purple, while NC users in green.

Figure 2(a) gives, on the y-axis, the percentage of retweets whose original
tweets have been originated by bots141414For the sake of briefness, hereafter
we will denote such retweets as ‘byBot-retweets’.. Numbers on the x-axis are
indexes for each user, instead of the Twitter ID; such values are useful to
count the number of users with a percentage of byBot-retweets greater than a
certain threshold.

It is worth reminding that the original NC set is composed of 2,522 users;
hence, for sake of fair comparison, in the figure we consider a sample of 316
NC users. To obtain a representative sample, we first built 20 samples of 316
NC users; each sample was obtained by randomly selecting instances from the
original set, without re-injection. Then, for each sample, we computed the
average and standard deviation on the percentage of byBot-retweets. Finally,
we computed the Euclidean distance between the averages and standard
deviations of the samples and we compared them to those calculated over the
entire NC population. We identified as more representative of the entire NC
population the sample with the smallest distance.

Looking at Figure 2(a), we can notice that the purple points (C users) are
above the green ones (sample of NC users). The average percentage of tweets
originated by bots retweeted by C users is 16.45 ($\sigma=11.84$%), while the
average percentage for NC users is lower, 13.21 (with $\sigma=12.1$%).

The percentage of byBot-retweets have been calculated over the total amount of
retweets. Some of the human-operated accounts in our dataset do not retweet at
all. We call such accounts outliers. In Figure 2(a), the outliers are shown
under the zero on the y-axis: 10 C users and 12 NC users are outliers.
Moreover, the users lying exactly on the y-axis are those users who retweet
only tweets originated by human-operated accounts.

Figure 2(b) compares the whole C and NC populations. The values on the x-axis
are the same of those on y-axis in Figure 2(a). Instead, on the y-axis, we
report the percentage of the population having byBot-retweets (in percentage)
greater or equal to (for C users – purple dots) or lower (for NC users – green
dots) to the values on the x-axis.

The aim of the graphs in Figure 2(b) is conveying a measure of population
coverage, i.e., fixing the number of byBot-retweets, we know the percentage of
C users whose byBot-retweets is $\geq$ that number and the percentage of NC
users which quotes is less than that number. In Figure 2(b), the data related
to NC users refer to all of them (2,522).

The green and purple curves reach the maximum population coverage (of users)
at the abscissa point of 15.59 (%). Specifically, the 43.75% of C users has a
percentage of byBot-retweets $\geq$ 15.59 (coordinates 15.59, 43.75 – purple
dots). The 70.04% of NC users has a percentage of byBot-retweets < 15.59
(coordinates 15.59, 70.04 – green dots).

Going further with the analysis, Figure 3 provides two aggregation
perspectives, by grouping the C and NC users according to the number of their
byBot-retweets.

(a) Deciles of Figure 2(a)

(b) Deciles of C and all NC users

Figure 3: Comparative analysis between credulous and not credulous users with
respect to byBot-retweets.

In Figure 3(a), the x-axis reports intervals (deciles) of byBot-retweets and
the y-axis reports the number of users falling in each interval. Since the two
sets (C and NC) have the same number of users (316), we prefer to report the
real number of users, instead of the percentage, which however is still easily
calculable. The sample of NC users is the same used for the results shown in
Figure 2(a).

Figure 3(b) considers all NC users. Since they are 2,522, we report the
percentage (y-axis). When considering the whole population of NC users, we can
notice very similar results, in fact the differences between C and NC users,
already observed in Figure 3(a), are here preserved. This can be interpreted
as a close relationship between these two sets, i.e., the subset of the 316 NC
users considered in Figure 3(a), and all NC users.

Finally, in both subfigures of Figure 3, the users in the last group, i.e.,
the outliers, do not retweet any tweet; the users in the 0 group are users
retweeting tweets originated by human-operated accounts only.

#### Findings

From Figure 2, we can appreciate a difference in users’ behaviour between C
and NC users. On average, C users feature a higher percentage of retweets
whose original tweets have been originated by bots. The difference between the
standard deviation values for the two populations is negligible, indicating a
behavioural similarity between C and NC users (Figure 2(a)).

Regarding the analyses shown in Figure 3(a), both the subfigures show a
greater presence of C users in almost all the deciles; the only relevant
difference is for the [10,0[ group. In this group, NC users are more than C
users.

###  4.2 Replies

(a) Percentage of replies to bot’s tweets

(b) % of populations w.r.t. the number of replies to bot’s tweets

Figure 4: Comparative analysis between C and NC users with respect to replies
to bots’ tweets.

(a) Deciles of Figure 4(a)

(b) Deciles of C and all NC users

Figure 5: Comparative analysis between credulous and not credulous users with
respect to the replies to tweets originated by bots.

Figures 4 and 5 report the analysis related to the replies. Figure 4(a) shows
a quite clear difference between C and (a sample of) NC users. C users have an
average percentage of replies to bot’s tweets equal to 13.77
($\sigma=15.10$%), while NC users show a mean’s value of 10.81 (
$\sigma=14.03$%). As for the retweets, the number of outliers is quite low (9
and 12 accounts for C and NC users, resp.).

Figure 4(b) shows that the maximum percentage of covered populations is
achieved on a replies percentage value equal to 27.96 (x-axis). Specifically,
the 11.40% of C users reply to bot’s tweets more than the 91.56% of NC users.
Considering the average percentage value of replies for C users in Figure
4(a), the populations percentage are 35% for C users and 75% for NC users.

The behavioral analysis concludes with the bars in Figures 5(a) and 5(b). The
outcomes are very similar to the ones related to the retweets analysis. For
most of the groups, there is no a clear distinction between the number in
Figure 5(a) and the percentage in Figure 5(b) of C and NC users. This holds at
least till the group [20, 10[.

#### Findings

Similarly to what unveiled in the previous subsection, the replies analysis
confirms that, on average, C users feature a higher percentage of replies to
bots. However, looking more in detail at the amount of replies (the ‘group
analysis’ in Figure 5 , there is no common trend showing, for each group, a
majority of C replies w.r.t. NC replies. To further explore the behavioural
difference between C and NC users, we carry out statistical tests, aiming at
assessing whether the diversities found up to this point can be considered
statistically significant.

###  4.3 Statistical significance of the behavioral differences between C and
NC users

In Section 4.1 and 4.2, the analyses showed behavioral differences between C
and NC users in terms of retweets and replies. Here, we will try to assess
whether these differences can be considered statistically significant. For
this purpose, we rely on hypothesis testing. It is worth noticing that the
users involved in the statistical tests, representative of both C and NC
users, are those considered in Figure 2(a) for retweets and Figure 4(a) for
replies.

|  Kolmogorov-Smirnov (Test of Normality)
---|---
| C (Res.) | NC (Res.)
Replies | $\times$ | $\times$
Retweets | $\times$ | $\times$
Table 6: Test of Normality. Type of tweets |  T-Test ($\alpha$=0.05) |  |  ANOVA ($\alpha$=0.05)
---|---|---|---
| Res. |  t-value |  p-value |  | Res. |  f-ratio |  p-value
Replies | $\checkmark$ | 3.001 | 0.001 |  | $\checkmark$ | 9.04942 | 0.002738
Retweets | $\checkmark$ | 3.190 | 0.001 |  | $\checkmark$ | 10.17804 | 0.001496
Table 7: Parametric Statistical tests: T-test and one-way ANOVA.

In Table 6, for the two types of post (1st column), we show the results of the
Kolmogorov-Smirnov’s test [22] (or Test of Normality). This is a non
parametric test that, given a certain number of observations (in our case, the
percentages of retweets and replies of the two sample populations originated
by bots), checks whether they are normally distributed. If the test is
successful, to determine whether the means of the two sets of data are
significantly different we could rely on the outcomes of parametric
statistical tests on C and NC users’ data, like the T-test [23] and the one-
way Analysis of Variance [24] (ANOVA). Unfortunately (see Table 6) the two
populations did not pass the test ($\times$ symbol); therefore, the
information obtained by the latter mentioned tests is useless in our
situation. For the sake of curiosity and completeness, we considered (see
Table 7) the outcomes obtained by conducting both the parametric tests on
retweets and replies. However, we will not consider them further.

Type of tweets |  Mann-Whitney ($\alpha$=0.05) |  |  Kruskal–Wallis ($\alpha$=0.05)
---|---|---|---
| Res. |  z-score |  p-value |  | Res. |  H-value |  p-value
Replies | $\checkmark$ | 3.37056 | 0.00038 |  | $\checkmark$ | 11.36 | 0.00075
Retweets | $\checkmark$ | 3.3 | 0.00048 |  | $\checkmark$ | 10.89 | 0.00097
Table 8: Mann-Whitney and Kruskal-Wallis (non parametric) tests.

We thus rely on non parametric statistical tests. In Table 8, we show the
outcomes of two well-known non-parametric tests. The first one corresponds to
the non parametric version of the T-test, i.e., test of Mann-Whitney [25]. The
second one is known as Kruskal–Wallis test [26]. For both of them, the test is
successfully passed if there is enough grounds to reject the null hypothesis.
Roughly, in both tests, the null hypothesis states that “there is no
difference in means” (of ‘byBot’ content) between the considered populations
(in our case C and NC users). As we can see in Table 8, both types of tweets
(i.e., replies and retweets) successfully pass the two tests ($\checkmark$
symbol). These results suggest that when replies and retweets are considered,
C users interact more with bots than NC users and this behavioural difference
is not due to chance.

##  5 Discussion

In Section 2, we presented one of our previous work [13], where we:

  1. 1.

assessed the capability of a supervised learning-based approach to classify
human-operated Twitter users following many bots;

  2. 2.

tested 19 learning algorithms to train a credulous users classifier;

  3. 3.

evaluated the effectiveness of three sets of features to determine which one
obtained the best classification performances.

Encouraged by promising results (e.g., an accuracy 93%) and, therefore, by the
ability to automatically identify those users following a large number of bots
), in this work we extend our studies on C users in an in-depth way.
Specifically, to single out information useful to distinguish C from NC users,
we:

  1. 1.

conducted a detailed study on the classification features, by focusing on
those used to train our best performing credulous detector (i.e., ClassA-
features);

  2. 2.

analysed genuine users’ tweeting activities and compare those of credulous
with those of not credulous users (a coarse grained analysis not linked to
interactions with bots);

  3. 3.

conducted a fine grained analysis to check our intuition about the higher
engagement of credulous users in spreading content originated by bots.

Regarding features’ analysis, we considered three different and well-known
feature ranking algorithms and compared them. There are small differences in
the order in which the features appear in the three rankings. However, since
the same features appear in the highest positions, we can infer that they are
the most effective ones. Some of these high-ranked features are not ‘Class A’
features (i.e., they are not directly accessible from the user profile);
indeed, combinations of other features (for example, by division or
multiplication) are requested to calculate them. To avoid correlation factors
between features, we selected three among the highest-ranked ones that, in our
opinion, express the essence of our investigations, namely the number of
tweets (a measure of the activity level on the platform), of friends and of
followers (a measure of the level of social relationships). For each of these
features, we carried out a T-test to assess whether the values associated with
C and NC users differ in a statistically significant way. The test succeeded,
revealing that these three features unveil a difference between these two
populations of human-operated accounts.

Since both C and NC users are human-operated accounts, it is possible that,
among the data used to perform meaningfulness tests (on each feature), there
may exists some correlations in terms of linear dependency. The statistical
test performed on the features (namely F3, F5, F7), although successfully
passed, do not take this factor into account. For this reason, we calculated
the PCC and found that indeed there is no correlation.

Table 9 recaps in a numerical format the statistics of tweeting, retweeting
and replying activities of the populations investigated in the previous
sections (see Figure 1).

|  | Pure Tweets |  | Retweets |  | Replies
---|---|---|---|---|---|---
|  | $\mu$ | $\sigma$ |  | $\mu$ | $\sigma$ |  | $\mu$ | $\sigma$
Credulous (C) |  | 0.56 | 0.26 |  | 0.29 | 0.24 |  | 0.14 | 0.12
Not Credulous (NC) |  | 0.46 | 0.25 |  | 0.32 | 0.26 |  | 0.19 | 0.16
NC (sample) |  | 0.31 | 0.25 |  | 0.31 | 0.25 |  | 0.18 | 0.16
Table 9: Tweeting activity (stats) of credulous vs not credulous users.

On average, C users tweet more than NC users; nevertheless, their average
retweeting and replying activities are lower than those of NCs. At a first
sight, credulous users seem more talkative in terms of self-produced content,
whereas the scenario seems the opposite for retweets and replies. Paying more
attention, differences in retweets and replies are not so marked and we can
indeed notice similar behaviours of C and NC users. This ‘behavioural
equivalence’ is exploited in a second and fine-grained behavioural analysis
(Sections 4.1 and 4.2). Indeed, since the coarse-grained analysis does
evidence significant differences between C and NC users, we assume similar
behaviour in terms of high level activities (i.e., replies and retweets). The
fine-grained analysis enables us to assess the difference in terms of replies
to bots, and retweets by bots.

This additional analysis has been conducted both on retweets and replies and
has revealed the tendency of C users to bounce more content originated by
bots, with respect to NC users. To ensure that this behavioural variation does
not happen not by chance, we perform further non-parametric statistical tests
(hypothesis tests) which confirm the statistical significance of the different
attitudes featured by the two categories of users. We argue that these results
provide an initial, but relevant, evidence of the actual involvement of
specific categories of human-operated accounts in supporting, albeit
unknowingly, potentially malicious activities.

##  6 Related work

In the following we consider both works that have taken into account the topic
of gullibility and approaches that, more in general, consider the behavior of
users on social media. We restrict the related work to those papers we
consider more relevant relatively to our approach. Thus, this review is not
intended to be exhaustive.

For the sake of schematization, Table 10 reports a brief recap of the selected
papers that are discussed hereafter. Our interest is focused on studying
users’ behavioral patterns, aiming to derive the main characteristics of
specific humans, i.e., those more exposed to malicious automated accounts’
activities on Twitter, and thus to a higher risk of being influenced by them.

In a recent study about detection of fake news and mitigation of their harmful
effect, Shu and others in [27] give a clear definition of different kinds of
social media users: 1) the ‘persuaders’, which spread false narratives with
supporting opinions to influence others to believe it; 2) the ‘clarifiers’,
which propose opposite views to debunk such narratives, and 3) the ‘gullible
users’, those open to believe them. We have investigated the possibility that
gullible users are characterized by more interactions with entities such as
automated accounts, when compared to non-gullible users. The measure that
defines gullibility of a user is the amount of automated accounts that the
user has among her/his friends.

Individual behaviour in relation to actions and thinking by other people has
been studied in the social sciences for many years. The studies have led to
the definition of characteristic aptitudes of the individual, such as the
confirmation bias [28], i.e., the tendency ‘to trust information that confirms
personal preexisting beliefs or hypotheses’, the cognitive closure [29], i.e.,
the need of obtaining ‘certainty in an uncertain world’, and the selective
exposure [30], i.e., the preference for ‘information that confirms preexisting
attitudes’, to mention a few of them. With the advent of internet and social
media, the analysis of individual behaviour w.r.t. to communities and their
beliefs has been projected by data scientists onto the virtual behaviour of
users on the net. In order to understand who and what influences users the
most, and to what extent they can be influenced, in the recent survey Zhou and
Zafarani [31] devote a small section to what they call ‘vulnerable normal
users’. This designation identifies ‘users that are susceptible and vulnerable
to fake news’. Social theories attest that a reason why a user engages in
spreading fake news in a naive way (i.e., without any malicious intent) is
that spreading bears a greater social influence [32].

Table 10: Summary of the most relevant related work. _Ref._ |  _Brief summary_
---|---
[27] |  taxonomy of social users according to susceptibility, persuasion, and aptitude to clarification levels
[33] |  inclination of susceptible users to listen to fake news regarding financial markets
[34] |  study on the perceived trust of social users towards massive retweet campaigns
[35] |  social users’ aptitude to share unverified rumours
[36] |  persistence of social users to share rumours even if debunked or verified
[2] |  reasoned motivations that lead social users to believe and spread unverified news
[37] |  propaganda and how to spot it in online news
[38] |  users’ behaviour on social networks is influenced by connections and interactions
[16] |  characterisation of Twitter accounts with features discerning humans from social bots
[39] |  strategic formation of bots squads to amplify political messages on Twitter
[40] |  susceptibility of human users quantified in terms of interactions, i.e., mentions, replies, retweets, etc.
[41] |  studying the characteristics of users replying to or following bots
[42] |  investigation of users’ retweeting to understand the features of susceptible users attracted by election topics
[43] |  tracking susceptibility in social media by considering the temporal dynamics of the behavioural factors
[44] |  building a dataset of Twitter fake news followers by selecting all the accounts replying to known fake news
[45] |  identifying polarised content on social media (based on users behaviour) and predicting future fake news topics
[46] |  fake news spreaders in Twitter during the US presidential election influenced Trump supporters

Probably, the work most similar to ours is the one by Wagner et al. [40],
dated 2012. In that work, the accounts that here we call credulous are
referred to as susceptible. Even in that work susceptible users are
successfully recognized by a classifier, but the premises, and the aims of
[40] are profoundly different from ours. The two works have in common that
they do not focus on detecting social bots but on detecting users who are
susceptible to their attacks. However, there is a substantial difference in
the definition of our credulous users and the susceptible users of [40]. A
susceptible user is a human that has been ‘infected’ by a bot, i.e., has
interacted at least once with a bot, either by mentioning it, retweeting it,
or replying to it. For us, the credulous user is a user with a large number of
bots among her friends. The construction of the datasets is also very
different. In fact, [40] inherits accounts and their interactions from the
Social Bot Challenge 2011 - a competition organised by the WebEcologyProject.
Thus, Wagner et al. started with a ground truth of genuine bots and accounts,
plus a list of their interactions. We also started with datasets of accounts a
priori known as genuine ones but then ran a bot detector on their friends to
see how many bots they had as friends [13]. Here we study whether C users
interact with bots differently than NC ones. Finally, Wagner at el. had the
goal of discriminating the susceptibility level of the susceptible accounts, a
goal that is out of scope here. Moreover, the results of the analysis of the
susceptibility level were somehow inconclusive, in the sense that the
granularity with which the level of susceptibility was discriminated was very
coarse. In light of this, it would be very interesting to understand to what
extent it is possible to understand the level of credulity of our credulous
users.

A concrete example of the greater exposure of gullible users to deceptive news
is given in the recent work by Florendo et al. [33], which highlights how
gullibility is, along with demographic factors, one of the features that have
led social media users to believe false news about financial markets. Thus, we
think that automatically recognizing gullible users and understanding their
intrinsic characteristics is one of the cornerstones to build defences to the
spread of false news.

Human reactions are obviously multiple: we do not know ‘a priori’ if C users
approve or not the content they consume and possibly retweet. For instance,
Lin et al. in [34] tested the perceived trust of a set of users towards one
fictitious organization that varied the number of retweets concerning an
invented story about contaminated food in grocery stores. In this study, a
‘snob effect’ was demonstrated, that is, the more the story was retweeted, the
more people tended not to trust the truth of the tweets. Other studies show
different reactions. For example, Zubiaga et al. found that online users are
more active in sharing unverified rumors than they are in later sharing that
these rumors were either debunked or verified [35]. Furthermore, even a bit in
disagreement with the previous result, Owen has shown that even after knowing
that a story is false, a third of the users continue to spread it anyway [36].
Overall, it seems that ‘the veracity of information therefore appears to
matter little’, as observed by Nemr and Gangware in their report on Weapons of
Mass ‘Distraction’ [2]. Nevertheless, even for the scrupulous reader, it would
be very difficult to find out the level of truthfulness of a news, just by
using the critical sense. The literature has made progress with the use of
automatic tools that exploit the automatic processing of natural language, as
demonstrated - for example - in a recent work by Barrón-Cedeño et al. on the
detection of propaganda articles [37].

To understand users’ behavior on social networks, some crucial points have
been identified by Jin et al. in [38]. Among others, a key aspect is
represented by connection and interaction, i.e., the representation of the
relationships among users through different types of social graphs, e.g.,
friendship, following, etc. Inspired by this point, our work aims to
investigate the behaviour of users related by the Twitter followees
relationship, since there might be users that are more exposed to malicious
activities.

A framework for the detection, estimation, and characterisation of Twitter
accounts is presented by Varol et al. in [16], where more than a thousand
features are used to discern humans from social bots. When characterising
friendship ties and information flow between users, two main findings hold on
average, i.e., (i) reciprocity of friendship ties is higher for humans, and
(ii) humans resulted to interact more with human-like accounts than bots. As
opposite, in this paper we are interested to spot those humans that, maybe
unknowingly, diffuse content generated by bots.

The central role of bot accounts in contributing to retweet news and
amplifying the hubs’ messages has been recently observed in Caldarelli et al.
[39]. Given the prominent role, testified by a decade long literature, on the
harms that social bots may cause, it becomes of uttermost importance to find
out automatic methods to unveil who listens to them, and to what extent.
Hence, we firmly believe that new approaches should be explored to
automatically detect those who heavily interact with the bots.

To the best of our knowledge, most of the literature on social network
analysis deals with detecting bots or assessing the impact of their malicious
activities. The role of humans, instead, has received less attention,
especially when studying misinformation diffusion. Only few attempts have been
made to identify those social media human users that are susceptible to
disinformation attacks by social bots. Users that are most vulnerable to
social bots were considered in [41], where Wald et al. conducted some
experiments to derive the characteristics of users replying to bots or
following them. From their experiments emerged that the Klout score151515Klout
is a private company collecting information on users acting in different
social media (Facebook, Twitter, G+, LinkedIn), to determine their overall
social influence., the number of friends and followers are the best indicators
(among a set of 13 features) to predict whether a human will interact with a
bot. Our work can be considered as complementary to [41], in fact we also
consider the total number of bots’ followees for spotting credulous users.

Users’ retweeting is investigated by Lim and Hoang in [42], and it is
associated to three behavioral factors: (i) topic virality, i.e., the ability
of a topic to attract retweets, (ii) user virality, i.e., the ability of a
user to get retweeted for a specific topic, and (iii) user susceptibility,
i.e., the ability of a user to retweet for a specific topic. In this paper we
are mainly interested to retweets induced by user susceptibility, and from
[42] we learnt that a small group of users is extremely susceptible to
election-related influences.

Virality and susceptibility in social media is tackled by Hoang and Lim in
[43], the focus being on the temporal dynamics of the behavioral factors that
were neglected by the same authors in [42]. Time models are proposed to assign
higher/lower susceptibility score to users on the basis of retweeting
activities during specific time steps. Our work also does not consider the
temporal aspect to lighten the computational cost. However, as future work we
plan to study how the behavior of credulous users change over time.

More recently, there has been some research effort devoted to detecting users
susceptible to fake news. In [44], Shen et al. start from a dataset of fake
news, and all the Twitter users replying to such news are labelled as
vulnerable to disinformation. A supervised classification is later adopted to
train a model that classifies gullible users, according to content-, user-,
and network-based features. Results show the capability to differentiate users
with different susceptibility levels, achieving 0.82 in AUC-ROC as best
performance value. Also in this paper we analyse the content originated by
bots and disseminated by human users. In particular, we study how potentially
fake content (because originated by bots) are disseminated by credulous users
who, although unknowingly, can actively contribute to the dissemination of
fake news.

A framework to identify polarised content on social media and to predict
future fake news topics is proposed Del Vicario et al. [45] which use a number
of characteristics related to users behavior (e.g., number of likes, comments,
and shares) for the classification task. It would be interesting to design ad-
hoc experiments to exploit these characteristics by leveraging those values
that are associated to potential targets for hoaxes and fake news. This way,
we can detect users that are susceptible to and potential contributors of
misinformation spreading.

The influence of fake news in Twitter has been examined in [46] where Bovet
and Makse analyze the information related to the 2016 US presidential
election. Results of this study demonstrate that Clinton supporters were
largely influenced by the spreading of center and left leaning news, whereas
Trump supporters were heavily influenced by the dynamics of the top fake news
spreaders. Similarly to approaches on fake news [44, 45, 46], our interest is
on verifying if users contributing to spreading of fake content are among our
credulous users.

##  7 Conclusion

Disinformation spreading on social media is a worrisome phenomenon to which
researchers, platform administrators, and even governments are looking at with
concern. The role of bot accounts in this business is unquestionable, but it
would not be effective if there was nobody considering them. The work
presented in this paper aimed precisely to test the attitude of human-operated
accounts towards reacting to the actions of bots. To this purpose, we have
considered Twitter online accounts which have a high number of bots among
their friends; we have named them as credulous users. Leveraging a
classification work carried out in our previous work, we have analysed the
statistical value of the features considered for such classification phase.
Such analysis has enabled us to conclude that some features, such as the
number of tweets, of friends and of followers, that can be easily extracted
from the account’s profile, are statistically relevant to discriminate between
Credulous and Non Credulous users.

Besides, by considering the retweets and the replies of the accounts in our
datasets, we have shown, through two statistical tests, that, on average, C
users amplify more than NC ones the content posted by bots. Even before
conducting further experimental analysis on larger samples of C users, we
consider this result very promising. Indeed, it shows that it is possible:

  1. 1.

to automatically identify credulous users accounts by leveraging on
discriminating features that are very easy to extract;

  2. 2.

to get useful information on possible dissemination of spam content,
propaganda, and, in general, of unreliable information, by focusing on the
source of the content credulous users bounce.

#### Future Work

Despite these encouraging results, we argue that scholars and platform admins
should put more effort to make users aware of the pitfalls that can be hidden
by interacting with accounts, let them be automated or not, whose purposes are
not honest. Hereafter, we propose some possible future investigations:

  * -

observe the variations of credulous users’ followees and check, by considering
an observation time frame, the nature (genuine vs bots) of those who have
started to be followed, those who have stopped being followed and those who
stay longer on the followees lists. This study could help understanding the
constancy of a C user in being susceptible to possibly not reputable content.

  * -

develop approaches for C users detection also for human-operated accounts with
more than 400 followees. Investigations in this direction would further
contribute to understanding whether the proportion of suspicious users that a
C user follows is proportional to the number of followees.

  * -

adapt the approach to other social platforms. The concept of C users is
strongly dependent on the specific relationships between users on the specific
social platform, thus the concept of being interested in published content
deserves specific attention.

## Acknowledgements

Partially supported by the European Union’s Horizon 2020 programme (grant
agreement No. 830892, SPARTA) and by IMT Scuola Alti Studi Lucca: Integrated
Activity Project TOFFEe ‘TOols for Fighting FakEs’. It has also benefited from
the computing resources (ULITE) provided by the IT division of LNGS in
L’Aquila.

## References

  * [1] D. Jackson, Distinguishing Disinformation from Propaganda, Misinformation and Fake News (2017).
URL https://tinyurl.com/yb6cy63p

  * [2] C. Gangware, W. Nemr, Weapons of Mass Distraction: Foreign State-Sponsored Disinformation in the Digital Age, Park Advisors, 2019.
URL https://tinyurl.com/y2lpnahe

  * [3] E. Ferrara, O. Varol, C. A. Davis, F. Menczer, A. Flammini, The rise of social bots, Commun. ACM 59 (7) (2016) 96–104.
  * [4] S. Cresci, R. D. Pietro, M. Petrocchi, A. Spognardi, M. Tesconi, The paradigm-shift of social spambots: Evidence, theories, and tools for the arms race, in: WWW (Companion Volume), 2017, pp. 963–972.
  * [5] C. Shao, G. L. Ciampaglia, O. Varol, K.-C. Yang, A. Flammini, F. Menczer, The spread of low-credibility content by social bots, Nat. Commun. 9 (1) (2018).
  * [6] L. Luceri, S. Giordano, E. Ferrara, Detecting troll behavior via inverse reinforcement learning: A case study of Russian trolls in the 2016 US election, in: M. D. Choudhury, R. Chunara, A. Culotta, B. F. Welles (Eds.), Proceedings of the Fourteenth International AAAI Conference on Web and Social Media, ICWSM 2020, AAAI Press, 2020, pp. 417–427.
  * [7] G. Walton, G. Cohen, A question of belonging: Race, social fit, and achievement, J. Pers. Soc. Psychol. (2007) 82–96.
  * [8] D. Webster, A. Kruglanski, Cognitive and social consequences of the need for cognitive closure, European Review of Social Psychology 8 (1) (1997) 133–173.  doi:10.1080/14792779643000100.
  * [9] A. Waytz, The Psychology Behind Fake News, Kellogg School of Managment (847) (2017) 60208.
URL https://tinyurl.com/y65hzqez

  * [10] J. De keersmaecker, A. Roets, Fake news: Incorrect, but hard to correct. The role of cognitive ability on the impact of false information on social impressions, Intelligence 65 (2017) 107 – 110.  doi:https://doi.org/10.1016/j.intell.2017.10.005.
  * [11] K. C. Yang, O. Varol, C. A. Davis, E. Ferrara, A. Flammini, F. Menczer, Arming the public with artificial intelligence to counter social bots, Human Behavior and Emerging Technologies 1 (1) (2019) 48–61.  doi:10.1002/hbe2.115.
  * [12] S. Bradshaw, P. N. Howard, The Global Disinformation Order 2019 Global Inventory of Organised Social Media Manipulation, Tech. rep. (2019).
URL https://tinyurl.com/y4yxoz7f

  * [13] A. Balestrucci, R. De Nicola, M. Petrocchi, C. Trubiani, Do you really follow them? Automatic detection of credulous twitter users, in: IDEAL (1), Vol. 11871 of Lecture Notes in Computer Science, 2019, pp. 402–410.  doi:10.1007/978-3-030-33607-3\\_44.
  * [14] A. Balestrucci, R. D. Nicola, O. Inverso, C. Trubiani, Identification of credulous users on Twitter, in: SAC, ACM, 2019, pp. 2096–2103.
  * [15] S. Cresci, R. D. Pietro, M. Petrocchi, A. Spognardi, M. Tesconi, Fame for sale: Efficient detection of fake Twitter followers, Decis. Support Syst. 80 (2015) 56–71.
  * [16] O. Varol, E. Ferrara, C. A. Davis, F. Menczer, A. Flammini, Online human-bot interactions: Detection, estimation, and characterization, in: ICWSM, AAAI Press, 2017, pp. 280–289.
  * [17] M. Avvenuti, et al., Hybrid crowdsensing: A novel paradigm to combine the strengths of opportunistic and participatory crowdsensing, in: 26th WWW, 2017, 2017, pp. 1413–1421.
  * [18] I. H. Witten, E. Frank, M. A. Hall, Data mining: practical machine learning tools and techniques, 3rd Edition, Morgan Kaufmann, Elsevier, 2011.
  * [19] J. B. Lee, J. Lee, An iterative undersampling of extremely imbalanced data using CSVM, in: ICMV, Vol. 9445 of SPIE Proceedings, SPIE, 2014, p. 94452B.
  * [20] J. T. Kent, Information gain and a general measure of correlation, Biometrika 70 (1) (1983) 163–173.
  * [21] H. Hsu, P. A. Lachenbruch, Paired t test, Encyclopedia of Biostatistics 6 (2005).
  * [22] H. W. Lilliefors, On the Kolmogorov-Smirnov test for normality with mean and variance unknown, J. Am. Stat. Assoc. 62 (318) (1967) 399–402.
  * [23] W. Sealy Gosset, The probable error of a mean, Biometrika 6 (1) (1908) 1–25.
  * [24] D. C. Howell, Statistical methods for psychology, Cengage Learning, 2009.
  * [25] H. B. Mann, D. R. Whitney, On a test of whether one of two random variables is stochastically larger than the other, The Annals of Mathematical Statistics (1947) 50–60.
  * [26] W. H. Kruskal, W. A. Wallis, Use of ranks in one-criterion variance analysis, J. Am. Stat. Assoc. 47 (260) (1952) 583–621.
  * [27] L. H. Shu K., Bernard H.R., Studying fake news via network analysis: Detection and mitigation, in: Emerging Research Challenges and Opportunities in Computational Social Network Analysis and Mining, Springer, 2019.
  * [28] R. Nickerson, Confirmation bias: A ubiquitous phenomenon in many guises, Review of General Psychology 2 (2) (1998).
  * [29] K. A. W., W. D. M., Motivated closing of the mind: ‘seizing’ and ‘freezing’, Psychological Review 103 (1996) 263–283.
  * [30] J. Freedman, D. Sears, Selective exposure, Vol. 2 of Advances in Experimental Social Psychology, Academic Press, 1965, pp. 57 – 97.
  * [31] X. Zhou, R. Zafarani, A survey of fake news: Fundamental theories, detection methods, and opportunities, ACM Comput. Surv. 53 (5) (Sep. 2020).
  * [32] B. Ashforth, F. Mael, Social identity theory and the organization, Academy of management review 14 (1) (1989) 20–39.
  * [33] E. H. Florendo J., The role of cognitive style, gullibility, and demographics on the use of social media for financial decision making, J. Financial Services Marketing 24 (2019) 1–10.
  * [34] X. Lin, P. R. Spence, Others share this message, so we can trust it? an examination of bandwagon cues on organizational trust in risk, Inf. Process. Manag. 56 (4) (2019) 1559–1564.
  * [35] A. Zubiaga, M. Liakata, R. Procter, G. Wong Sak Hoi, P. Tolmie, Analysing how people orient to and spread rumours in social media by looking at conversational threads, PLOS ONE 11 (3) (2016) 1–29.
  * [36] L. Hazard Owen, Americans may appreciate knowing when a news story is suspect, but more than a third will share that story anyway (2018).
URL https://tinyurl.com/y5guo8qr

  * [37] A. Barrón-Cedeño, I. Jaradat, G. D. S. Martino, P. Nakov, Proppy: Organizing the news based on their propagandistic content, Inf. Process. Manag. 56 (5) (2019) 1849–1864.
  * [38] L. Jin, Y. Chen, T. Wang, P. Hui, A. V. Vasilakos, Understanding user behavior in online social networks: a survey, IEEE Commun. Mag. 51 (9) (2013).
  * [39] G. Caldarelli, R. De Nicola, F. Del Vigna, M. Petrocchi, F. Saracco, The role of bot squads in the political propaganda on Twitter, Communications Physics 3 (2020) 1–15.
  * [40] C. Wagner, S. Mitter, C. Körner, M. Strohmaier, When social bots attack: Modeling susceptibility of users in online social networks, in: #MSM, Vol. 838 of CEUR Workshop Proceedings, CEUR-WS.org, 2012, pp. 41–48.
  * [41] R. Wald, T. M. Khoshgoftaar, A. Napolitano, C. Sumner, Predicting susceptibility to social bots on Twitter, in: IRI, IEEE Computer Society, 2013, pp. 6–13.
  * [42] E. Lim, T. Hoang, Retweeting: An act of viral users, susceptible users, or viral topics?, in: SDM, SIAM, 2013, pp. 569–577.
  * [43] T. Hoang, E. Lim, Tracking virality and susceptibility in social media, in: CIKM, ACM, 2016, pp. 1059–1068.
  * [44] T. J. Shen, et al., How gullible are you?: Predicting susceptibility to fake news, in: Web Science, 2019, pp. 287–288.
  * [45] M. Del Vicario, W. Quattrociocchi, A. Scala, F. Zollo, Polarization and fake news: Early warning of potential misinformation targets, ACM Transactions on the Web (TWEB) 13 (2) (2019) 1–22.
  * [46] A. Bovet, H. A. Makse, Influence of fake news in Twitter during the 2016 US presidential election, Nat. Commun. 10 (1) (2019) 7.


# helyOS: A customized off-the-shelf solution for autonomous driving
applications in delimited areas

Carlos Viol Barbosa∗ Fraunhofer Institute for Transportation and
Infrastructure Systems IVI, Zeunerstraße 38, 01069 Dresden, Germany  Nikolay
Belov  Fraunhofer Institute for Transportation and Infrastructure Systems IVI,
Zeunerstraße 38, 01069 Dresden, Germany  Felix Keppler  Fraunhofer Institute
for Transportation and Infrastructure Systems IVI, Zeunerstraße 38, 01069
Dresden, Germany  Julius Kolb  Fraunhofer Institute for Transportation and
Infrastructure Systems IVI, Zeunerstraße 38, 01069 Dresden, Germany  Gunter
Nitzsche and Sebastian Wagner<EMAIL_ADDRESS>Fraunhofer
Institute for Transportation and Infrastructure Systems IVI, Zeunerstraße 38,
01069 Dresden, Germany

###### Abstract

Microservice Architectures (MSA), known to successfully handle complex
software systems, are emerging as the new paradigm for automotive software.
The design of an MSA requires correct subdivision of the software system and
implementation of the communication between components. These tasks demand
both software expertise and domain knowledge. In this context, we developed an
MSA framework pre-tailored to meet the requirements of autonomous driving
applications in delimited areas - the helyOS framework. The framework
decomposes complex applications in predefined microservice domains and
provides a communication backbone for event messages and data. This paper
demonstrates how such a tailored MSA framework can accelerate the development
by prompting a quick start for the integration of motion planning algorithms,
device controllers, vehicles simulators and web-browser interfaces.

###### Index Terms:

Yard automation, autonomous driving, helyOS, microservices

##  I Introduction

Autonomous driving and fleet management are complex applications at the
intersection of multiple technologies. These fields have become important
within the last years and prompted many researches focused on motion planners
[1, 2], cooperative driving [3], platoon formation control [4], 3D mapping [5]
and artificial intelligence [6]. A promising sub-field of autonomous driving,
which can already lead to functional implementations today, is the automation
of vehicles (AV) in delimited areas. By delimited area we refer to areas
closed for general traffic where an automated vehicle can only meet other
automated vehicles or vehicles operated by instructed personnel. This concept
can be applied in sea harbors, airports, factories, logistics centers,
agricultural fields [7], etc. A common feature in those applications is the
existence of tasks or missions to be executed by automated vehicles.

Figure 1: Logistics yard in the AutoTruck project. Figure 2: helyOS system
overview. The helyOS Control Tower (HCT) is simultaneously used as backend for
User Apps, as microservice controller to coordinate external services, and as
a mission dispatcher to cast assignments to Agents. The helyOS Agent Core
(HAC) handles the execution of the mission assignments by the automated tool.
helyOS is an event-driven architecture using HTTP, WebSocket and AMQP
protocols.

Combining different technologies to enable automatons to perform missions is
challenging [8]. Most frequently, such projects deal with numerous partners
from different domains; decisions about how to interface and coordinate
different software and hardware systems consume a great deal of time.
Microservice architecture (MSA) has been suggested [9, 10] as a strategy to
overcome such integration hassles. MSA has been successfully applied to create
flexible, maintainable, and scalable information systems. Regarding automotive
software systems, MSA has several advantages [10]: (i) reuse of functionality,
(ii) encapsulated and independent service behavior, (iii) continuous service
integration, (iv) hierarchical in-vehicle function and software architecture,
(v) flexible service distribution to electronic control units (ECUs) or cloud
servers, (vi) modular software design is easier to understand than big opaque
monoliths.

The use of microservices, however, has the potential risks of adding too much
granularity to the application and overlaps between domain boundaries, which
hinder system maintenance. Avoiding these pitfalls demands knowledge and
experience from the developers. In this context, we developed helyOS (highly
efficient online yard Operating System) as an MSA framework designed for
autonomous driving in delimited areas. Our approach mitigates the MSA risks by
providing a framework with pre-defined data flow rules and boundaries between
common domains in AV: mission data processing, task assignment control,
mission execution, geo-map processing and user interface.

In association with rabbitMQ [11], helyOS also provides a communication
backbone for exchanging data and events. The registration of the system
entities (microservices, automatons, maps and mission descriptions) is
performed via a graphic admin interface. The system is therefore easy tailored
to a desired application and most of the development efforts can be focused on
the automatons and end-user features.

In the present paper, we firstly give some background information and an
overview of the helyOS architecture (Sec. II and III), then describe how
helyOS handles different microservices to compose and distribute the
assignments to the robots (Sec. IV). Finally, we present several scenarios of
yard automation covered by helyOS (Sec. V). Furthermore, in our conclusion
(Sec. VI), we list ongoing projects that are already making use of the helyOS
architecture.

##  II Background

The employment of modular monolithic systems is a common practice in
automotive software. Modular systems are certainly able to comply with domain-
driven-design (DDD) concepts [12], however, the final integration is strongly
conditioned by the linking or compiling of each code package into the
application deployment. In large projects, where professionals of different
technical backgrounds and organizations must collaborate, the solely use of a
modular monolithic approaches will impose restrictions on the development.

Microservices, on the other hand, allow software integration independent of
programming language or hardware. Since gateways for web applications and
cloud computation can be easily defined, MSA provides outsourcing
opportunities not present in monolithic modular systems. Indeed, helyOS
originated from the necessity of employing computationally demanding motion
planning algorithms running in the cloud for the automation of a logistics
yard (Fig. 1) within the AutoTruck project [13]. In combination with Docker
containerization, the microservice approach has improved the development
workflow thanks to a clearer separation of concerns and the interoperability
of software components independent of computer platforms. Since then, the
helyOS framework has been shaped throughout several projects to be applicable
to a broader class of automation problems in which mobile robots perform
actions assigned by a central control tower.

Figure 3: Microservices in the helyOS framework: The upper panel shows the
helyOS dashboard, where the microservices are registered. Note that each
microservice is registered under a specific software domains (see column
Domain). The bottom panel illustrates the connection of the microservices of
different domains and the HCT. The Assignment planners microservices process
the request data to create assignments. The microservices in Map servers are
used to updated the geo-map information in the helyOS database. In Storage
servers, the microservices are employed to export/backup the yard data.
Finally, the Automaton domain includes all microservices directly accessible
by the agents and independent from the helyOS control tower.

##  III helyOS architecture

An application built on helyOS architecture is composed of two main parts:
helyOS Control Tower (HCT) and helyOS Agent Core (HAC). The HCT is stationary,
whereas the HAC is installed in the tools or moving actors: robots, vehicles
or other machines. In this manuscript, these tools are referred to as
”agents”. Both the HCT and the HAC have a general-purpose architecture and
project specificities are supplied by microservices and operation modules. The
microservices are used for motion planning, cooperative driving, map updates,
etc. The operation modules are responsible for the vehicle automation tasks.

helyOS Control Tower (HCT), shown on the center panel of Fig. 2, performs the
high-level logic for yard automation. The data flow is driven by the message
broker (rabbitMQ) and database events; these events are used to orchestrate
the microservices and dispatch assignments. A request for a mission, initiated
either by the user app or an automaton, triggers calls of microservices of
different functionalities. The response from the microservices will compose
the assignment data that will be delivered to the targeted agent via rabbitMQ.

HCT consists of an internal database and backend. The database is implemented
in Postgres [14], an open source object-relational database management system.
The backend gives access to the database by employing Postgraphile [15], an
implementation of GraphQL [16] that dynamically adapts to changes in the
Postgres schema. This means that new columns and tables included in the
database are automatically available to the application frontend without extra
code in the backend. The HCT backend is implemented in NodeJs and run from a
Docker container.

The HCT backend is responsible for the agent registration, agent monitoring,
sensor logging, microservices orchestration, assignment dispatching and the
storage of the yard state data. It supplies a gateway for user interfaces for
sending commands and retrieving data via HTTP and WebSocket. The HCT also
provides a convenient graphical interface served locally for configuration
purposes; the helyOS dashboard. This means that the system
developer/administrator can use a web browser to configure the backend.

helyOS Agent Core (HAC), shown on the right panel of Fig. 2, handles the
execution of the assignments by the automated tool, which can be a vehicle, a
camera, an external sensor or any other actor on the yard. The HAC subscribes
to rabbitMQ to receive assignments and to publish its sensor data and status.
The sensor data may contain information about geo-position, battery and other
diagnosis data, which are stored in the HCT database and broadcast to
connected user interfaces. The HAC status defines the current state of the
device, and it is continuously published to enable the management and
distribution of assignments by the HCT.

Fig. 2 describes helyOS in an application context. User apps, on the left
panel, communicate with helyOS via HTTP requests using the GraphQL query
language, while helyOS broadcasts agent sensor data and status notifications
by using Web-Socket. In a typical scenario, the user app dispatches a mission
by creating a work process instance in the HCT database, this event triggers a
number of process requests. After clearing the HAC status, each process
request is dispatched to its specific microservice. helyOS organizes the
microservice calls and saves the responses in the database. Once all
microservice requests are processed, the resulting data is rendered as
assignments and delivered to the agents, shown on the right panel, by using
the rabbitMQ message broker. It is worthy to mention that the employment of
one or several microservices in a mission is preconfigured by the
administrator using the helyOS dashboard.

On the ”Agent” side, the HAC receives the assignment from the HCT and splits
it up into a set of operation requests. These requests are consumed by
dedicated operation modules; each module is responsible for the execution of a
specific task. While these task modules may vary across projects and machines,
the data flow and the process hierarchy are suggested to be standard in our
framework.

##  IV  Microservice domains

To be accessible to the HCT, a microservice must be registered and ascribed to
a domain in the helyOS dashboard, see Fig. 3. The helyOS framework defines
four domains for microservices: assignment planners, map servers, storage
servers and the automaton domain. Each domain has a specific set of
permissions for data flow, which guarantees the consistence of the yard state
and guides the overall design of the application. Developers are free to
create subdomains if required.

The assignment planners include all microservices intended to process the
requests of tasks and operations. Microservices registered in this domain have
permission to send data to a targeted agent. These services can be used to
create assignments or to simply feed context data to an agent.

Map server microservices have the permission to write map data into the helyOS
database. They are used when changes of the map objects are triggered by
missions. The map data is saved as a list of JSON objects (user-defined
schema) and is part of the yard state data. This data is relevant for motion
algorithms and it is shared with all other microservices.

The storage servers are microservices used to passively output data. Since the
yard state data is automatically appended to any request to a microservice,
this data can be forwarded to a storage service. Microservices in this domain
cannot modify the yard state or send data to agents. Finally, the
microservices in the automatons domain work in conjunction with the agents and
are independent from helyOS. The autonomous domain is suitable, for example,
for the implementation of real-time features such as data streaming between
microservices and agents.

All microservices accessible to HCT must comply with a minimalist REST API for
CRUD operations (create, read, update and delete). A microservice can either
synchronously return the results, in case of fast processing, or return a job-
identifier token (JOB-ID), in case of time-demanding processes. The latter is
the typical scenario for motion planning algorithms, which can take several
tens of seconds. In the HCT, an HTTP periodic polling mechanism is employed
for retrieving the results from the microservice by JOB-ID. This means that
the microservices will passively wait to be requested, which keeps their
implementation simple. For microservices connected via rabbitMQ, the response
ingestion is triggered by event.

Except for those in the automaton domains, the microservices are triggered by
mission requests. A mission does not necessarily have to involve agents; e.g.,
a mission request to update the yard map will only set an interaction between
a microservice and the HCT database. When a mission is being processed, the
choice of which microservices are employed must be previously encoded by the
administrator/developer as a ”mission recipe”. Mission recipes can be created
and edited in helyOS dashboard, and each new mission recipe translates to a
new feature available for the end-user (see right panel Fig. 4).

Figure 4: The ”unload goods” mission diagram (left panel) and its definition
in the helyOS dashboard (right panel). Numbers on the diagram are for:

##  V Examples of scenarios supported by helyOS

In this section, the following examples of autonomous driving applications
make use of motion algorithms from the TruckTrix® family: (i) TruckTrix®-Path
[2] – path planner for a single vehicle. (ii) TruckTrix®-Coop [3] – timestamps
trajectories calculated by TruckTrix®-Path to avoid collisions. (iii)
TruckTrix®-Agriculture [17] – path planner for efficient weed and pest control
using agricultural robots in smart farming.

###  V-A Logistics hub/yard with autonomous vehicles

Autonomous vehicles in logistics hubs are the flagship application for helyOS.
For demonstration purposes, let us consider the following use case:

(i) A truck, carrying goods, arrives at the entrance of the logistics yard.

(ii) The driver sets the truck to autonomous mode, checks it into helyOS and
leaves the vehicle.

(iii) The yard personnel use a web app to send the truck to a certain gate to
unload the goods, and then to drive to a parking slot, where the truck will be
waiting for its next mission.

The AutoTruck project (see Ref. [13] ) was a practical realization of this
scenario using the helyOS framework. Fig. 4 describes how helyOS handles this
use case. In short, the mission request is sent from the web app to the HCT
(1) creating a database event (2). This event triggers map updates from a map
service (3). The updated map data and truck geometries are then sent to
TruckTrix®-Path (4) for the calculation of a collision-free trajectory from
the yard entrance to the gate. The result is then forwarded to TruckTrix®-Coop
(5) that updates the trajectory taking into account all other vehicle paths to
avoid collision and deadlocks. Finally, helyOS dispatches the mission data to
the truck for execution (7). This sequence of events is predefined in the
helyOS dashboard under a mission recipe named ”unload goods”, as seen on the
right panel of Fig. 4. This specific sequence is triggered whenever the end-
user creates a missions of the ”unload goods” type.

Note that TruckTrix®-Path and TruckTrix®-Coop are served from the cloud. Other
kinds of missions would be easily integrated just by adding or rearranging the
microservices.

###  V-B Automation of agriculture operations

The automation of agricultural processes, known as smart farming, is an
important area of yard automation. Smart farming is a challenging concept; it
deals with missions that simultaneously employ several entities of different
natures: tractors, drones monitoring field state, weather stations or an
external database containing plant data.

helyOS simplifies the development and implementation of these systems as has
been demonstrated in the Feldschwarm [18] project, which makes use of the
TruckTrix®-Agriculture motion algorithm. In Fig. 5 one can see a corresponding
mission example for the Feldschwarm [18] project, where one mission assignment
consists of several tasks. In this project, the helyOS administrator can
decide whether the mission data should be calculated for all tasks at once
using a complex path planner, or whether the data processing will be
distributed over several microservices and the results collected at the end of
all calculations. Moreover, a single mission can derive multiple assignments
that are addressed to several tractors.

Another example of agriculture automation will be realized as a part of the
Cognitive Agriculture (COGNAC) project [19, 20]. Here, relevant information
from an external public database is collected with the help of a connector
microservice. This information is used for the creation of tractors missions
on the field. For example, one of the assignment planner microservices can use
the collected data to estimate the tractor battery consumption before
performing a mission. If necessary, it will create intermediate assignments to
drive the tractor to a charging station.

Figure 5: Mission example in the Feldschwarm project. In the blue parts of the
mission the vehicle just drives, in the yellow parts it drives and
simultaneously performs agricultural tasks, in the red parts it performs
agricultural tasks only. The parameters for each task can be calculated by one
or several microservices.

##  VI Conclusion: applications of helyOS

In this paper we presented potential use cases of helyOS and mentioned some
demonstrations of applications. The following list summarizes these
demonstrations:

  * •

In the AutoTruck project [13], a fully automated truck was controlled in a
logistics yard.

  * •

In the SAFE-20 project [21], we are applying helyOS to a multiple-vehicle
logistics yard. The TruckTrix®-Path and -Coop microservices are used to
guarantee a collision-free trajectory.

  * •

The Feldschwarm project [18] presents the work of helyOS in agriculture
operations. In this case we created common missions for multiple tractors.
These missions include both driving and agriculture operations.

  * •

The COGNAC project [19] for the automation of different field operations needs
helyOS to plan single vehicle missions that incorporates the results of
different path planners.

The helyOS architecture proves to be flexible and can be applied to many other
use cases by employing appropriated microservices to the HCT and operation
modules to the HAC. The development of user interfaces is accelerated by using
the HCT as an entry point for web applications. Database customization schemes
are promptly available to the front-end by using the GraphQL query language.
The current definitions of domains and data flows provide an efficient
development guideline for several situations in autonomous driving in
delimited areas.

## References

  * [1] S.. LaValle  “Planning Algorithms” Available at http://planning.cs.uiuc.edu/  Cambridge, U.K.: Cambridge University Press, 2006
  * [2] Nikolay Belov et al.  “TruckTrix® Path-Planning in the helyOS Operating System for Yard Automation”  TechRxiv, techrxiv.org:14518041/1, 2021
  * [3] Felix Keppler and Sebastian Wagner  “Prioritized Multi-Robot Velocity Planning for Trajectory Coordination of Arbitrarily Complex Vehicle Structures”  In _2020 IEEE/SICE International Symposium on System Integration (SII)_ , 2020, pp. 1075–1080
  * [4] Aakash Soni and Huosheng Hu  “Formation Control for a Fleet of Autonomous Ground Vehicles: A Survey”  In _Robotics_ 7.4, 2018
  * [5] You Li and Javier Ibanez-Guzman  “Lidar for Autonomous Driving: The Principles, Challenges, and Trends for Automotive Lidar and Perception Systems”  In _IEEE Signal Processing Magazine_ 37.4, 2020, pp. 50–61  DOI: 10.1109/MSP.2020.2973615
  * [6] Niko Sünderhauf et al.  “The limits and potentials of deep learning for robotics”  In _The International Journal of Robotics Research_ 37.4-5, 2018, pp. 405–420
  * [7] Angela Ribeiro et al.  “A fleet of aerial and ground robots: a scalable approach for autonomous site-specific herbicide application”, 2015, pp. 167–173
  * [8] Luis Emmi, Mariano Gonzalez-de-Soto and Pablo Gonzalez-de-Santos  “Configuring a Fleet of Ground Robots for Agricultural Tasks”  In _ROBOT2013: First Iberian Robotics Conference: Advances in Robotics, Vol. 1_ Cham: Springer International Publishing, 2014, pp. 505–517
  * [9] Ilko Hoffmann, Julien Ostermann and Kavivarman Sivarasah  “Microservice-architecture - a practical approach to developing a distributed heterogeneous-fleet-management-platform”, 2017  URL: https://publica-stage.fraunhofer.de/handle/publica/399280
  * [10] Jannik Lotz, Andreas Vogelsang, Ola Benderius and Christian Berger  “Microservice Architectures for Advanced Driver Assistance Systems: A Case-Study”  In _2019 IEEE International Conference on Software Architecture Companion (ICSA-C)_ , 2019, pp. 45–52  DOI: 10.1109/ICSA-C.2019.00016
  * [11] “RabbitMQ - documentation” Accessed: 17.05.2022, https://www.rabbitmq.org/
  * [12] Eric Evans  “Domain-Driven Design: Tackling Complexity in the Heart of Software”  Addison-Wesley, 2004
  * [13] Gunter Nitzsche, Sebastian Wagner, Nikolay Belov and Carlos Viol Barbosa  “AutoTruck and helyOS: Enabling highly efficient yard operation by automation”  In _Transport Research Arena TRA2020_ , 2020
  * [14] PostgreSQL Global Development Group  “PostgreSQL” Accessed: 17.05.2022, https://www.postgresql.org
  * [15] Benjie Gillam al.  “PostGraphile” Accessed: 17.05.2022, https://www.graphile.org/
  * [16] GraphQL Foundation  “GraphQL” Accessed: 17.05.2022, https://graphql.org/
  * [17] Nils Dunkelberg, Felix Keppler, Sebastian Wagner and Klaus Janschek  “Efficient Multi-Robot Path Planning for Autonomous Weed Control on Complex-Shaped Fields” Manuscript Submitted for Publication, 2022
  * [18] “Fraunhofer Field-Swarm project for autonomy field modules for agriculture” Accessed: 17.05.2022, http://www.feldschwarm.de/
  * [19] “Fraunhofer lighthouse project “Cognitive Agriculture” (short: “COGNAC”)”, https://www.iese.fraunhofer.de/en/innovation_trends/SmartFarming/cognitive-agriculture.html
  * [20] Julia Osten et al.  “Modular and scalable automation for field robots”  In _at - Automatisierungstechnik_ 69.4, 2021, pp. 307–315
  * [21] “SAFE-20: Sicheres autonomes Fahren in Automatisierungszonen mit mindestens 20 km/h” Accessed: 17.05.2022, https://www.safe20.de/