Crowdsourced Software Development and Maintenance

As modern software systems are becoming increasingly complex, developers often need to rely on online sources to address problems encountered during software development and maintenance. These resources provide developers with access to peers' expertise, covering knowledge of different software lifecycle phases, including design, implementation, and maintenance. However, exploiting such knowledge and converting it into actionable items is far from trivial, due to the vastness of the information available online as well as to its unstructured nature. In this research, we aim at (partially) crowdsourcing the software design, implementation and maintenance process by exploiting the knowledge embedded in various sources available on the Web (e.g., Stack Overflow discussions, presentations on SlideShare, open source code, etc.). For example, we want to support software design decisions (e.g., whether to use a specific library for the implementation of a feature) by performing opinion mining on the vast amount of information available on the Web, and we want to recommend refactoring operations by learning from the code written in open source systems. The final goal is to improve developers' productivity and code quality.

[1]  Michael Goul,et al.  Managing the Enterprise Business Intelligence App Store: Sentiment Analysis Supported Requirements Engineering , 2012, 2012 45th Hawaii International Conference on System Sciences.

[2]  Christos Faloutsos,et al.  Why people hate your app: making sense of user feedback in a mobile app store , 2013, KDD.

[3]  Alexander Serebrenik,et al.  On negative results when using sentiment analysis tools for software engineering research , 2017, Empirical Software Engineering.

[4]  Foutse Khomh,et al.  Automatic summarization of API reviews , 2017, 2017 32nd IEEE/ACM International Conference on Automated Software Engineering (ASE).

[5]  Ted S. Sindlinger,et al.  Crowdsourcing: Why the Power of the Crowd is Driving the Future of Business , 2010 .

[6]  Charles A. Sutton,et al.  Learning natural coding conventions , 2014, SIGSOFT FSE.

[7]  David M. Pennock,et al.  Mining the peanut gallery: opinion extraction and semantic classification of product reviews , 2003, WWW '03.

[8]  Mario Linares Vásquez,et al.  Improving code readability models with textual features , 2016, 2016 IEEE 24th International Conference on Program Comprehension (ICPC).

[9]  ThelwallMike,et al.  Sentiment strength detection in short informal text , 2010 .

[10]  Gabriele Bavota,et al.  Investigating the Use of Code Analysis and NLP to Promote a Consistent Usage of Identifiers , 2017, 2017 IEEE 17th International Working Conference on Source Code Analysis and Manipulation (SCAM).

[11]  Kathy Schwalbe,et al.  Information Technology Project Management , 1999 .

[12]  Gabriele Bavota,et al.  On the Uniqueness of Code Redundancies , 2017, 2017 IEEE/ACM 25th International Conference on Program Comprehension (ICPC).

[13]  Harald C. Gall,et al.  Analyzing reviews and code of mobile apps for better release planning , 2017, 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER).

[14]  Bram Adams,et al.  Do developers feel emotions? an exploratory analysis of emotions in software artifacts , 2014, MSR 2014.

[15]  Ning Chen,et al.  AR-miner: mining informative reviews for developers from mobile app marketplace , 2014, ICSE.

[16]  Mike Thelwall,et al.  Sentiment in short strength detection informal text , 2010 .

[17]  Jie Wang,et al.  Fixing Recurring Crash Bugs via Analyzing Q&A Sites (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[18]  Frederick W. B. Li,et al.  BlueFix: Using Crowd-Sourced Feedback to Support Programming Students in Error Diagnosis and Repair , 2012, ICWL.

[19]  Nicole Novielli,et al.  EmoTxt: A toolkit for emotion recognition from text , 2017, 2017 Seventh International Conference on Affective Computing and Intelligent Interaction Workshops and Demos (ACIIW).

[20]  Daniela E. Damian,et al.  StakeSource2.0: using social networks of stakeholders to identify and prioritise requirements , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[21]  Eduardo Cunha Campos,et al.  Searching stack overflow for API-usage-related bug fixes using snippet-based queries , 2016, CASCON.

[22]  Gilad Mishne,et al.  Predicting Movie Sales from Blogger Sentiment , 2006, AAAI Spring Symposium: Computational Approaches to Analyzing Weblogs.

[23]  Walid Maalej,et al.  On the automatic classification of app reviews , 2016, Requirements Engineering.

[24]  Markus Pizka,et al.  Concise and consistent naming , 2005, 13th International Workshop on Program Comprehension (IWPC'05).

[25]  Premkumar T. Devanbu,et al.  On the naturalness of software , 2016, Commun. ACM.

[26]  Christian Roth,et al.  Recommending rename refactorings , 2010, RSSE '10.

[27]  Jan Marco Leimeister,et al.  Managing crowdsourced software testing: a case study based insight on the challenges of a crowdsourcing intermediary , 2014 .

[28]  Eric Gilbert,et al.  VADER: A Parsimonious Rule-Based Model for Sentiment Analysis of Social Media Text , 2014, ICWSM.

[29]  Zhendong Su,et al.  A study of the uniqueness of source code , 2010, FSE '10.

[30]  Jeff Howe,et al.  Crowdsourcing: Why the Power of the Crowd Is Driving the Future of Business , 2008, Human Resource Management International Digest.

[31]  Björn Hartmann,et al.  Crowdsourcing suggestions to programming problems for dynamic web development languages , 2011, CHI EA '11.

[32]  Fan Long,et al.  Automatic patch generation by learning correct code , 2016, POPL.

[33]  Alexis Battle,et al.  The jabberwocky programming environment for structured social computing , 2011, UIST.

[34]  Martin Monperrus,et al.  DynaMoth: Dynamic Code Synthesis for Automatic Program Repair , 2016, 2016 IEEE/ACM 11th International Workshop in Automation of Software Test (AST).

[35]  Christopher Potts,et al.  Recursive Deep Models for Semantic Compositionality Over a Sentiment Treebank , 2013, EMNLP.