I. Introduction
As an emerging software engineering approach, crowdsourcing is making a significant impact [1], [2]. As shown in Fig. 1, the two main roles in most traditional crowdsourcing platforms are those of customers or workers. With a crowdsourcing platform, the customers publish tasks they wish to be undertaken and the workers can pick tasks that match their abilities. All task assignments are made through the platform. If existing resources (such as a training data set or computing resources) are inadequate, workers may purchase resources from third-party resource providers. This type of crowdsourcing platform has several advantages. For the customers, the crowdsourcing platform can help them save on development budgets and time [3]. They may also discover more innovative solutions [4]. For the workers, the crowdsourcing platform not only provides them with an income channel but can also help improve their skills through practice.
Centralized model of the traditional crowdsourcing platform.