11 research outputs found

    A data-driven game theoretic strategy for developers in software crowdsourcing: a case study

    Get PDF
    Crowdsourcing has the advantages of being cost-effective and saving time, which is a typical embodiment of collective wisdom and community workers’ collaborative development. However, this development paradigm of software crowdsourcing has not been used widely. A very important reason is that requesters have limited knowledge about crowd workers’ professional skills and qualities. Another reason is that the crowd workers in the competition cannot get the appropriate reward, which affects their motivation. To solve this problem, this paper proposes a method of maximizing reward based on the crowdsourcing ability of workers, they can choose tasks according to their own abilities to obtain appropriate bonuses. Our method includes two steps: Firstly, it puts forward a method to evaluate the crowd workers’ ability, then it analyzes the intensity of competition for tasks at Topcoder.com—an open community crowdsourcing platform—on the basis of the workers’ crowdsourcing ability; secondly, it follows dynamic programming ideas and builds game models under complete information in different cases, offering a strategy of reward maximization for workers by solving a mixed-strategy Nash equilibrium. This paper employs crowdsourcing data from Topcoder.com to carry out experiments. The experimental results show that the distribution of workers’ crowdsourcing ability is uneven, and to some extent it can show the activity degree of crowdsourcing tasks. Meanwhile, according to the strategy of reward maximization, a crowd worker can get the theoretically maximum reward

    Minimizing Movement for Target Coverage and Network Connectivity in Mobile Sensor Networks

    Get PDF
    PublishedJournal Article© 2014 IEEE. Coverage of interest points and network connectivity are two main challenging and practically important issues of Wireless Sensor Networks (WSNs). Although many studies have exploited the mobility of sensors to improve the quality of coverage andconnectivity, little attention has been paid to the minimization of sensors' movement, which often consumes the majority of the limited energy of sensors and thus shortens the network lifetime significantly. To fill in this gap, this paper addresses the challenges of the Mobile Sensor Deployment (MSD) problem and investigates how to deploy mobile sensors with minimum movement to form a WSN that provides both target coverage and network connectivity. To this end, the MSD problem is decomposed into two sub-problems: the Target COVerage (TCOV) problem and the Network CONnectivity (NCON) problem. We then solve TCOV and NCON one by one and combine their solutions to address the MSD problem. The NP-hardness of TCOV is proved. For a special case of TCOV where targets disperse from each other farther than double of the coverage radius, an exact algorithm based on the Hungarian method is proposed to find the optimal solution. For general cases of TCOV, two heuristic algorithms, i.e., the Basic algorithm based on clique partition and the TV-Greedy algorithm based on Voronoi partition of the deployment region, are proposed to reduce the total movement distance ofsensors. For NCON, an efficient solution based on the Steiner minimum tree with constrained edge length is proposed. Thecombination of the solutions to TCOV and NCON, as demonstrated by extensive simulation experiments, offers a promising solutionto the original MSD problem that balances the load of different sensors and prolongs the network lifetime consequently.This work is supported in part by the National Science Foundation of China (Grant Nos. 61232001, 61103203, 61173169, and 61173051), the Major Science & Technology Research Program for Strategic Emerging Industry of Hunan (Grant No. 2012GK4054), and the Scientific Research Fund of Hunan Provincial Education Department (Grant No. 14C0030)

    Recommending software features to designers: From the perspective of users

    Get PDF
    With lots of public software descriptions emerging in the application market, it is significant to extract common software features from these descriptions and recommend them to new designers. However, existing approaches often recommend features according to their frequencies which reflect designers’ preferences. In order to identify those users’ favorite features and help design more popular software, this paper proposes to make use of the public data of users’ ratings and products’ downloads which reflect users’ preferences to recommend extracted features. The proposed approach distinguishes users’ perspective from designers’ perspective and argues that users’ perspective is better for recommending features because most products are designed for users and expect to be popular among users. Based on the lasso regression to estimate the relationship between the extracted features and the users’ ratings, it proposes to first distinguish the extracted features to identify those rec- ommendable and undesirable features. By treating each download as a support from users to the product features, it further mines the feature association rules from users’ perspective for recommending features. By taking the public data on the market of SoftPedia.com for evaluation, our empirical studies indicate that: (1) selecting recommendable features by lasso regression is better than that by feature frequencies in terms of F1 measure; and (2) recommending features based on the feature association rules mined from users’ perspective is not only feasible but also has competitive performance compared with that based on the rules mined from designs’ perspective in terms of F1 measure

    Determinación de la calidad de producto, persona y proceso en entornos de desarrollo con GitHub: un estudio sistemático de la literatura

    Get PDF
    La comparación entre costo, tiempo y alcance de un proyecto de desarrollo de software y el resultado final, ha brindado una manera simple, aunque sesgada de medir la eficiencia y eficacia de un equipo de proyecto. Consideramos necesario comprender que algunas características de cada desarrollador más los resultados de un proceso creativo del equipo de trabajo dentro del ciclo de vida del Producto, incide directamente en la calidad de éste. Proponemos entonces considerar la calidad de las 3Ps: Producto, Persona y Proceso como una manera holística de determinar la calidad total en la Ingeniería de Software. Pretendemos encontrar métricas objetivas para las 3Ps cuya fuente de datos sea GitHub. De un estudio sistemático de la literatura realizado, los resultados muestran que los estudios previos se centraron en la definición de métricas calculables desde metadata de GitHub para proyectos de código abierto y sin foco en las 3Ps.Sociedad Argentina de Informática e Investigación Operativ

    Pull request latency explained:an empirical overview

    Get PDF
    Pull request latency evaluation is an essential application of effort evaluation in the pull-based development scenario. It can help the reviewers sort the pull request queue, remind developers about the review processing time, speed up the review process and accelerate software development. There is a lack of work that systematically organizes the factors that affect pull request latency. Also, there is no related work discussing the differences and variations in characteristics in different scenarios and contexts. In this paper, we collected relevant factors through a literature review approach. Then we assessed their relative importance in five scenarios and six different contexts using the mixed-effects linear regression model. The most important factors differ in different scenarios. The length of the description is most important when pull requests are submitted. The existence of comments is most important when closing pull requests, using CI tools, and when the contributor and the integrator are different. When there exist comments, the latency of the first comment is the most important. Meanwhile, the influence of factors may change in different contexts. For example, the number of commits in a pull request has a more significant impact on pull request latency when closing than submitting due to changes in contributions brought about by the review process. Both human and bot comments are positively correlated with pull request latency. In contrast, the bot’s first comments are more strongly correlated with latency, but the number of comments is less correlated. Future research and tool implementation needs to consider the impact of different contexts. Researchers can conduct related studies based on our publicly available datasets and replication scripts

    MAXIMIZING THE SPEED OF INFLUENCE IN SOCIAL NETWORKS

    Get PDF
    Influence maximization in social networks is the problem of selecting a limited size of influential users as seed nodes so that the influence from these seed nodes can propagate to the largest number of other nodes in the network. Previous studies in influence maximization focused on three areas, i.e., designing propagation models, improving algorithms of seed-node selection and exploiting the structure of social networks. However, most of these studies ignored the time constraint in influence propagation. In this paper, I studied how to maximize influence propagation in a given time, i.e., maximizing the speed of influence propagation in social networks. I extended the classic Independent Cascade (IC) model to a Continuous Dynamic Extended Independent Cascade (CDE-IC) model. In addition, I propose a novel heuristic algorithm and evaluate the algorithm using two large academic collaboration data sets from www.arXiv.org. Comparing with previous classic heuristic algorithms on the CDE-IC model, the new algorithm is 9%-18% faster in influence propagation. Furthermore, I gave solution to calculate propagation probability between adjacent nodes by exploiting the structure of social networks

    Optimizing Java Code for Mobile Computing: The Android Example

    Get PDF
    Atualmente os dispositivos móveis são utilizados em todo o mundo, e o número de utilizadores cresce diariamente. Apesar da evolução das funcionalidades dos dispositivos móveis e do seu poder de processamento, a portabilidade e consumo de energia ainda são uma preocupação. Os utilizadores pretendem que os seus dispositivos móveis sejam capazes de tirar o máximo de vantagens dos recursos mas sem perda da portabilidade. Para isso, é de extrema importância a otimização do software executado nestes dispositivos. O Android é um sistema operativo móvel utilizado por um diverso leque de fabricantes, e as aplicações nativas são desenvolvidas utilizando a linguagem de programação Java. As aplicações nativas utilizam melhor os recursos disponibilizados pelos dispositivos. Esta dissertação foca otimizações de código Java que podem ser usadas para melhorar o desempenho de aplicações Java executadas em dispositivos Android. A proposta consiste no desenvolvimento de um protótipo de software que aplica automaticamente um conjunto de otimizações de código Java. Os eventuais ganhos de desempenho obtidos pela ferramenta desenvolvida serão posteriormente medidos e analisados.Currently mobile platforms are worldwide used and the number of users is growing daily. Although mobile devices are growing in functionalities and processing power, their portability and power consumption are still an issue. Users want their mobile devices able to take advantages of their capabilities but without losing portability. To do so it is of paramount importance the optimization of the software running on those devices. Android is a mobile operating system largely used by many manufactures, and the native applications are developed in Java programming language. Native applications use better Android devices resources. This dissertation focus on Java optimizations that can be used to improve performance of Java applications running in Android platforms. The proposal consists in developing a software prototype that can apply automatically a set of Java code optimizations. The eventual gains of performance obtained by the developed tool will be measured and analyzed

    Process Mining Concepts for Discovering User Behavioral Patterns in Instrumented Software

    Get PDF
    Process Mining is a technique for discovering “in-use” processes from traces emitted to event logs. Researchers have recently explored applying this technique to documenting processes discovered in software applications. However, the requirements for emitting events to support Process Mining against software applications have not been well documented. Furthermore, the linking of end-user intentional behavior to software quality as demonstrated in the discovered processes has not been well articulated. After evaluating the literature, this thesis suggested focusing on user goals and actual, in-use processes as an input to an Agile software development life cycle in order to improve software quality. It also provided suggestions for instrumenting software applications to support Process Mining techniques
    corecore