logo

SCIENTIA SINICA Informationis, Volume 50 , Issue 3 : 318-334(2020) https://doi.org/10.1360/SSI-2019-0187

Crowd-intelligence-based software development method and practices

More info
  • ReceivedAug 29, 2019
  • AcceptedDec 23, 2019
  • PublishedMar 5, 2020

Abstract

The evolution of Internet has produced profound impacts on software development technologies, operation forms, and service models. In particular, the underlying crowd intelligence mechanisms in large-scale crowd collaboration practices, such as open sourcing and crowdsourcing, have greatly inspired the software development. Thus, this study investigates the innovation and production models for such open-sourcing and crowdsourcing practices. Based on this analysis, we propose the crowd-intelligence-based software development mechanisms including crowd collaboration, open sharing, and continuous evaluation. Specifically, we study the basic environment, the mechanism model, and the key technologies of crowd collaboration. Based on these aspects, we comprehensively discuss the crowd-intelligence-based software development environment, the involved core factors, and our open-sourcing practice. Finally, we propose the great challenges to be addressed in the future, and hope these studies and discussions are helpful.


Funded by

国家重点研发计划(2018AAA0102304)

国家自然科学基金(61702532)


References

[1] Yang F Q, Lü J, Mei H. Technical framework for Internetware: An architecture centric approach. Sci China Ser F-Inf Sci 2008, 51: 610--622. Google Scholar

[2] Lehman M M, Belady L A. Program Evolution: Processes of Software Change. London: Academic Press Professional, Inc., 1985. Google Scholar

[3] L. D. Y. Software engineering in Internet age. China Comput Federation Lett, 2009. 7--12. Google Scholar

[4] Raymond E. The cathedral and the bazaar: musings on linux and open source by an accidental revolutionary. Sebastopol: O'Reilly Media, Inc., 2001. Google Scholar

[5] Howe J. The rise of crowdsourcing. Wired Magaz, 2006, 14(6):1--4. Google Scholar

[6] Zhang W, Mei H. Software development based on collective intelligence on the Internet: feasibility, state-of-the-practice, and challenges. Sci Sin-Inf 2017, 47: 1601--1622. Google Scholar

[7] Lerner J, Tirole J. Some simple economics of open source. Journal of Industrial Economics, 2000, 50: 197--234. Google Scholar

[8] DiBona C, Cooper D, Stone M. Open Sources 2.0: The Continuing Evolution. Sebastopol: O'Reilly Media, Inc., 2005. Google Scholar

[9] Brabham D C. Crowdsourcing as a Model for Problem Solving. Convergence 2008, 14: 75--90. Google Scholar

[10] Heer J, Bostock M. Crowdsourcing graphical perception: using mechanical turk to assess visualization design. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2010. 203--212. Google Scholar

[11] Hagel J, Brown S J. The next wave of open innovation: how innocentive aims to exploit sophisticated technology and networking capabilities to connect problems with their potential solvers. Business Week, 2009. Google Scholar

[12] Lakhani K R, Garvin D A, Lonstein E. Topcoder (A): developing software through crowdsourcing. 2010. Harvard Business School General Management Unit Case No. 610-032. Google Scholar

[13] Sindlinger T S. Crowdsourcing: Why the Power of the Crowd is Driving the Future of Business. Am J Health-Syst Pharmacy 2010, 67: 1565--1566. Google Scholar

[14] Zhou M, Mockus A, Ma X, et al. Inflow and Retention in OSS Communities with Commercial Involvement. ACM Trans Softw Eng Methodol 2016, 25: 1--29. Google Scholar

[15] Chawla S, Hartline J D, Sivan B. Optimal crowdsourcing contests. Games Economic Behav 2019, 113: 80--96. Google Scholar

[16] Zhao M, Ding X, Shen J, et al. Use of liposomal doxorubicin for adjuvant chemotherapy of breast cancer in clinical practice.. J Zhejiang Univ Sci B 2017, 18: 15--26. Google Scholar

[17] Strübing J. Designing the working process — what programmers do beside programming. In: User-Centred Requirements for Software Engineering Environments. Berlin: Springer, 1994. 81--90. Google Scholar

[18] Michelucci P, Dickinson J L. HUMAN COMPUTATION. The power of crowds.. Science 2016, 351: 32--33. Google Scholar

[19] Wang H M, Yin G, Xie B, et al. Research on network-based large-scale collaborative development and evolution of trustworthy software. Sci Sin Inform, 2014, 44: 1--19. Google Scholar

[20] Li W, Wang H M, Wu W J, et al. 复杂软件系统的成长性构造与适应性演化. Sci Sin-Inf 2014, 44: 743--761. Google Scholar

[21] Zhou M, Mockus A. Growth of newcomer competence: challenges of globalization. In: Proceedings of the FSE/SDP Workshop on Future of Software Engineering Research, 2010. 443--448. Google Scholar

[22] Wang H, Yin G, Li X, et al. TRUSTIE: A Software Development Platform for Crowdsourcing. In: Crowdsourcing. Berlin: Springer, 2015. 165--190 2015. Google Scholar

[23] Rudzki J, Kiviluoma K, Poikonen T, and Hammouda I. Evaluating quality of open source components for reuse-intensive commercial solutions. In: Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications, 2009. Google Scholar

[24] Yin G, Wang T, Wang H M, et al. Ossean: mining crowd wisdom in open source communities. In: Proceedings of IEEE Symposium on Service-Oriented System Engineering, 2015. 367--371. Google Scholar

[25] Zhou M, Mockus A. Does the initial environment impact the future of developers? In: Proceedings of the 33rd International Conference on Software Engineering, 2011. 271--280. Google Scholar

[26] Bavota G, Canfora G, Penta M D, et al. The evolution of project inter-dependencies in a software ecosystem: the case of apache. In: Proceedings of IEEE International Conference on Software Maintenance, 2013. 280--289. Google Scholar

[27] Gonzalez-Barahona J M, Robles G, Andradas-Izquierdo R, et al. Geographic origin of libre software developers. Inf Economics Policy 2008, 20: 356--363. Google Scholar

[28] Dabbish L A, Stuart H C, Tsay J, et al. Social coding in github: transparency and collaboration in an open software repository. In: Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work, Seattle, 2012. 1277--1286. Google Scholar

[29] Wu Y, Kropczynski J, Shih P, et al. Exploring the ecosystem of software developers on github and other platforms. In: Proceedings of the Companion Publication of the 17th ACM Conference on Computer Supported Cooperative Work & Social Computing, 2014. 265--268. Google Scholar

[30] Kabbedijk J, Jansen S. Steering insight: an exploration of the ruby software ecosystem. In: Proceedings of International Conference of Software Business, Brussels, 2011. 44--55. Google Scholar

[31] Nakakoji K, Yamamoto Y, Nishinaka Y, et al. Evolution patterns of open-source software systems and communities. In: Proceedings of the International Workshop on Principles of Software Evolution, 2002. 76--85. Google Scholar

[32] Fielding R T. Shared leadership in the apache project. COMMUNICATIONS OF THE ACM 1999, 42: 42--43. Google Scholar

[33] Mamykina L, Manoim B, Mittal M, et al. Design lessons from the fastest q&a site in the west. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2011. 2857--2866. Google Scholar

[34] Mason W, Watts D J. Financial incentives and the "performance of crowds". SIGKDD Explor Newsl 2010, 11: 100--108. Google Scholar

[35] Brindescu C, Codoban M, Shmarkatiuk S, et al. How do centralized and distributed version control systems impact software changes? In: Proceedings of the 36th International Conference on Software Engineering, 2014. 322--333. Google Scholar

[36] Yu L, Tsai W-T, Zhao W, et al. Predicting defect priority based on neural networks. In: Proceedings of 6th International Conference on Advanced Data Mining and Applications, Chongqing, 2010. Google Scholar

[37] Kim S, Ernst M D. Which warnings should i fix first. In: Proceedings of the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, 2007. 45--54. Google Scholar

[38] Naguib H, Narayan N, Bruegge B, et al. Bug report assignee recommendation using activity profiles. In: Proceedings of the 10th Working Conference on Mining Software Repositories, 2013. 22--30. Google Scholar

[39] Xuan J, Jiang H, Ren Z, and Zou W. Developer prioritization in bug repositories. In: Proceedings of the 34th International Conference on Software Engineering (ICSE), 2012. 25--35. Google Scholar

[40] Salo R. A guideline for requirements management in github with lean approach. 2014. Google Scholar

[41] Brindescu C, Codoban M, Shmarkatiuk S, et al. How do centralized and distributed version control systems impact software changes. In: Proceedings of the 36th International Conference on Software Engineering, 2014. 322--333. Google Scholar

[42] Serrano N, Ciordia I. Bugzilla, ITracker, and Other Bug Trackers. IEEE Softw 2005, 22: 11--13. Google Scholar

[43] Yu Y, Yin G, Wang H M, et al. Exploring the patterns of social behavior in github. In: Proceedings of the 1st International Workshop on Crowd-based Software Development Methods and Technologies, 2014. 31--36. Google Scholar

[44] Zhang Y, Wang H, Yin G, et al. Exploring the use of @-mention to assist software development in github. In: Proceedings of the 7th Asia-Pacific Symposium on Internetware, 2015. 83--92. Google Scholar

[45] Lee M J, Ferwerda B, Choi J, Hahn J, Moon J Y, and Kim J. Github developers use rockstars to overcome overflow of news. In: Proceedings of Extended Abstracts on Human Factors in Computing Systems, 2013. 133--138. Google Scholar

[46] Mcmillan C, Linaresvasquez M, Poshyvanyk D, et al. Categorizing software applications for maintenance. In: Proceedings of the 27th IEEE International Conference on Software Maintenance (ICSM), 2011. 343--352. Google Scholar

[47] Tian K, Revelle M, Poshyvanyk D. Using latent dirichlet allocation for automatic categorization of software. In: Proceedings of the 6th IEEE International Working Conference on Mining Software Repositories, 2009. 163--166. Google Scholar

[48] Wang T, Wang H, Yin G, et al. Mining software profile across multiple repositories for hierarchical categorization. In: Proceedings of IEEE International Conference on Software Maintenance, 2013. 240--249. Google Scholar

[49] Xia X, Lo D, Wang X, and Zhou B. Tag recommendation in software information sites. In: Proceedings of the 10th Working Conference on Mining Software Repositories (MSR), 2013. 287--296. Google Scholar

[50] Wang T, Wang H, Yin G. Tag recommendation for open source software. Front Comput Sci, 2014, 8: 69-82 CrossRef Google Scholar

[51] Gomez C, Cleary B, Singer L. A study of innovation diffusion through link sharing on stack overflow. In: Proceedings of the 10th Working Conference on Mining Software Repositories, 2013. 81--84. Google Scholar

[52] Correa D, Lal S, Saini A, et al. Samekana: a browser extension for including relevant web links in issue tracking system discussion forum. 2013, 1: 25--33 DOI: 10.1109/APSEC.2013.15. Google Scholar

[53] Wang H, Wang T, Yin G, et al. Linking issue tracker with q&a sites for knowledge sharing across communities. IEEE Transactions on Services Computing, 2018, 11: 782--795. Google Scholar

[54] Bacchelli A, Lanza M, Robbes R. Linking e-mails and source code artifacts. In: Proceedings of 2010 ACM/IEEE 32nd International Conference on Software Engineering, 2010. 375--384. Google Scholar

[55] Subramanian S, Inozemtseva L, Holmes R. Live API documentation. In: Proceedings of the 36th International Conference on Software Engineering, 2014. 643--652. Google Scholar

[56] Bajracharya S, Ossher J, and Lopes C. Sourcerer: an internet-scale software repository. In: Proceedings of the 2009 ICSE Workshop on Search-Driven Development-Users, Infrastructure, Tools and Evaluation, 2009. 1--4. Google Scholar

[57] Gottipati S, Lo D, Jiang J. Finding relevant answers in software forums. In: Proceedings of the 26th IEEE/ACM International Conference on Automated Software Engineering (ASE 2011), Lawrence, 2011. 323--332. Google Scholar

[58] Brandt J, Dontcheva M, Weskamp M, et al. Example-centric programming: integrating web search into the development environment. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2010. 513--522. Google Scholar

[59] Bacchelli A, Ponzanelli L, Lanza M. Harnessing stack overflow for the ide. In: Proceedings of the 3rd International Workshop on Recommendation Systems for Software Engineering, 2012. 26--30. Google Scholar

[60] Nguyen T T, Nguyen T N, Duesterwald E, Klinger T, and Santhanam P. Inferring developer expertise through defect analysis. In: Proceedings of the 34th International Conference on Software Engineering, 2012. 1297--1300. Google Scholar

[61] Canfora G, Penta M D, Oliveto R, et al. Who is going to mentor newcomers in open source projects? In: Proceedings of the 20th ACM SIGSOFT International Symposium on the Foundations of Software Engineering, 2012. 44. Google Scholar

[62] Zhou M, Mockus A. Developer fluency: achieving true mastery in software projects. In: Proceedings of the 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, 2010. 137--146. Google Scholar

[63] Sinha V S, Mani S, Gupta M. Exploring activeness of users in qa forums. In: Proceedings of 2013 10th Working Conference on Mining Software Repositories (MSR), 2013. 77--80. Google Scholar

[64] Pal A, Harper F M, Konstan J A. Exploring question selection bias to identify experts and potential experts in community question answering. ACM Transactions on Information Systems, 2012, 30: 10. Google Scholar

[65] Surian D, Liu N, Lo D, et al. Recommending people in developers' collaboration network. In: Proceedings of the 18th Working Conference on Reverse Engineering, 2011. 379--388. Google Scholar

[66] Hooimeijer P, Weimer W. Modeling bug report quality. In: Proceedings of the 22nd IEEE/ACM International Conference on Automated Software Engineering, 2007. 34--43. Google Scholar

[67] Lamkanfi A, Demeyer S, Giger E. Predicting the severity of a reported bug. In: Proceedings of the 7th IEEE Working Conference on Mining Software Repositories (MSR 2010), 2010. 1--10. Google Scholar

[68] Vasilescu B, Yu Y, Wang H, et al. Quality and productivity outcomes relating to continuous integration in github. In: Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering, 2015. 805--816. Google Scholar

[69] Snow R, Oconnor B, Jurafsky D, et al. Cheap and fast -- but is it good? evaluating non-expert annotations for natural language tasks. In: Proceedings of the Conference on Empirical Methods in Natural Language Processing, 2008. 254--263. Google Scholar

[70] Bauer V, Heinemann L, Hummel B, et al. A framework for incremental quality analysis of large software systems. In: Proceedings of the 28th IEEE International Conference on Software Maintenance (ICSM), 2012. 537--546. Google Scholar

[71] Lavazza L, Morasca S, Taibi D, et al. Predicting oss trustworthiness on the basis of elementary code assessment. In: Proceedings of the 2010 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement, 2010. 1--4. Google Scholar

[72] Rudzki J, Kiviluoma K, Poikonen T, et al. Evaluating quality of open source components for reuse-intensive commercial solutions. In: Proceedings of the 35th Euromicro Conference on Software Engineering and Advanced Applications, 2009. 11--19. Google Scholar

[73] Zou Y, Liu C, Jin Y, et al. Assessing software quality through web comment search and analysis. In: Proceedings of International Conference on Software Reuse, 2013. 208--223. Google Scholar

[74] Fan Q, Yu Y, Yin G, et al. Where is the road for issue reports classification based on text mining? In: Proceedings of 2017 ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (ESEM), 2017. 121--130. Google Scholar

[75] Yu Y, Wang H, Yin G, et al. Reviewer recommendation for pull-requests in github. Information & Software Technology, 2016, 74: 204--218. Google Scholar

[76] Wang H. Harnessing the crowd wisdom for software trustworthiness. ACM Sigsoft Software Engineering Notes, 2018, 43: 1--6. Google Scholar

Copyright 2020 Science China Press Co., Ltd. 《中国科学》杂志社有限责任公司 版权所有

京ICP备17057255号       京公网安备11010102003388号