• No results found

EvoCreeper: Automated Black-Box Model Generation for Smart TV Applications

N/A
N/A
Protected

Academic year: 2021

Share "EvoCreeper: Automated Black-Box Model Generation for Smart TV Applications"

Copied!
12
0
0

Loading.... (view fulltext now)

Full text

(1)

http://www.diva-portal.org

Postprint

This is the accepted version of a paper published in IEEE transactions on consumer

electronics. This paper has been peer-reviewed but does not include the final publisher

proof-corrections or journal pagination.

Citation for the original published paper (version of record):

Ahmed, B S., Bures, M. (2019)

EvoCreeper: Automated Black-Box Model Generation for Smart TV Applications

IEEE transactions on consumer electronics, : 1-11

https://doi.org/10.1109/TCE.2019.2907017

Access to the published version may require subscription.

N.B. When citing this work, cite the original published paper.

Permanent link to this version:

(2)

EvoCreeper: Automated Black-Box Model

Generation for Smart TV Applications

Bestoun S. Ahmed, and Miroslav Bures

Abstract—Smart TVs are coming to dominate the television market. This accompanied by an increase in the use of the smart TV applications (apps). Due to the increasing demand, developers need modeling techniques to analyze these apps and assess their comprehensiveness, completeness, and quality. In this paper, we present an automated strategy for generating models of smart TV apps based on a black-box reverse engineering. The strategy can be used to cumulatively construct a model for a given app by exploring the user interface in a manner consistent with the use of a remote control device and extracting the runtime information. The strategy is based on capturing the states of the user interface to create a model during runtime without any knowledge of the internal structure of the app. We have implemented our strategy in a tool called EvoCreeper. The evaluation results show that our strategy can automatically generate unique states and a comprehensive model that represents the real user interactions with an app using a remote control device. The models thus generated can be used to assess the quality and completeness of smart TV apps in various contexts, such as the control of other consumer electronics in smart houses.

Index Terms—Model generation, Smart TV application, Ap-plication reverse engineering, Model-based testing.

I. INTRODUCTION

The smart TV is a modern technological device that is a hybrid of a computer and a traditional television. In addition to a conventional TV terminal, this device incorporates digital content and an operating system (OS) with an Internet con-nection. Smart TVs usually provide access to broadcast media, games, digital services, various online interactive sessions, on-demand entertainment, Internet browsing, and many other services, and these devices are expected to become even more intelligent, interactive, and useful in the future [1]. Invest-ments in related technological advanceInvest-ments by electronics companies and IT firms have recently been increasing. As a result, new terminals and applications for smart TVs have been launched. It is expected that these devices will soon become a common feature of smart homes within an Internet of Things (IoT) context [2]. This explains why the smart TV market had grown to be worth $265 billion by 2016 [3].

Like all new smart devices, a smart TV is operated by an OS that handles the necessary hardware interaction functionality and a set of applications (apps) installed on the OS to provide various services to the user. Despite the visual similarities

This study is conducted as a part of the project TACR TH02010296 “Quality Assurance for Internet of Things Technology”.

B. Ahmed is with the Department of Mathematics and Computer Science, Karlstad University, Sweden and the Department of Computer Science, Czech Technical University, Karlovo nam. 13, Prague, Czech Republic, email: bestoun@kau.se

M. Bures are with the Department of Computer Science, Faculty of Electrical Engineering, Czech Technical University, Karlovo nam. 13, Prague, Czech Republic

between smart TV apps and mobile apps, the mode of user interaction with smart TV apps is different. For mobile apps, the user interacts with the touchscreen of the device (i.e., the apps) directly by hand, whereas for smart TVs, the user inter-acts with an app through another device, namely, the remote controller. Of course, some vendors also provide touchscreen interactions to users. Additionally, some recent studies have investigated gaze-based interactive interface design for smart TV apps [4]. However, the way in which a smart TV behaves is still primarily based on a remote control device when it comes to the navigation of the user interface (UI) states. Moreover, the user of any TV (including smart TVs) is usually far away from the screen and uses the remote controller to operate apps almost all the time.

With the increasing number of smart TV apps, there is an urgent need for methods of modeling UIs based on user interactions. As in the case of the UIs of desktop or mobile apps, such a model can be used for many purposes. It can be used to assess the completeness of an app during development or to assess the quality of the app during testing. Such a model can also be used to trigger requirement specifications and analyze poorly documented legacy apps. It can also be used in the smoke testing of apps. In fact, most developers currently create mental models of UIs in order to better comprehend the software.

Creating a model of the UI via the user interaction mode is a common first step in assessing the quality and completeness of a UI-based app. While model generation is a common step, the presentation of the model depends mainly on the type of app and the user interaction mode. For a smart TV app, if the app is to be used on a touchscreen TV, the same state-of-the-art model generation methods used for mobile apps may also be useful when deployed in the smart TV operation environment. However, there is still a need to design a model generation method for gaze interaction with an app, and our method may not be useful for this purpose. Thus, in general, the model of a smart TV app does not look like the model of a mobile app due to the different mechanism of transitioning among the UI states. In a mobile app, a user can easily transition among app states by going directly from one state to another. However, for example, in a smart TV app, when the user wants to go from one state to another, he must pass through some set of states by means of the remote control device in order to reach the destination state.

It is possible to create a model using the same state-of-the-art approaches used for the reverse engineering of mobile apps. In practice, however, that model will be useless for a smart TV app. Normally, a model is created for some specific purpose. For example, we may create a model to generate several test

(3)

cases. However, it will be impossible to run those test cases on a real smart TV because there will be significant differences in the transitions among the states of the UI.

In this paper, we propose a strategy called EvoCreeper1 for the automatic creation of comprehensible UI models for smart TV apps. EvoCreeper is a generic open-source model generator for smart TV apps that can generate directed graphs by reverse engineering an app without knowledge of its internal code structure. In this strategy, the UI states and the transitions among them are examined in order to create the model. The contributions of this paper can be summarized as follows:

• We present a new comprehensive automated black-box strategy in which a smart TV app is executed on an emulator and information is extracted from the UI during runtime.

• We present an efficient exploratory algorithm that can ex-plore the elements of a UI by simulating user interactions with a smart TV app.

• We illustrate the implementation of our strategy within our EvoCreeper tool, which can create directed graph models of smart TV apps. The models thus generated can be used for various development and testing purposes.

• We have developed an algorithm to verify the correctness

of the generated models.

• We have empirically evaluated our strategy through four real case studies.

The rest of this paper is organized as follows. In Section II, we summarize the technological background of smart TV apps. This section also mentions the related challenges and the most closely related works in the literature. Section III summarizes the details of our approach for generating models of smart TV apps. Section 4 presents a proof of concept for our model generation approach. Section V reports the evaluation results, and Section VI summarizes the threats to the validity of our evaluation experiment. Finally, Section VII gives concluding remarks and discusses our future research directions.

II. BACKGROUND ANDRELATEDWORK

Smart TV apps are developed using software development kits (SDKs). Each platform has its own SDK for the de-velopment of software for TV devices. For example, the Android and Tizen SDKs can be used for smart TV app development. Recently, a few SDKs have also begun to support cross-platform development. For instance, the Mautilus [5] Smart TV SDK is an example development framework, but at present, the apps developed in this framework work on only some versions of the supported devices. The Smart TV Alliance [6] was another project for supporting cross-platform development; however, this project has been inactive for some time. In fact, the Tizen SDK is currently the SDK that is most commonly used since it provides a set of tools and frameworks for the development of smart TV apps through Tizen Studio that utilize the latest web technologies, such as JavaScript, CSS, HTML5, and W3C widget packaging, which are used by

1EvoCreeper can be downloaded here: https://bit.ly/2StQeG4

most smart TV apps. Additionally, JavaScript is used in most apps as a standard programming language for programming their behavior. The use of JavaScript endows an app with the page jumping capability. It also enables the developer to code complex expressions and calculation structures such as conditional branches and loops.

In general, a smart TV app can be of one of two types: installed or cloud-based. An installed TV app is a stand-alone app installed on a smart TV without the need for an Internet connection, while a cloud-based TV app primarily acts as an interface between the cloud and the TV and offers only shallow content (almost no additional functionality) when there is no Internet connection available.

Regardless of the visual appearance of these apps, mobile and smart TV apps are different in several significant respects. For example, the size of the screen can affect the layout of an app. Smart TVs have wider screens than small mobile devices do. The background color of a smart TV app may also be different from the corresponding color on mobile devices. The size of the icons could also be different. From the perspective user interaction, smart TV apps typically involve less text entry because of the difficulty of entering text using a remote control device. Most smart TV apps are designed to retrieve content from the Internet, whereas this is not the case for mobile apps, which can be standalone apps without Internet connection interfaces [7]. The typical smart TV app is much more straightforward than the typical mobile app, especially in its design layout. We have explained these analogies and differences in detail in our previous study [8].

The way in which the user interacts with the app constitutes an essential difference between smart TV and mobile apps. The user of a mobile app interacts directly with the app without an intermediate device, while for a smart TV app, the user interacts with the help of a remote controller. In fact, the UIs of smart TV apps are sometimes called 10-foot UIs since 10 feet (3 m) is the standard distance between the user and the TV. Developers consider this distance when developing smart TV UIs [7], [9]. Using a remote control device at this distance is not a user-friendly or responsive experience. Hence, the design of a smart TV UI must consider this significant difficulty.

Navigation in a smart TV app is achieved through a remote control device. Although some new TV devices offer the ability for the user to directly interact with the screen, the most common form of interaction with a TV device is still through a remote control device. A remote control device includes four essential navigation buttons: Right ⇒, Left ⇐, Up ⇑ and Down ⇓. Additionally, a remote control device has an OK button to choose any selected item in an app after navigating to it and a Backbutton ←- to navigate back to the previous screen. These six key buttons should work properly when using an app.

In addition to these six buttons, there are many other buttons on remote control devices that vary from one TV brand to an-other depending on the level of the functionalities they access. Some of them are related to the hardware functionalities of the TV itself. For example, the power button turns the TV on and off. There are typically also ten number buttons (from 0 to 9) for channel jumps and entering numbers in text fields if necessary.

(4)

The UI layout of any app plays a primary role in (black-box) model construction. A better understanding of this layout can lead to a more accurate model. Smart TV apps typically follow one of a limited number of layout patterns. Figure 1 shows the three main patterns followed by most smart TV apps. Of these, layout (b) is most commonly used since it presents many items on a single screen.

The remote control device places constraints on the navi-gation from one state to another because it supports only one step of navigation at a time. Hence, each move in the layout is a step. Accordingly, the transition from one state to another is not smooth as in mobile or desktop apps. To move from one state to another in a smart TV UI, the user may need to pass through several other states before reaching the desired state. For nonadjacent states, more than one step is required to move from one to the other. As a simple example, we consider the UI of a puzzle game smart TV app, as shown in Figure 2.

Clearly, there are 12 items (each regarded as a state) in the UI of the app in Figure 2. For clearer illustration, we have numbered these states. For instance, state 1 is the starting state. From here, there are only two valid moves: Right to state 2 or Downto state 3. Note that the user cannot jump directly from state 1 to state 4; we consider this to be an invalid move (red arrow). Hence, to move from state 1 to state 4, the user must press Down twice, passing through state 3.

Generally, model generation for UI-based software apps is performed frequently for many purposes during the develop-ment process, as described in the literature. Such models have been used in the literature for testing and quality assurance purposes (e.g., [10]–[14]). Regardless of the app type, as long as the model is for the UI, it must simulate the users interaction with the app in some form. Using this approach, Memon et al. [15], [16] proposed a reverse engineering technique called GUITAR for modeling the UIs of desktop apps. The technique starts from the main window and automatically captures UI widgets to construct an event-flow graph model. That model is then used to generate test cases for program testing. This technique has undergone considerable develop-ment in many subsequent research papers. Aho et al. [17] presented an extensive survey of those studies and techniques. This approach has also been used for model generation for mobile apps. For example, Joorabchi and Mesbah proposed a reverse engineering technique for generating models of mobile apps, and Amalfitano et al. [18] developed the MobiGUITAR strategy for creating models of mobile apps.

Mesbah et al. [19] also proposed a reverse engineering technique called CRAWLJAX for generating models of web apps. However, this technique relies on a dynamic crawler acting on a web app and detecting the clickable states. The model thus generated can then be used to generate test suites and analyze the app. In fact, this technique works like a gray-box technique rather than a black-gray-box technique because it also scans the code of the app.

Gimblett et al. [20] tried to define a generic approach for establishing models of interactive software to simulate user actions. It is clear from the literature that most related techniques follow the same basic principles. However, the technology, application type, and user interaction mechanism

introduce differences and thus pose challenges for model generation.

As another class of smart devices, smart TVs are currently becoming increasingly popular due to the rapid development of apps that can be installed on these devices and the ability to control other consumer electronics and connect with them in the IoT context. Some examples of the possible applications of such technology include controlling home appliances through smart TVs [21], [22], home sleep care with video analysis using a smart TV app [23], controlling smart homes from smart TVs [24], healthcare applications for smart homes [25], smart lighting control [26], and smart security camera systems [27]. With the increasing prevalence of these applications, it is becoming increasingly difficult to ignore the unique requirements of quality assessment for smart TV apps and assume that the same quality assessment procedures can be used as for mobile apps. As with other smart devices, creating a model of a smart TV app is the first step towards quality assessment.

To create a model for a smart TV app, it is necessary to detect the active states of the app and the transitions among them. While the same basic principles and concepts are followed as in previous approaches to detect new states and state transitions, as mentioned previously, there are significant differences due to the different technologies and modes of user interaction. In desktop GUIs and web apps, the combination of a keyboard and mouse is still the standard mode of user input for interacting with these apps. However, this is not the case for mobile apps because the user interacts with the touchscreen of the device by means of his or her fingers, and hence, different users will exhibit different interaction behaviors. Although this issue has led to the development of new models for mobile apps, many of these strategies still benefit, wholly or partially, from the earlier methods and practices established for the reverse engineering of desktop and web apps. Nevertheless, the differences in interaction create many obstacles and difficulties. For example, Nguyen et al. [16] used an event-flow graph (EFG) as a model of the UI of a desktop app, whereas Amalfitano et al. [18] used a state machine as a model for a mobile app due to the different natures of their interactions. For smart TV apps, neither EFG nor state machine models are applicable. In an app of this kind, each transition from one state to another is, in practice, just one step, while this is not the case in other apps. For example, in a mobile app, the distance between two icons (states) is irrelevant to the transition, whereas this is a critical issue in a smart TV app, and this difference will lead to a different model.

A significant effort to formulate such a model has been made recently by Cui et al. [28]. In their study, a hierarchical state transition matrix (HSTM) was proposed as a model for an Android smart TV app. While this model is promising, there is a need to further develop and formulate it for the complex structures of different apps. However, this type of model is useful when model optimization and reduction are needed. In fact, Cui et al. [28] used a white-box crawler approach to scan the code of an app to construct a preliminary model. This initial model contains many obsolete nodes because the

(5)

(a) (b) (c)

Fig. 1: Three main layout design patterns for smart TV apps [7]

1 2

3

4

Fig. 2: A puzzle game smart TV app to illustrate the valid and invalid move based on the remote device

crawler detects all views present in the UI code. Even when a view is not an active state in the UI, the crawler algorithm considers it as a node in the model. For example, a piece of text in an Android app is a view; however, in practice, it is not a clickable state. When this approach is adopted, there is a possibility of combinatorial explosion in the resulting model. Therefore, the authors proposed an algorithm for reducing and optimizing the model by distinguishing obsolete and active nodes. However, this could be a time-consuming task and may lead to deviation from the primary research focus while also adding overhead to the model construction process.

In contrast to the contribution of Cui et al. [28], our approach does not scan the app code. Our EvoCreeper strategy instead explores the UI of a smart TV app by examining each element and observing its reaction. When an element is clickable, the strategy will consider it as a state in the model. Section III presents the details of our strategy.

III. OURMODELCONSTRUCTIONSTRATEGY

In this section, we present our new strategy for automat-ically generating a model of a smart TV app. Our strategy has been implemented with the Tizen SDK, which includes a smart TV emulator; however, the proposed framework is a general one, and it can be applied in combination with other possible emerging SDKs in the future. The strategy depends on the black-box approach to model generation and does not require knowledge of the internal structure of the app code.

The smart TV app is modeled as a directed graph G = (N, E), where N is a set of nodes, N 6= ∅, and E is a set of edges. E is a subset of N × N possibilities. In the model, we define one starting node, ns∈ N . The set Ne⊆ N

contains the end nodes of the graph, where Ne 6= ∅. Each

node corresponds to a UI element (state) of the app. Each edge corresponds to a possible transition between the states focused on by the cursor. These transitions can be triggered

by individual keys on the remote control device. In this study, e ∈ {Dup, Ddown, Dlef t, Dright, DOK} for each e ∈ E.

If the model allows parallel edges, formally being a directed multigraph G0 = (N, E, ns, Ne, s, t), such that N 6= ∅ is a

finite set of nodes, E is a set of edges, s : E → N assigns each edge to its source node and t : E → N assigns each edge to its target node. The node ns ∈ N is the initial/start

node of the graph G and Ne= {ne| ne∈ N has no outgoing

edge } defines nonempty set of end nodes of graph G0. In this study, approach we decided to base the app model on G, which practically does not allow parallel edges, to have the proposal in accord with the current path-based testing approaches, for instance, [29]–[31].

To detect all the necessary states in the app UI for presen-tation in the model, we have developed an algorithm called EvoCreeper. At present, the concept of state detectors for the UIs of mobile, desktop, and web apps is rather famil-iar. However, such detectors differ for each app category. As mentioned earlier, algorithms called crawlers have been developed that can crawl a UI and detect states. Because we are following a new approach to state detection, we do not call our algorithm a crawler. Rather, from a linguistic point of view, the name ”creeper” is perfectly suited to what the algorithm does, whereas the word ”crawler” carries a different meaning due to its use in web and search engine technologies. Algorithm 1 shows the steps of the EvoCreeper algorithm.

One of the problems that EvoCreeper encounters when exploring a UI is establishing the position of the naviga-tional cursor. Technically speaking, from the perspective of a JavaScript developer, this problem arises when a focus point is not set in the app. For several apps on the store, no focus point has been set by the developers. As a result, when such an app runs on the emulator, there are no preselected states in its UI. Instead, the user must use the remote control device to choose a state. Hence, a starting point for the navigator

(6)

Input: v1is the starting or user selected states

Output: List of states to be modeled Lv

Iteration It ←1

Maximum Iteration Itmax← max

while ((It < Itmax) k (newV iew 6= null)) do

Use v1 as a start point

From v1 generate five possible directions DU p ,

DDown , DLef t , DRight, and DOK

foreach direction D do Navigate a step

Monitor emulator log for reaction if newState = Active then

if the state is not duplicate then Add newState to Lv

else

Back to the parental state end

Record the in/out transitions end

end It + + end

end

Algorithm 1: EvoCreeper Steps

is missing. This problem is common with cloud-based smart TV apps because the UI changes in real time with the cloud content. Therefore, our strategy starts by checking the initial cursor condition. If a focus point is not set in the app, the strategy starts by asking the user to choose at least one state in the UI from which to start. From this state, the creeper will start creeping the UI evolutionarily and incrementally. If a focus point is already set, the strategy will proceed without asking the user for input.

The algorithm has five directions DU p, DDown, DLef t,

DRight, and DOK in which it can move from each state. When

a new state is discovered in each direction (i.e., newState = Active), the algorithm will add it to the list of states to be modeled, Lv. The algorithm will continue until no new states

are discovered. At this stage, the algorithm will choose to move back to the parent state. As an alternative stopping criterion, the algorithm will perform some preset number of iterations to avoid the possibility of an endless discovery loop that is encountered in some special cases of cloud-based apps. In the post-processing phase, states Lv are converted to

nodes of the app model N . In this phase of the strategy, we used the direct mapping between the states and N , practically speaking, for each l ∈ Lv, an original n ∈ N is created.

Figure 3 shows the directed graph model constructed by our strategy for the CineMup smart TV app. To illustrate the detail of the generated model, Figure 3 also shows a snapshot of three nodes in the graph. Here, each node has a unique identifier number preceded by the actual name of the state on the smart TV app. The model also records the actual transitions that can be performed from a state to another. Each transition name is preceded by the name of the state that is originated from.

The app model G can be subsequently used for two principal

purposes: (1) model checking, where a potential design sub-optimalities can be detected, and (2) automated path-based test case generation, being the major expected use case. Here, the goal is to generate a set of test cases T that satisfy a defined test coverage criteria and counted optimal by a test set optimality criteria.

Respecting the standard approaches used in the field, a test case t ∈ T is a sequence of nodes n1, n2, .., nn, with

a sequence of edges e1, e2, .., en−1, where ei = (ni,ni+1),

ei∈ E. The test case t starts with the start node ns(n1= ns)

and ends with a G end node (nn ∈ Ne) [29], [30]. Test

coverage criteria determine the strengths of the T in the sense of number of alternative paths that are toured in the app during the tests and vary from low test coverage levels (node coverage or edge coverage) to very intense levels as all paths coverage [29]. For the test set optimality criteria, several options can be employed, for instance, the number of test cases, |T |,

average length of the test cases, |t| = 1 |T |

|T |

X

i=1

|ti|, ti ∈ T ,

or total length of a test set l =

|T |

X

i=1

|ti|, ti ∈ T [30], [31].

Such automated generation of test cases, which is subject of other studies, for instance, [30]–[34] open variety of options for construction of automated test frameworks for Smart TV apps and document the applicability potential of our strategy. In the following section, we present an example as a graphical proof of concept for Algorithm 1.

IV. PROOF OFCONCEPT

In this section, we present a proof of concept for the EvoCreeper concept introduced in Algorithm 1. Here, we consider a cloud-based app as a pilot example because this is the most difficult scenario. As shown in Figure 4, each active window has 12 states, and when the user shifts down or to the right, new states may appear. We consider three iterations of the algorithm. We assume that the user will choose v1 as

the starting state. In fact, v1 is the worst-case choice among

the states; we observe that choosing the state in the middle of the window instead may lead to fewer iterations and better recognition of the states. From v1, the algorithm will consider

four main directions: DU p, DDown, DLef t, and DRight. For

this proof of concept, we do not consider DOK because we are

interested in the exploration of the current window, whereas DOK will probably take the algorithm to another window.

In each direction, the creeper algorithm will check for new states, which are most likely new elements in the UI. Considering the first iteration and starting from v1, the up and

left directions, Du and Dl, do not lead to new states, while

the right direction, Dr, leads to v2, and the down direction,

Dd, leads to v5. In the next iteration, the algorithm will start

from the newly discovered states (here, v2 and v5). From v2,

the new states v3 and v6 are identified by the algorithm. In

addition, v1 is discovered in the Dl direction; however, this

state is ignored by the algorithm since it is already included in the state list. From v5, the states v1, v9, and v6 are discovered

in the three directions Du, Dd, and Dr, respectively; however,

(7)

12/28/2018 WHOLE GRAPH.svg file:///Users/bestoun/Desktop/WHOLE%20GRAPH.svg 1/1 START UPCOMING_0 enter TOPRATED_2 UPCOMING_0_right NOWPLAYING_1 UPCOMING_0_down RalphBreakstheInternet_606 UPCOMING_0_enter POPULARTV_3 NOWPLAYING_1_right NOWPLAYING_1_up Venom_486 NOWPLAYING_1_enter TOPRATED_2_left POPULAR_5 TOPRATED_2_right TOPRATED_2_down DilwaleDulhaniaLeJayenge_246 TOPRATED_2_enter POPULARTV_3_left TOPTV_4 POPULARTV_3_right POPULARTV_3_up TheFlash_366 POPULARTV_3_enter TOPTV_4_left TOPTV_4_up IAmNotanAnimal_6 TOPTV_4_enter POPULAR_5_left POPULAR_5_down Venom_126 POPULAR_5_enter BandofBrothers_7 IAmNotanAnimal_6_left RickandMorty_8 IAmNotanAnimal_6_right PlayTrailer_121 IAmNotanAnimal_6_enter IAmNotanAnimal_6_back DeathNote_9 BandofBrothers_7_left BandofBrothers_7_right PlayTrailer_116 BandofBrothers_7_enter BandofBrothers_7_back RickandMorty_8_left PlanetEarth_25 RickandMorty_8_right PlayTrailer_26 RickandMorty_8_enter RickandMorty_8_back TheSopranos_10 DeathNote_9_left DeathNote_9_right PlayTrailer_111 DeathNote_9_enter DeathNote_9_back PeepShow_11 TheSopranos_10_left TheSopranos_10_right PlayTrailer_106 TheSopranos_10_enter TheSopranos_10_back StarTrekTheNextGeneration_12 PeepShow_11_left PeepShow_11_right PlayTrailer_101 PeepShow_11_enter PeepShow_11_back Firefly_13 StarTrekTheNextGeneration_12_left StarTrekTheNextGeneration_12_right PlayTrailer_96 StarTrekTheNextGeneration_12_enter StarTrekTheNextGeneration_12_back PeakyBlinders_14 Firefly_13_left Firefly_13_right PlayTrailer_91 Firefly_13_enter Firefly_13_back AvatarTheLastAirbender_15 PeakyBlinders_14_left PeakyBlinders_14_right PlayTrailer_86 PeakyBlinders_14_enter PeakyBlinders_14_back OvertheGardenWall_16 AvatarTheLastAirbender_15_left AvatarTheLastAirbender_15_right PlayTrailer_81 AvatarTheLastAirbender_15_enter AvatarTheLastAirbender_15_back Fargo_17 OvertheGardenWall_16_left OvertheGardenWall_16_right PlayTrailer_76 OvertheGardenWall_16_enter OvertheGardenWall_16_back FullmetalAlchemistBrotherhood_18 Fargo_17_left Fargo_17_right PlayTrailer_71 Fargo_17_enter Fargo_17_back Sherlock_19 FullmetalAlchemistBrotherhood_18_left FullmetalAlchemistBrotherhood_18_right PlayTrailer_66 FullmetalAlchemistBrotherhood_18_enter FullmetalAlchemistBrotherhood_18_back TheWire_20 Sherlock_19_left Sherlock_19_right PlayTrailer_61 Sherlock_19_enter Sherlock_19_back CowboyBebop_21 TheWire_20_left TheWire_20_right PlayTrailer_56 TheWire_20_enter TheWire_20_back BreakingBad_22 CowboyBebop_21_left CowboyBebop_21_right PlayTrailer_51 CowboyBebop_21_enter CowboyBebop_21_back PlanetEarthII_23 BreakingBad_22_left BreakingBad_22_right PlayTrailer_46 BreakingBad_22_enter BreakingBad_22_back StrangerThings_24 PlanetEarthII_23_left PlanetEarthII_23_right PlayTrailer_41 PlanetEarthII_23_enter PlanetEarthII_23_back StrangerThings_24_left StrangerThings_24_right PlayTrailer_36 StrangerThings_24_enter StrangerThings_24_back PlanetEarth_25_left PlanetEarth_25_right PlayTrailer_31 PlanetEarth_25_enter PlanetEarth_25_back ShowImages_27 PlayTrailer_26_right end_30 PlayTrailer_26_enter PlayTrailer_26_back ShowImages_27_left Close_28 ShowImages_27_right end_29 ShowImages_27_enter ShowImages_27_back Close_28_left Close_28_back ShowImages_32 PlayTrailer_31_right end_35 PlayTrailer_31_enter PlayTrailer_31_back ShowImages_32_left Close_33 ShowImages_32_right end_34 ShowImages_32_enter ShowImages_32_back Close_33_left Close_33_back ShowImages_37 PlayTrailer_36_right end_40 PlayTrailer_36_enter PlayTrailer_36_back ShowImages_37_left Close_38 ShowImages_37_right end_39 ShowImages_37_enter ShowImages_37_back Close_38_left Close_38_back ShowImages_42 PlayTrailer_41_right end_45 PlayTrailer_41_enter PlayTrailer_41_back ShowImages_42_left Close_43 ShowImages_42_right end_44 ShowImages_42_enter ShowImages_42_back Close_43_left Close_43_back ShowImages_47 PlayTrailer_46_right end_50 PlayTrailer_46_enter PlayTrailer_46_back ShowImages_47_left Close_48 ShowImages_47_right end_49 ShowImages_47_enter ShowImages_47_back Close_48_left Close_48_back ShowImages_52 PlayTrailer_51_right end_55 PlayTrailer_51_enter PlayTrailer_51_back ShowImages_52_left Close_53 ShowImages_52_right end_54 ShowImages_52_enter ShowImages_52_back Close_53_left Close_53_back ShowImages_57 PlayTrailer_56_right end_60 PlayTrailer_56_enter PlayTrailer_56_back ShowImages_57_left Close_58 ShowImages_57_right end_59 ShowImages_57_enter ShowImages_57_back Close_58_left Close_58_back ShowImages_62 PlayTrailer_61_right end_65 PlayTrailer_61_enter PlayTrailer_61_back ShowImages_62_left Close_63 ShowImages_62_right end_64 ShowImages_62_enter ShowImages_62_back Close_63_left Close_63_back ShowImages_67 PlayTrailer_66_right end_70 PlayTrailer_66_enter PlayTrailer_66_back ShowImages_67_left Close_68 ShowImages_67_right end_69 ShowImages_67_enter ShowImages_67_back Close_68_left Close_68_back ShowImages_72 PlayTrailer_71_right end_75 PlayTrailer_71_enter PlayTrailer_71_back ShowImages_72_left Close_73 ShowImages_72_right end_74 ShowImages_72_enter ShowImages_72_back Close_73_left Close_73_back ShowImages_77 PlayTrailer_76_right end_80 PlayTrailer_76_enter PlayTrailer_76_back ShowImages_77_left Close_78 ShowImages_77_right end_79 ShowImages_77_enter ShowImages_77_back Close_78_left Close_78_back ShowImages_82 PlayTrailer_81_right end_85 PlayTrailer_81_enter PlayTrailer_81_back ShowImages_82_left Close_83 ShowImages_82_right end_84 ShowImages_82_enter ShowImages_82_back Close_83_left Close_83_back ShowImages_87 PlayTrailer_86_right end_90 PlayTrailer_86_enter PlayTrailer_86_back ShowImages_87_left Close_88 ShowImages_87_right end_89 ShowImages_87_enter ShowImages_87_back Close_88_left Close_88_back ShowImages_92 PlayTrailer_91_right end_95 PlayTrailer_91_enter PlayTrailer_91_back ShowImages_92_left Close_93 ShowImages_92_right end_94 ShowImages_92_enter ShowImages_92_back Close_93_left Close_93_back ShowImages_97 PlayTrailer_96_right end_100 PlayTrailer_96_enter PlayTrailer_96_back ShowImages_97_left Close_98 ShowImages_97_right end_99 ShowImages_97_enter ShowImages_97_back Close_98_left Close_98_back ShowImages_102 PlayTrailer_101_right end_105 PlayTrailer_101_enter PlayTrailer_101_back ShowImages_102_left Close_103 ShowImages_102_right end_104 ShowImages_102_enter ShowImages_102_back Close_103_left Close_103_back ShowImages_107 PlayTrailer_106_right end_110 PlayTrailer_106_enter PlayTrailer_106_back ShowImages_107_left Close_108 ShowImages_107_right end_109 ShowImages_107_enter ShowImages_107_back Close_108_left Close_108_back ShowImages_112 PlayTrailer_111_right end_115 PlayTrailer_111_enter PlayTrailer_111_back ShowImages_112_left Close_113 ShowImages_112_right end_114 ShowImages_112_enter ShowImages_112_back Close_113_left Close_113_back ShowImages_117 PlayTrailer_116_right end_120 PlayTrailer_116_enter PlayTrailer_116_back ShowImages_117_left Close_118 ShowImages_117_right end_119 ShowImages_117_enter ShowImages_117_back Close_118_left Close_118_back ShowImages_122 PlayTrailer_121_right end_125 PlayTrailer_121_enter PlayTrailer_121_back ShowImages_122_left Close_123 ShowImages_122_right end_124 ShowImages_122_enter ShowImages_122_back Close_123_left Close_123_back TheMeg_127 Venom_126_left KungFuLeague_128 Venom_126_right PlayTrailer_241 Venom_126_enter Venom_126_back NightSchool_129 TheMeg_127_left TheMeg_127_right PlayTrailer_236 TheMeg_127_enter TheMeg_127_back KungFuLeague_128_left RobinHood_145 KungFuLeague_128_right PlayTrailer_146 KungFuLeague_128_enter KungFuLeague_128_back TheHousewithaClockinItsWalls_130 NightSchool_129_left NightSchool_129_right PlayTrailer_231 NightSchool_129_enter NightSchool_129_back AntManandtheWasp_131 TheHousewithaClockinItsWalls_130_left TheHousewithaClockinItsWalls_130_right PlayTrailer_226 TheHousewithaClockinItsWalls_130_enter TheHousewithaClockinItsWalls_130_back TheEqualizer2_132 AntManandtheWasp_131_left AntManandtheWasp_131_right PlayTrailer_221 AntManandtheWasp_131_enter AntManandtheWasp_131_back Peppermint_133 TheEqualizer2_132_left TheEqualizer2_132_right PlayTrailer_216 TheEqualizer2_132_enter TheEqualizer2_132_back TheGrinch_134 Peppermint_133_left Peppermint_133_right PlayTrailer_211 Peppermint_133_enter Peppermint_133_back TheNun_135 TheGrinch_134_left TheGrinch_134_right PlayTrailer_206 TheGrinch_134_enter TheGrinch_134_back Halloween_136 TheNun_135_left TheNun_135_right PlayTrailer_201 TheNun_135_enter TheNun_135_back RalphBreakstheInternet_137 Halloween_136_left Halloween_136_right PlayTrailer_196 Halloween_136_enter Halloween_136_back AvengersInfinityWar_138 RalphBreakstheInternet_137_left RalphBreakstheInternet_137_right PlayTrailer_191 RalphBreakstheInternet_137_enter RalphBreakstheInternet_137_back MissionImpossibleFallout_139 AvengersInfinityWar_138_left AvengersInfinityWar_138_right PlayTrailer_186 AvengersInfinityWar_138_enter AvengersInfinityWar_138_back ThePredator_140 MissionImpossibleFallout_139_left MissionImpossibleFallout_139_right PlayTrailer_181 MissionImpossibleFallout_139_enter MissionImpossibleFallout_139_back BohemianRhapsody_141 ThePredator_140_left ThePredator_140_right PlayTrailer_176 ThePredator_140_enter ThePredator_140_back Smallfoot_142 BohemianRhapsody_141_left BohemianRhapsody_141_right PlayTrailer_171 BohemianRhapsody_141_enter BohemianRhapsody_141_back TheSevenDeadlySinsPrisonersoftheSky_143 Smallfoot_142_left Smallfoot_142_right PlayTrailer_166 Smallfoot_142_enter Smallfoot_142_back FantasticBeastsTheCrimesofGrindelwald_144 TheSevenDeadlySinsPrisonersoftheSky_143_left TheSevenDeadlySinsPrisonersoftheSky_143_right PlayTrailer_161 TheSevenDeadlySinsPrisonersoftheSky_143_enter TheSevenDeadlySinsPrisonersoftheSky_143_back FantasticBeastsTheCrimesofGrindelwald_144_left FantasticBeastsTheCrimesofGrindelwald_144_right PlayTrailer_156 FantasticBeastsTheCrimesofGrindelwald_144_enter FantasticBeastsTheCrimesofGrindelwald_144_back RobinHood_145_left RobinHood_145_right PlayTrailer_151 RobinHood_145_enter RobinHood_145_back ShowImages_147 PlayTrailer_146_right end_150 PlayTrailer_146_enter PlayTrailer_146_back ShowImages_147_left Close_148 ShowImages_147_right end_149 ShowImages_147_enter ShowImages_147_back Close_148_left Close_148_backShowImages_152 PlayTrailer_151_right end_155 PlayTrailer_151_enter PlayTrailer_151_back ShowImages_152_left Close_153 ShowImages_152_right end_154 ShowImages_152_enter ShowImages_152_back Close_153_left Close_153_back ShowImages_157 PlayTrailer_156_right end_160 PlayTrailer_156_enter PlayTrailer_156_back ShowImages_157_left Close_158 ShowImages_157_right end_159 ShowImages_157_enter ShowImages_157_back Close_158_left Close_158_back ShowImages_162 PlayTrailer_161_right end_165 PlayTrailer_161_enter PlayTrailer_161_back ShowImages_162_left Close_163 ShowImages_162_right end_164 ShowImages_162_enter ShowImages_162_back Close_163_left Close_163_back ShowImages_167 PlayTrailer_166_right end_170 PlayTrailer_166_enter PlayTrailer_166_back ShowImages_167_left Close_168 ShowImages_167_right end_169 ShowImages_167_enter ShowImages_167_back Close_168_left Close_168_back ShowImages_172 PlayTrailer_171_right end_175 PlayTrailer_171_enter PlayTrailer_171_back ShowImages_172_left Close_173 ShowImages_172_right end_174 ShowImages_172_enter ShowImages_172_back Close_173_left Close_173_back ShowImages_177 PlayTrailer_176_right end_180 PlayTrailer_176_enter PlayTrailer_176_back ShowImages_177_left Close_178 ShowImages_177_right end_179 ShowImages_177_enter ShowImages_177_back Close_178_left Close_178_back ShowImages_182 PlayTrailer_181_right end_185 PlayTrailer_181_enter PlayTrailer_181_back ShowImages_182_left Close_183 ShowImages_182_right end_184 ShowImages_182_enter ShowImages_182_back Close_183_left Close_183_back ShowImages_187 PlayTrailer_186_right end_190 PlayTrailer_186_enter PlayTrailer_186_back ShowImages_187_left Close_188 ShowImages_187_right end_189 ShowImages_187_enter ShowImages_187_back Close_188_left Close_188_back ShowImages_192 PlayTrailer_191_right end_195 PlayTrailer_191_enter PlayTrailer_191_back ShowImages_192_left Close_193 ShowImages_192_right end_194 ShowImages_192_enter ShowImages_192_back Close_193_left Close_193_back ShowImages_197 PlayTrailer_196_right end_200 PlayTrailer_196_enter PlayTrailer_196_back ShowImages_197_left Close_198 ShowImages_197_right end_199 ShowImages_197_enter ShowImages_197_back Close_198_left Close_198_back ShowImages_202 PlayTrailer_201_right end_205 PlayTrailer_201_enter PlayTrailer_201_back ShowImages_202_left Close_203 ShowImages_202_right end_204 ShowImages_202_enter ShowImages_202_back Close_203_left Close_203_back ShowImages_207 PlayTrailer_206_right end_210 PlayTrailer_206_enter PlayTrailer_206_back ShowImages_207_left Close_208 ShowImages_207_right end_209 ShowImages_207_enter ShowImages_207_back Close_208_left Close_208_back ShowImages_212 PlayTrailer_211_right end_215 PlayTrailer_211_enter PlayTrailer_211_back ShowImages_212_left Close_213 ShowImages_212_right end_214 ShowImages_212_enter ShowImages_212_back Close_213_left Close_213_back ShowImages_217 PlayTrailer_216_right end_220 PlayTrailer_216_enter PlayTrailer_216_back ShowImages_217_left Close_218 ShowImages_217_right end_219 ShowImages_217_enter ShowImages_217_back Close_218_left Close_218_back ShowImages_222 PlayTrailer_221_right end_225 PlayTrailer_221_enter PlayTrailer_221_back ShowImages_222_left Close_223 ShowImages_222_right end_224 ShowImages_222_enter ShowImages_222_back Close_223_left Close_223_back ShowImages_227 PlayTrailer_226_right end_230 PlayTrailer_226_enter PlayTrailer_226_back ShowImages_227_left Close_228 ShowImages_227_right end_229 ShowImages_227_enter ShowImages_227_back Close_228_left Close_228_back ShowImages_232 PlayTrailer_231_right end_235 PlayTrailer_231_enter PlayTrailer_231_back ShowImages_232_left Close_233 ShowImages_232_right end_234 ShowImages_232_enter ShowImages_232_back Close_233_left Close_233_back ShowImages_237 PlayTrailer_236_right end_240 PlayTrailer_236_enter PlayTrailer_236_back ShowImages_237_left Close_238 ShowImages_237_right end_239 ShowImages_237_enter ShowImages_237_back Close_238_left Close_238_back ShowImages_242 PlayTrailer_241_right end_245 PlayTrailer_241_enter PlayTrailer_241_back ShowImages_242_left Close_243 ShowImages_242_right end_244 ShowImages_242_enter ShowImages_242_back Close_243_left Close_243_back GraveoftheFireflies_247 DilwaleDulhaniaLeJayenge_246_left TheShawshankRedemption_248 DilwaleDulhaniaLeJayenge_246_right PlayTrailer_361 DilwaleDulhaniaLeJayenge_246_enter DilwaleDulhaniaLeJayenge_246_back OneFlewOvertheCuckoosNest_249 GraveoftheFireflies_247_left GraveoftheFireflies_247_right PlayTrailer_356 GraveoftheFireflies_247_enter GraveoftheFireflies_247_back TheShawshankRedemption_248_left TheGodfather_265 TheShawshankRedemption_248_right PlayTrailer_266 TheShawshankRedemption_248_enter TheShawshankRedemption_248_back GoodFellas_250 OneFlewOvertheCuckoosNest_249_left OneFlewOvertheCuckoosNest_249_right PlayTrailer_351 OneFlewOvertheCuckoosNest_249_enter OneFlewOvertheCuckoosNest_249_back SevenSamurai_251 GoodFellas_250_left GoodFellas_250_right PlayTrailer_346 GoodFellas_250_enter GoodFellas_250_back CinemaParadiso_252 SevenSamurai_251_left SevenSamurai_251_right PlayTrailer_341 SevenSamurai_251_enter SevenSamurai_251_back ForrestGump_253 CinemaParadiso_252_left CinemaParadiso_252_right PlayTrailer_336 CinemaParadiso_252_enter CinemaParadiso_252_back OnceUponaTimeinAmerica_254 ForrestGump_253_left ForrestGump_253_right PlayTrailer_331 ForrestGump_253_enter ForrestGump_253_back FightClub_255 OnceUponaTimeinAmerica_254_left OnceUponaTimeinAmerica_254_right PlayTrailer_326 OnceUponaTimeinAmerica_254_enter OnceUponaTimeinAmerica_254_back TheDarkKnight_256 FightClub_255_left FightClub_255_right PlayTrailer_321 FightClub_255_enter FightClub_255_back Psycho_257 TheDarkKnight_256_left TheDarkKnight_256_right PlayTrailer_316 TheDarkKnight_256_enter TheDarkKnight_256_back PulpFiction_258 Psycho_257_left Psycho_257_right PlayTrailer_311 Psycho_257_enter Psycho_257_back TheGreenMile_259 PulpFiction_258_left PulpFiction_258_right PlayTrailer_306 PulpFiction_258_enter PulpFiction_258_back LifeIsBeautiful_260 TheGreenMile_259_left TheGreenMile_259_right PlayTrailer_301 TheGreenMile_259_enter TheGreenMile_259_back SpiritedAway_261 LifeIsBeautiful_260_left LifeIsBeautiful_260_right PlayTrailer_296 LifeIsBeautiful_260_enter LifeIsBeautiful_260_back TheGodfatherPartII_262 SpiritedAway_261_left SpiritedAway_261_right PlayTrailer_291 SpiritedAway_261_enter SpiritedAway_261_back SchindlersList_263 TheGodfatherPartII_262_left TheGodfatherPartII_262_right PlayTrailer_286 TheGodfatherPartII_262_enter TheGodfatherPartII_262_back YourName_264 SchindlersList_263_left SchindlersList_263_right PlayTrailer_281 SchindlersList_263_enter SchindlersList_263_back YourName_264_left YourName_264_right PlayTrailer_276 YourName_264_enter YourName_264_back TheGodfather_265_left TheGodfather_265_right PlayTrailer_271 TheGodfather_265_enter TheGodfather_265_back ShowImages_267 PlayTrailer_266_right end_270 PlayTrailer_266_enter PlayTrailer_266_back ShowImages_267_left Close_268 ShowImages_267_right end_269 ShowImages_267_enter ShowImages_267_back Close_268_left Close_268_back ShowImages_272 PlayTrailer_271_right end_275 PlayTrailer_271_enter PlayTrailer_271_back ShowImages_272_left Close_273 ShowImages_272_right end_274 ShowImages_272_enter ShowImages_272_back Close_273_left Close_273_back ShowImages_277 PlayTrailer_276_right end_280 PlayTrailer_276_enter PlayTrailer_276_back ShowImages_277_left Close_278 ShowImages_277_right end_279 ShowImages_277_enter ShowImages_277_back Close_278_left Close_278_back ShowImages_282 PlayTrailer_281_right end_285 PlayTrailer_281_enter PlayTrailer_281_back ShowImages_282_left Close_283 ShowImages_282_right end_284 ShowImages_282_enter ShowImages_282_back Close_283_left Close_283_back ShowImages_287 PlayTrailer_286_right end_290 PlayTrailer_286_enter PlayTrailer_286_back ShowImages_287_left Close_288 ShowImages_287_right end_289 ShowImages_287_enter ShowImages_287_back Close_288_left Close_288_back ShowImages_292 PlayTrailer_291_right end_295 PlayTrailer_291_enter PlayTrailer_291_back ShowImages_292_left Close_293 ShowImages_292_right end_294 ShowImages_292_enter ShowImages_292_back Close_293_left Close_293_back ShowImages_297 PlayTrailer_296_right end_300 PlayTrailer_296_enter PlayTrailer_296_back ShowImages_297_left Close_298 ShowImages_297_right end_299 ShowImages_297_enter ShowImages_297_back Close_298_left Close_298_back ShowImages_302 PlayTrailer_301_right end_305 PlayTrailer_301_enter PlayTrailer_301_back ShowImages_302_left Close_303 ShowImages_302_right end_304 ShowImages_302_enter ShowImages_302_back Close_303_left Close_303_back ShowImages_307 PlayTrailer_306_right end_310 PlayTrailer_306_enter PlayTrailer_306_back ShowImages_307_left Close_308 ShowImages_307_right end_309 ShowImages_307_enter ShowImages_307_back Close_308_left Close_308_back ShowImages_312 PlayTrailer_311_right end_315 PlayTrailer_311_enter PlayTrailer_311_back ShowImages_312_left Close_313 ShowImages_312_right end_314 ShowImages_312_enter ShowImages_312_back Close_313_left Close_313_back ShowImages_317 PlayTrailer_316_right end_320 PlayTrailer_316_enter PlayTrailer_316_back ShowImages_317_left Close_318 ShowImages_317_right end_319 ShowImages_317_enter ShowImages_317_back Close_318_left Close_318_back ShowImages_322 PlayTrailer_321_right end_325 PlayTrailer_321_enter PlayTrailer_321_back ShowImages_322_left Close_323 ShowImages_322_right end_324 ShowImages_322_enter ShowImages_322_back Close_323_left Close_323_back ShowImages_327 PlayTrailer_326_right end_330 PlayTrailer_326_enter PlayTrailer_326_back ShowImages_327_left Close_328 ShowImages_327_right end_329 ShowImages_327_enter ShowImages_327_back Close_328_left Close_328_back ShowImages_332 PlayTrailer_331_right end_335 PlayTrailer_331_enter PlayTrailer_331_back ShowImages_332_left Close_333 ShowImages_332_right end_334 ShowImages_332_enter ShowImages_332_back Close_333_left Close_333_back ShowImages_337 PlayTrailer_336_right end_340 PlayTrailer_336_enter PlayTrailer_336_back ShowImages_337_left Close_338 ShowImages_337_right end_339 ShowImages_337_enter ShowImages_337_back Close_338_left Close_338_back ShowImages_342 PlayTrailer_341_right end_345 PlayTrailer_341_enter PlayTrailer_341_back ShowImages_342_left Close_343 ShowImages_342_right end_344 ShowImages_342_enter ShowImages_342_back Close_343_left Close_343_back ShowImages_347 PlayTrailer_346_right end_350 PlayTrailer_346_enter PlayTrailer_346_back ShowImages_347_left Close_348 ShowImages_347_right end_349 ShowImages_347_enter ShowImages_347_back Close_348_left Close_348_back ShowImages_352 PlayTrailer_351_right end_355 PlayTrailer_351_enter PlayTrailer_351_back ShowImages_352_left Close_353 ShowImages_352_right end_354 ShowImages_352_enter ShowImages_352_back Close_353_left Close_353_back ShowImages_357 PlayTrailer_356_right end_360 PlayTrailer_356_enter PlayTrailer_356_back ShowImages_357_left Close_358 ShowImages_357_right end_359 ShowImages_357_enter ShowImages_357_back Close_358_left Close_358_back ShowImages_362 PlayTrailer_361_right end_365 PlayTrailer_361_enter PlayTrailer_361_back ShowImages_362_left Close_363 ShowImages_362_right end_364 ShowImages_362_enter ShowImages_362_back Close_363_left Close_363_back BlackLightning_367 TheFlash_366_left TheRealBrosofSimiValley_368 TheFlash_366_right PlayTrailer_481 TheFlash_366_enter TheFlash_366_back Riverdale_369 BlackLightning_367_left BlackLightning_367_right PlayTrailer_476 BlackLightning_367_enter BlackLightning_367_back TheRealBrosofSimiValley_368_left TheBigBangTheory_385 TheRealBrosofSimiValley_368_right PlayTrailer_386 TheRealBrosofSimiValley_368_enter TheRealBrosofSimiValley_368_back DCsLegendsofTomorrow_370 Riverdale_369_left Riverdale_369_right PlayTrailer_471 Riverdale_369_enter Riverdale_369_back GreysAnatomy_371 DCsLegendsofTomorrow_370_left DCsLegendsofTomorrow_370_right PlayTrailer_466 DCsLegendsofTomorrow_370_enter DCsLegendsofTomorrow_370_back Supergirl_372 GreysAnatomy_371_left GreysAnatomy_371_right PlayTrailer_461 GreysAnatomy_371_enter GreysAnatomy_371_back TheWalkingDead_373 Supergirl_372_left Supergirl_372_right PlayTrailer_456 Supergirl_372_enter Supergirl_372_back MarvelsIronFist_374 TheWalkingDead_373_left TheWalkingDead_373_right PlayTrailer_451 TheWalkingDead_373_enter TheWalkingDead_373_back TheSimpsons_375 MarvelsIronFist_374_left MarvelsIronFist_374_right PlayTrailer_446 MarvelsIronFist_374_enter MarvelsIronFist_374_back DoctorWho_376 TheSimpsons_375_left TheSimpsons_375_right PlayTrailer_441 TheSimpsons_375_enter TheSimpsons_375_back GameofThrones_377 DoctorWho_376_left DoctorWho_376_right PlayTrailer_436 DoctorWho_376_enter DoctorWho_376_back NCIS_378 GameofThrones_377_left GameofThrones_377_right PlayTrailer_431 GameofThrones_377_enter GameofThrones_377_back Supernatural_379 NCIS_378_left NCIS_378_right PlayTrailer_426 NCIS_378_enter NCIS_378_back LawOrderSpecialVictimsUnit_380 Supernatural_379_left Supernatural_379_right PlayTrailer_421 Supernatural_379_enter Supernatural_379_back DupurThakurpo_381 LawOrderSpecialVictimsUnit_380_left LawOrderSpecialVictimsUnit_380_right PlayTrailer_416 LawOrderSpecialVictimsUnit_380_enter LawOrderSpecialVictimsUnit_380_back Arrow_382 DupurThakurpo_381_left DupurThakurpo_381_right PlayTrailer_411 DupurThakurpo_381_enter DupurThakurpo_381_back Vikings_383 Arrow_382_left Arrow_382_right PlayTrailer_406 Arrow_382_enter Arrow_382_back DragonBall_384 Vikings_383_left Vikings_383_right PlayTrailer_401 Vikings_383_enter Vikings_383_back DragonBall_384_left DragonBall_384_right PlayTrailer_396 DragonBall_384_enter DragonBall_384_back TheBigBangTheory_385_left TheBigBangTheory_385_right PlayTrailer_391 TheBigBangTheory_385_enter TheBigBangTheory_385_back ShowImages_387 PlayTrailer_386_right end_390 PlayTrailer_386_enter PlayTrailer_386_back ShowImages_387_left Close_388 ShowImages_387_right end_389 ShowImages_387_enter ShowImages_387_back Close_388_left Close_388_back ShowImages_392 PlayTrailer_391_right end_395 PlayTrailer_391_enter PlayTrailer_391_back ShowImages_392_left Close_393 ShowImages_392_right end_394 ShowImages_392_enter ShowImages_392_back Close_393_left Close_393_back ShowImages_397 PlayTrailer_396_right end_400 PlayTrailer_396_enter PlayTrailer_396_back ShowImages_397_left Close_398 ShowImages_397_right end_399 ShowImages_397_enter ShowImages_397_back Close_398_left Close_398_back ShowImages_402 PlayTrailer_401_right end_405 PlayTrailer_401_enter PlayTrailer_401_back ShowImages_402_left Close_403 ShowImages_402_right end_404 ShowImages_402_enter ShowImages_402_back Close_403_left Close_403_back ShowImages_407 PlayTrailer_406_right end_410 PlayTrailer_406_enter PlayTrailer_406_back ShowImages_407_left Close_408 ShowImages_407_right end_409 ShowImages_407_enter ShowImages_407_back Close_408_left Close_408_back ShowImages_412 PlayTrailer_411_right end_415 PlayTrailer_411_enter PlayTrailer_411_back ShowImages_412_left Close_413 ShowImages_412_right end_414 ShowImages_412_enter ShowImages_412_back Close_413_left Close_413_back ShowImages_417 PlayTrailer_416_right end_420 PlayTrailer_416_enter PlayTrailer_416_back ShowImages_417_left Close_418 ShowImages_417_right end_419 ShowImages_417_enter ShowImages_417_back Close_418_left Close_418_back ShowImages_422 PlayTrailer_421_right end_425 PlayTrailer_421_enter PlayTrailer_421_back ShowImages_422_left Close_423 ShowImages_422_right end_424 ShowImages_422_enter ShowImages_422_back Close_423_left Close_423_back ShowImages_427 PlayTrailer_426_right end_430 PlayTrailer_426_enter PlayTrailer_426_back ShowImages_427_left Close_428 ShowImages_427_right end_429 ShowImages_427_enter ShowImages_427_back Close_428_left Close_428_back ShowImages_432 PlayTrailer_431_right end_435 PlayTrailer_431_enter PlayTrailer_431_back ShowImages_432_left Close_433 ShowImages_432_right end_434 ShowImages_432_enter ShowImages_432_back Close_433_left Close_433_back ShowImages_437 PlayTrailer_436_right end_440 PlayTrailer_436_enter PlayTrailer_436_back ShowImages_437_left Close_438 ShowImages_437_right end_439 ShowImages_437_enter ShowImages_437_back Close_438_left Close_438_back ShowImages_442 PlayTrailer_441_right end_445 PlayTrailer_441_enter PlayTrailer_441_back ShowImages_442_left Close_443 ShowImages_442_right end_444 ShowImages_442_enter ShowImages_442_back Close_443_left Close_443_back ShowImages_447 PlayTrailer_446_right end_450 PlayTrailer_446_enter PlayTrailer_446_back ShowImages_447_left Close_448 ShowImages_447_right end_449 ShowImages_447_enter ShowImages_447_back Close_448_left Close_448_back ShowImages_452 PlayTrailer_451_right end_455 PlayTrailer_451_enter PlayTrailer_451_back ShowImages_452_left Close_453 ShowImages_452_right end_454 ShowImages_452_enter ShowImages_452_back Close_453_left Close_453_back ShowImages_457 PlayTrailer_456_right end_460 PlayTrailer_456_enter PlayTrailer_456_back ShowImages_457_left Close_458 ShowImages_457_right end_459 ShowImages_457_enter ShowImages_457_back Close_458_left Close_458_back ShowImages_462 PlayTrailer_461_right end_465 PlayTrailer_461_enter PlayTrailer_461_back ShowImages_462_left Close_463 ShowImages_462_right end_464 ShowImages_462_enter ShowImages_462_back Close_463_left Close_463_back ShowImages_467 PlayTrailer_466_right end_470 PlayTrailer_466_enter PlayTrailer_466_back ShowImages_467_left Close_468 ShowImages_467_right end_469 ShowImages_467_enter ShowImages_467_back Close_468_left Close_468_back ShowImages_472 PlayTrailer_471_right end_475 PlayTrailer_471_enter PlayTrailer_471_back ShowImages_472_left Close_473 ShowImages_472_right end_474 ShowImages_472_enter ShowImages_472_back Close_473_left Close_473_back ShowImages_477 PlayTrailer_476_right end_480 PlayTrailer_476_enter PlayTrailer_476_back ShowImages_477_left Close_478 ShowImages_477_right end_479 ShowImages_477_enter ShowImages_477_back Close_478_left Close_478_back ShowImages_482 PlayTrailer_481_right end_485 PlayTrailer_481_enter PlayTrailer_481_back ShowImages_482_left Close_483 ShowImages_482_right end_484 ShowImages_482_enter ShowImages_482_back Close_483_left Close_483_back Alpha_487 Venom_486_left RobinHood_488 Venom_486_right PlayTrailer_601 Venom_486_enter Venom_486_back HunterKiller_489 Alpha_487_left Alpha_487_right PlayTrailer_596 Alpha_487_enter Alpha_487_back RobinHood_488_left FantasticBeastsTheCrimesofGrindelwald_505 RobinHood_488_right PlayTrailer_506 RobinHood_488_enter RobinHood_488_back SpeedKills_490 HunterKiller_489_left HunterKiller_489_right PlayTrailer_591 HunterKiller_489_enter HunterKiller_489_back MortalEngines_491 SpeedKills_490_left SpeedKills_490_right PlayTrailer_586 SpeedKills_490_enter SpeedKills_490_back AStarIsBorn_492 MortalEngines_491_left MortalEngines_491_right PlayTrailer_581 MortalEngines_491_enter MortalEngines_491_back Mile22_493 AStarIsBorn_492_left AStarIsBorn_492_right PlayTrailer_576 AStarIsBorn_492_enter AStarIsBorn_492_back FirstMan_494 Mile22_493_left Mile22_493_right PlayTrailer_571 Mile22_493_enter Mile22_493_back TheChristmasChronicles_495 FirstMan_494_left FirstMan_494_right PlayTrailer_566 FirstMan_494_enter FirstMan_494_back NightSchool_496 TheChristmasChronicles_495_left TheChristmasChronicles_495_right PlayTrailer_561 TheChristmasChronicles_495_enter TheChristmasChronicles_495_back TheHousewithaClockinItsWalls_497 NightSchool_496_left NightSchool_496_right PlayTrailer_556 NightSchool_496_enter NightSchool_496_back Peppermint_498 TheHousewithaClockinItsWalls_497_left TheHousewithaClockinItsWalls_497_right PlayTrailer_551 TheHousewithaClockinItsWalls_497_enter TheHousewithaClockinItsWalls_497_back TheGrinch_499 Peppermint_498_left Peppermint_498_right PlayTrailer_546 Peppermint_498_enter Peppermint_498_back Halloween_500 TheGrinch_499_left TheGrinch_499_right PlayTrailer_541 TheGrinch_499_enter TheGrinch_499_back RalphBreakstheInternet_501 Halloween_500_left Halloween_500_right PlayTrailer_536 Halloween_500_enter Halloween_500_back BohemianRhapsody_502 RalphBreakstheInternet_501_left RalphBreakstheInternet_501_right PlayTrailer_531 RalphBreakstheInternet_501_enter RalphBreakstheInternet_501_back Smallfoot_503 BohemianRhapsody_502_left BohemianRhapsody_502_right PlayTrailer_526 BohemianRhapsody_502_enter BohemianRhapsody_502_back TheSevenDeadlySinsPrisonersoftheSky_504 Smallfoot_503_left Smallfoot_503_right PlayTrailer_521 Smallfoot_503_enter Smallfoot_503_back TheSevenDeadlySinsPrisonersoftheSky_504_left TheSevenDeadlySinsPrisonersoftheSky_504_right PlayTrailer_516 TheSevenDeadlySinsPrisonersoftheSky_504_enter TheSevenDeadlySinsPrisonersoftheSky_504_back FantasticBeastsTheCrimesofGrindelwald_505_left FantasticBeastsTheCrimesofGrindelwald_505_right PlayTrailer_511 FantasticBeastsTheCrimesofGrindelwald_505_enter FantasticBeastsTheCrimesofGrindelwald_505_back ShowImages_507 PlayTrailer_506_right end_510 PlayTrailer_506_enter PlayTrailer_506_back ShowImages_507_left Close_508 ShowImages_507_right end_509 ShowImages_507_enter ShowImages_507_back Close_508_left Close_508_back ShowImages_512 PlayTrailer_511_right end_515 PlayTrailer_511_enter PlayTrailer_511_back ShowImages_512_left Close_513 ShowImages_512_right end_514 ShowImages_512_enter ShowImages_512_back Close_513_left Close_513_back ShowImages_517 PlayTrailer_516_right end_520 PlayTrailer_516_enter PlayTrailer_516_back ShowImages_517_left Close_518 ShowImages_517_right end_519 ShowImages_517_enter ShowImages_517_back Close_518_left Close_518_back ShowImages_522 PlayTrailer_521_right end_525 PlayTrailer_521_enter PlayTrailer_521_back ShowImages_522_left Close_523 ShowImages_522_right end_524 ShowImages_522_enter ShowImages_522_back Close_523_left Close_523_back ShowImages_527 PlayTrailer_526_right end_530 PlayTrailer_526_enter PlayTrailer_526_back ShowImages_527_left Close_528 ShowImages_527_right end_529 ShowImages_527_enter ShowImages_527_back Close_528_left Close_528_back ShowImages_532 PlayTrailer_531_right end_535 PlayTrailer_531_enter PlayTrailer_531_back ShowImages_532_left Close_533 ShowImages_532_right end_534 ShowImages_532_enter ShowImages_532_back Close_533_left Close_533_back ShowImages_537 PlayTrailer_536_right end_540 PlayTrailer_536_enter PlayTrailer_536_back ShowImages_537_left Close_538 ShowImages_537_right end_539 ShowImages_537_enter ShowImages_537_back Close_538_left Close_538_back ShowImages_542 PlayTrailer_541_right end_545 PlayTrailer_541_enter PlayTrailer_541_back ShowImages_542_left Close_543 ShowImages_542_right end_544 ShowImages_542_enter ShowImages_542_back Close_543_left Close_543_back ShowImages_547 PlayTrailer_546_right end_550 PlayTrailer_546_enter PlayTrailer_546_back ShowImages_547_left Close_548 ShowImages_547_right end_549 ShowImages_547_enter ShowImages_547_back Close_548_left Close_548_back ShowImages_552 PlayTrailer_551_right end_555 PlayTrailer_551_enter PlayTrailer_551_back ShowImages_552_left Close_553 ShowImages_552_right end_554 ShowImages_552_enter ShowImages_552_back Close_553_left Close_553_back ShowImages_557 PlayTrailer_556_right end_560 PlayTrailer_556_enter PlayTrailer_556_back ShowImages_557_left Close_558 ShowImages_557_right end_559 ShowImages_557_enter ShowImages_557_back Close_558_left Close_558_back ShowImages_562 PlayTrailer_561_right end_565 PlayTrailer_561_enter PlayTrailer_561_back ShowImages_562_left Close_563 ShowImages_562_right end_564 ShowImages_562_enter ShowImages_562_back Close_563_left Close_563_back ShowImages_567 PlayTrailer_566_right end_570 PlayTrailer_566_enter PlayTrailer_566_back ShowImages_567_left Close_568 ShowImages_567_right end_569 ShowImages_567_enter ShowImages_567_back Close_568_left Close_568_back ShowImages_572 PlayTrailer_571_right end_575 PlayTrailer_571_enter PlayTrailer_571_back ShowImages_572_left Close_573 ShowImages_572_right end_574 ShowImages_572_enter ShowImages_572_back Close_573_left Close_573_back ShowImages_577 PlayTrailer_576_right end_580 PlayTrailer_576_enter PlayTrailer_576_back ShowImages_577_left Close_578 ShowImages_577_right end_579 ShowImages_577_enter ShowImages_577_back Close_578_left Close_578_back ShowImages_582 PlayTrailer_581_right end_585 PlayTrailer_581_enter PlayTrailer_581_back ShowImages_582_left Close_583 ShowImages_582_right end_584 ShowImages_582_enter ShowImages_582_back Close_583_left Close_583_back ShowImages_587 PlayTrailer_586_right end_590 PlayTrailer_586_enter PlayTrailer_586_back ShowImages_587_left Close_588 ShowImages_587_right end_589 ShowImages_587_enter ShowImages_587_back Close_588_left Close_588_back ShowImages_592 PlayTrailer_591_right end_595 PlayTrailer_591_enter PlayTrailer_591_back ShowImages_592_left Close_593 ShowImages_592_right end_594 ShowImages_592_enter ShowImages_592_back Close_593_left Close_593_back ShowImages_597 PlayTrailer_596_right end_600 PlayTrailer_596_enter PlayTrailer_596_back ShowImages_597_left Close_598 ShowImages_597_right end_599 ShowImages_597_enter ShowImages_597_back Close_598_left Close_598_back ShowImages_602 PlayTrailer_601_right end_605 PlayTrailer_601_enter PlayTrailer_601_back ShowImages_602_left Close_603 ShowImages_602_right end_604 ShowImages_602_enter ShowImages_602_back Close_603_left Close_603_back WhiteBoyRick_607 RalphBreakstheInternet_606_left TheGrinch_608 RalphBreakstheInternet_606_right PlayTrailer_721 RalphBreakstheInternet_606_enter RalphBreakstheInternet_606_back SpiritedAway_609 WhiteBoyRick_607_left WhiteBoyRick_607_right PlayTrailer_716 WhiteBoyRick_607_enter WhiteBoyRick_607_back TheGrinch_608_left AStarIsBorn_625 TheGrinch_608_right PlayTrailer_626 TheGrinch_608_enter TheGrinch_608_back MaquiaWhenthePromisedFlowerBlooms_610 SpiritedAway_609_left SpiritedAway_609_right PlayTrailer_711 SpiritedAway_609_enter SpiritedAway_609_back EverybodyKnows_611 MaquiaWhenthePromisedFlowerBlooms_610_left MaquiaWhenthePromisedFlowerBlooms_610_right PlayTrailer_706 MaquiaWhenthePromisedFlowerBlooms_610_enter MaquiaWhenthePromisedFlowerBlooms_610_back Mandy_612 EverybodyKnows_611_left EverybodyKnows_611_right PlayTrailer_701 EverybodyKnows_611_enter EverybodyKnows_611_back Reprisal_613 Mandy_612_left Mandy_612_right PlayTrailer_696 Mandy_612_enter Mandy_612_back ASimpleFavor_614 Reprisal_613_left Reprisal_613_right PlayTrailer_691 Reprisal_613_enter Reprisal_613_back Papillon_615 ASimpleFavor_614_left ASimpleFavor_614_right PlayTrailer_686 ASimpleFavor_614_enter ASimpleFavor_614_back DragonBallSuperBroly_616 Papillon_615_left Papillon_615_right PlayTrailer_681 Papillon_615_enter Papillon_615_back Bumblebee_617 DragonBallSuperBroly_616_left DragonBallSuperBroly_616_right PlayTrailer_676 DragonBallSuperBroly_616_enter DragonBallSuperBroly_616_back AXL_618 Bumblebee_617_left Bumblebee_617_right PlayTrailer_671 Bumblebee_617_enter Bumblebee_617_back AsterixTheMagicPotionsSecret_619 AXL_618_left AXL_618_right PlayTrailer_666 AXL_618_enter AXL_618_back CreedII_620 AsterixTheMagicPotionsSecret_619_left AsterixTheMagicPotionsSecret_619_right PlayTrailer_661 AsterixTheMagicPotionsSecret_619_enter AsterixTheMagicPotionsSecret_619_back SpiderManIntotheSpiderVerse_621 CreedII_620_left CreedII_620_right PlayTrailer_656 CreedII_620_enter CreedII_620_back Aquaman_622 SpiderManIntotheSpiderVerse_621_left SpiderManIntotheSpiderVerse_621_right PlayTrailer_651 SpiderManIntotheSpiderVerse_621_enter SpiderManIntotheSpiderVerse_621_back HunterKiller_623 Aquaman_622_left Aquaman_622_right PlayTrailer_646 Aquaman_622_enter Aquaman_622_back MortalEngines_624 HunterKiller_623_left HunterKiller_623_right PlayTrailer_641 HunterKiller_623_enter HunterKiller_623_back MortalEngines_624_left MortalEngines_624_right PlayTrailer_636 MortalEngines_624_enter MortalEngines_624_back AStarIsBorn_625_left AStarIsBorn_625_right PlayTrailer_631 AStarIsBorn_625_enter AStarIsBorn_625_back ShowImages_627 PlayTrailer_626_right end_630 PlayTrailer_626_enter PlayTrailer_626_back ShowImages_627_left Close_628 ShowImages_627_right end_629 ShowImages_627_enter ShowImages_627_back Close_628_left Close_628_back ShowImages_632 PlayTrailer_631_right end_635 PlayTrailer_631_enter PlayTrailer_631_back ShowImages_632_left Close_633 ShowImages_632_right end_634 ShowImages_632_enter ShowImages_632_back Close_633_left Close_633_back ShowImages_637 PlayTrailer_636_right end_640 PlayTrailer_636_enter PlayTrailer_636_back ShowImages_637_left Close_638 ShowImages_637_right end_639 ShowImages_637_enter ShowImages_637_back Close_638_left Close_638_back ShowImages_642 PlayTrailer_641_right end_645 PlayTrailer_641_enter PlayTrailer_641_back ShowImages_642_left Close_643 ShowImages_642_right end_644 ShowImages_642_enter ShowImages_642_back Close_643_left Close_643_back ShowImages_647 PlayTrailer_646_right end_650 PlayTrailer_646_enter PlayTrailer_646_back ShowImages_647_left Close_648 ShowImages_647_right end_649 ShowImages_647_enter ShowImages_647_back Close_648_left Close_648_back ShowImages_652 PlayTrailer_651_right end_655 PlayTrailer_651_enter PlayTrailer_651_back ShowImages_652_left Close_653 ShowImages_652_right end_654 ShowImages_652_enter ShowImages_652_back Close_653_left Close_653_back ShowImages_657 PlayTrailer_656_right end_660 PlayTrailer_656_enter PlayTrailer_656_back ShowImages_657_left Close_658 ShowImages_657_right end_659 ShowImages_657_enter ShowImages_657_back Close_658_left Close_658_back ShowImages_662 PlayTrailer_661_right end_665 PlayTrailer_661_enter PlayTrailer_661_back ShowImages_662_left Close_663 ShowImages_662_right end_664 ShowImages_662_enter ShowImages_662_back Close_663_left Close_663_back ShowImages_667 PlayTrailer_666_right end_670 PlayTrailer_666_enter PlayTrailer_666_back ShowImages_667_left Close_668 ShowImages_667_right end_669 ShowImages_667_enter ShowImages_667_back Close_668_left Close_668_back ShowImages_672 PlayTrailer_671_right end_675 PlayTrailer_671_enter PlayTrailer_671_back ShowImages_672_left Close_673 ShowImages_672_right end_674 ShowImages_672_enter ShowImages_672_back Close_673_left Close_673_back ShowImages_677 PlayTrailer_676_right end_680 PlayTrailer_676_enter PlayTrailer_676_back ShowImages_677_left Close_678 ShowImages_677_right end_679 ShowImages_677_enter ShowImages_677_back Close_678_left Close_678_back ShowImages_682 PlayTrailer_681_right end_685 PlayTrailer_681_enter PlayTrailer_681_back ShowImages_682_left Close_683 ShowImages_682_right end_684 ShowImages_682_enter ShowImages_682_back Close_683_left Close_683_back ShowImages_687 PlayTrailer_686_right end_690 PlayTrailer_686_enter PlayTrailer_686_back ShowImages_687_left Close_688 ShowImages_687_right end_689 ShowImages_687_enter ShowImages_687_back Close_688_left Close_688_back ShowImages_692 PlayTrailer_691_right end_695 PlayTrailer_691_enter PlayTrailer_691_back ShowImages_692_left Close_693 ShowImages_692_right end_694 ShowImages_692_enter ShowImages_692_back Close_693_left Close_693_back ShowImages_697 PlayTrailer_696_right end_700 PlayTrailer_696_enter PlayTrailer_696_back ShowImages_697_left Close_698 ShowImages_697_right end_699 ShowImages_697_enter ShowImages_697_back Close_698_left Close_698_back ShowImages_702 PlayTrailer_701_right end_705 PlayTrailer_701_enter PlayTrailer_701_back ShowImages_702_left Close_703 ShowImages_702_right end_704 ShowImages_702_enter ShowImages_702_back Close_703_left Close_703_back ShowImages_707 PlayTrailer_706_right end_710 PlayTrailer_706_enter PlayTrailer_706_back ShowImages_707_left Close_708 ShowImages_707_right end_709 ShowImages_707_enter ShowImages_707_back Close_708_left Close_708_back ShowImages_712 PlayTrailer_711_right end_715 PlayTrailer_711_enter PlayTrailer_711_back ShowImages_712_left Close_713 ShowImages_712_right end_714 ShowImages_712_enter ShowImages_712_back Close_713_left Close_713_back ShowImages_717 PlayTrailer_716_right end_720 PlayTrailer_716_enter PlayTrailer_716_back ShowImages_717_left Close_718 ShowImages_717_right end_719 ShowImages_717_enter ShowImages_717_back Close_718_left Close_718_back ShowImages_722 PlayTrailer_721_right end_725 PlayTrailer_721_enter PlayTrailer_721_back ShowImages_722_left Close_723 ShowImages_722_right end_724 ShowImages_722_enter ShowImages_722_back Close_723_left Close_723_back

Fig. 3: The constructed directed graph model by EvoCreeper for the CineMup

v1 Du v1 Dd v5 v1 Dl v1 Dr v2 v1 Du v1 Dd v5 v1 Dl v1 Dr v2 v2 Du v2 Dd v6 v2 Dl v1 v2 Dr v3 v5 Du v1 v5 Dd v9 v5 Dl v5 Dr v6 v2 Du v2 Dd v6 v2 Dl v1 v2 Dr v3 v5 Du v1 v5 Dd v9 v5 Dl v5 Dr v6 v3 Du v3 Dd v7 v3 Dl v2 v3 Dr v4 v6 Du v2 v6 Dd v10 v6 Dl v5 v6 Dr v7 v9 Du v5 v9 Dd v13 v9 Dl v9 Dr v10 v3 Du v3 Dd v7 v3 Dl v2 v3 Dr v4 v6 Du v2 v6 Dd v10 v6 Dl v5 v6 Dr v7 v9 Du v5 v9 Dd v13 v9 Dl v9 Dr v10 v1 v2 v3 v4 v5 v6 v7 v8 v9 v10 v11 v12 v1 v3 v4 v6 v7 v8 v9 v10 v11 v12 v1 v2 v4 v5 v7 v8 v10 v11 v12 Du Dd Dl Dr v2 Du Dd Dl Dr v3 Du Dd Dl Dr v6 Du Dd Dl Dr v9 Du Dd Dl Dr v5 Du Dd Dl Dr

Fig. 4: Proof of concepts of the EvoCreeper

The third iteration similarly starts from the newly discovered states, v3, v6, and v9. In the same way, considering all four

directions from each state and filtering out repeated states, four new states are identified: v4, v7, v10, and v13.

EvoCreeper works in an iterative evolutionary manner to discover new states and events in the app. As mentioned, a cloud-based app is considered in this pilot example. Hence, there is no expectation that the app will have a finite number of states. Consequently, our proposed alternative stopping criterion could be useful here. The creeper algorithm will stop after a certain number of iterations or when no new states are discovered.

V. EMPIRICALEVALUATION

To assess the effectiveness of our model generation strategy, we conducted a case study on four smart TV apps. During this evaluation, we attempted to address the following research questions (RQs):

• RQ1. Is EvoCreeper capable of exploring and identifying

the states and transitions of a given smart TV app accurately relative to manual exploration?

• RQ2. To what extent is the generated model complete in terms of the numbers of states and edges? Is the created graph valid?

• RQ3. What is the performance of EvoCreeper compared to that of manual exploration for a given smart TV app?

A. Experimental Objects

Research in the area of smart TV apps is in an early stage. More time may be needed for developers to create and publish smart TV apps, as it is a new development environment. As a result, not many apps and repositories are available for benchmarking. Tizen does maintain a page with several simple apps and examples2. However, most of the provided samples are simple apps with few states. To demonstrate the effectiveness of our strategy, we chose four different Tizen

Figure

Fig. 2: A puzzle game smart TV app to illustrate the valid and invalid move based on the remote device
Figure 3 shows the directed graph model constructed by our strategy for the CineMup smart TV app
Fig. 3: The constructed directed graph model by EvoCreeper for the CineMup
Table I shows the name and source of each app.
+2

References

Related documents

The EU exports of waste abroad have negative environmental and public health consequences in the countries of destination, while resources for the circular economy.. domestically

In this paper, we propose an approach to test the usability of Smart TV apps based on the automated generation of a Smart TV user interaction model from an existing app by a

Aspects of the TMT process that have been studied are communication, debate, decision making, problem solving, conflicts, social integration, behavioural integration,

Based on the theoretical framework presented above, the overarching proposition of this thesis is that the domestic political uproar identified in Sweden during the diplomatic crisis

• Methods for industrial robot drive train design in the detail design phase, in- cluding trade-off analysis of cost, performance, and expected lifetime.. • Methods for

Silicon content seems to be crucial component materials A and C, outliers close to the higher limit of the material specifications are having higher repair rates than the overall

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in