Giter Site home page Giter Site logo

pedrolsf / msr2021replication Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gianlucascoccia/msr2021replication

0.0 0.0 0.0 350.91 MB

Shell 0.23% Python 0.58% Java 97.49% R 0.09% Makefile 0.09% HTML 0.12% Batchfile 0.06% Jupyter Notebook 1.33%

msr2021replication's Introduction

Replication package for the MSR2021 "Challenges in Developing Desktop Web Apps: a Study of Stack Overflow and GitHub" paper

Authors: Gian Luca Scoccia, Partizio Migliarini, Marco Autili

Abstract

Software companies have an interest in reaching the maximum amount of potential customers while, at the same time, providing a frictionless experience. Desktop web app frameworks are promising in this respect, allowing developers and companies to reuse existing code and knowledge of web applications to create cross-platform apps integrated with native APIs. Despite their growing popularity, existing challenges in employing these technologies have not been documented, and it is hard for individuals and companies to weigh benefits and pros against drawbacks and cons. In this paper, we address this issue by investigating the challenges that developers frequently experience when adopting desktop web app frameworks. To achieve this goal, we mine and apply topic modeling techniques to a dataset of 10,822 Stack Overflow posts related to the development of desktop web applications. Analyzing the resulting topics, we found that: i) developers often experience issues regarding the build and deployment processes for multiple platforms; ii) reusing exist- ing libraries and development tools in the context of desktop applications is often cumbersome; iii) it is hard to solve issues that arise when interacting with native APIs. Furthermore, we confirm our finding by providing evidence that the identified issues are also present in the issue reports of 453 open-source applications publicly hosted on GitHub.

Paper preprint available HERE.

Online appendix

The online appendix with the complete discussion of all topics mentioned in the paper is available HERE.

Replication package

Data used in the study is available in the folder data/processed.

Raw data (w/o cleaning & filtering) is available in the folder data/raw.

Scripts

Tags selection

Selection of tags related to desktop web apps questions, by means of significance and relevance metrics, is performed by the scripts: extract_tagset_from_csv.py and createT.py.

Selection of relevant Stack Overflow questions

The queries used to select relevant Stack Overflow questions from SOTorrent are available in the file: so_torrent_queries.txt

First query selects relevant questions (based on their tags).

Second query was used to collect accepted answers for the questions returned by the first query.

Topic modeling

Topic modeling was executed by means of the Mallet tool.

The commands used to execute the tool from the command line is provided in the mallet_instructions.txt file.

Statistical analysis

Scripts used to analyze the collected data are available in the folder notebook. The Python scripts in the folder were used to perform data cleaning and exploratory analysis. The statistical tests performed in the study were implemented in the R language and are available in the file tests.r

StackOverflow datasets

To analyse StackOverflow datasets, run the jupyter notebook using the following command:

jupyter-notebook SO_dataset_analysis.ipynb

This notebooks run the scripts to clean the dataset, run the Mallet Tool and analyse the results.

For more instructions on how to run the scripts access the Getting Started document.

msr2021replication's People

Contributors

gianlucascoccia avatar gabibguedes avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.