Advertisement

Crowdsourcing pp 165-190 | Cite as

TRUSTIE: A Software Development Platform for Crowdsourcing

  • Huaimin Wang
  • Gang YinEmail author
  • Xiang Li
  • Xiao Li
Chapter
Part of the Progress in IS book series (PROIS)

Abstract

Software development is either creation activities that rely on developers creativity and talents, or manufacturing activities that follow the engineering processes. Engineering processes need to include creation activities to address tasks such as requirement elicitation and bug finding . On the other hand, by exploiting the crowd wisdom, open-source development has been demonstrated to be a suitable environment for software creation. However, it also has several limitations, such as guaranteeing the progress and quality of production process. This paper introduces a software development platform and ecosystem that combines the strengths of the two models. First, we propose the Trustworthy Software Model as a basis to support such a hybrid development ecosystem . The core of this model contains a novel lifecycle model, an evidence model and an evolution model. Second, based on the model, we propose the Trustworthy Software Development and Evolution Service Model. It integrates crowd collaboration , resource sharing, runtime monitoring , and trustworthiness analysis into an unified framework. Based on this integrated model, we designed and implemented TRUSTIE , which distinguishes itself from other software crowdsourcing platforms by providing the software collaborative development service and the resource sharing service with the general support of trustworthiness-analysis tools. TRUSTIE enables crowd-oriented collaboration among internal development teams and the external crowds by combining the software creation and software manufacturing in one ecosystem.

Keywords

Software Project Software Artifact Software Resource Software Development Environment Collaborative Development 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Notes

Acknowledgments

This research is supported by the National High Technology Research and Development Program of China (Grant No. 2012AA011200), and National Natural Science Foundation of China (Grant No. 61432020 and 61472430). Our gratitude goes to all members of the TRUSTIE project, for their hard work and contribution, and also to the experts from the information technology domain of the National 863 Plan, for their continuous support and guidance.

References

  1. 1.
    DeMarco, T., Lister, T.: Peopleware-Productive Projects and Teams. Dorset House Publishing Co., New York (1987)Google Scholar
  2. 2.
    Herbsleb, J.D.: Global software engineering: the future of socio-technical coordination. In: 2007 Future of Software Engineering, pp. 188–198. IEEE Computer Society (2007)Google Scholar
  3. 3.
    Howe, J.: Crowdsourcing: Why the Power of the Crowd is Driving the Future of Business. Random House, New York (2008)Google Scholar
  4. 4.
    Giles, J.: Internet encyclopaedias go head to head. Nature 438(7070), 900–901 (2005)CrossRefGoogle Scholar
  5. 5.
    Torvalds, L.: The linux edge. Commun. ACM 42(4), 38–39 (1999)CrossRefGoogle Scholar
  6. 6.
    Surowiecki, J.: The Wisdom of crowds: why the many are smarter than the few and how collective wisdom shapes business. Economies, Societies and Nations (2004)Google Scholar
  7. 7.
    Lakhani, K.R., Panetta, J.A.: The principles of distributed innovation. Innovations 2(3), 97–112 (2007)CrossRefGoogle Scholar
  8. 8.
    Capek, P.G., Frank, S.P., Gerdt, S., Shields, D.: A history of IBM’s open-source involvement and strategy. IBM SYST. J. 44(2), 249–257 (2005)CrossRefGoogle Scholar
  9. 9.
    Raymond, E.: The cathedral and the bazaar. Knowl. Technol. Policy 12(3), 23–49 (1999)CrossRefGoogle Scholar
  10. 10.
    Xu, J.: System Programming Language. China Science Press, Beijing (1987)Google Scholar
  11. 11.
    Hasselbring, W., Reussner, R.: Toward trustworthy software systems. Computer 39(4), 91–92 (2006)CrossRefGoogle Scholar
  12. 12.
    Robillard, P.N.: The role of knowledge in software development. Commun. ACM 42(1), 87–92 (1999)CrossRefGoogle Scholar
  13. 13.
    Yang, F., Lü, J., Mei, H.: Technical framework for internetware: an architecture centric approach. Sci. China Ser. F: Inf. Sci. 51(6), 610–622 (2008)CrossRefGoogle Scholar
  14. 14.
    Huang, S.K.: Mining version histories to verify the learning process of legitimate peripheral participants. ACM SIGSOFT Softw. Eng. Notes 30(4), 1–5 (2005)Google Scholar
  15. 15.
    Zanetti, M.S., Scholtes, I., Tessone, C.J., Schweitzer, F.: Categorizing bugs with social networks: a case study on four open source software communities. In: Proceedings of the 2013 International Conference on Software Engineering, pp. 1032–1041. IEEE Press (2013)Google Scholar
  16. 16.
    Dou, W., Wei, G.W., Wei, J.C.: Collaborative software development environment and its construction method. J. Front. Comput. Sci. Technol. 5(7), 624–632 (2011)Google Scholar
  17. 17.
    TrustieTeam: Trustie software resource management specification, trustie-srmc v2.0 (2011)Google Scholar
  18. 18.
    O’reilly, T.: What is web 2.0: design patterns and business models for the next generation of software. Commun. Strateg. (65) (2007)Google Scholar
  19. 19.
    Wu, W., Tsai, W.T., Li, W.: An evaluation framework for software crowdsourcing. Front. Comput. Sci. 7(5), 694–709 (2013)CrossRefGoogle Scholar
  20. 20.
    Yu, Y., Wang, H., Yin, G., Ling, C.: Reviewer recommender of pull-requests in GitHub. In: 2014 30th IEEE International Conference on International Conference on Software Maintenance and Evolution (ICSME 2014 TOOLS), pages to appear. IEEE (2014)Google Scholar
  21. 21.
    TrustieTeam: Trustie collaborative development environment reference specification, trustie-forge v2.0 (2011)Google Scholar
  22. 22.
    Lin, Y., Huai-Min, W., Gang, Y., Dian-Xi, S., Xiang, L.: Mining and analyzing behavioral characteristic of developers in open source software. Chin. J. Comput. 10, 1909–1918 (2010)Google Scholar
  23. 23.
    Zhou, M., Mockus, A.: Developer fluency: achieving true mastery in software projects. In: Proceedings of the Eighteenth ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 137–146. ACM (2010)Google Scholar
  24. 24.
    TrustieTeam: Trustie software production line integration specification, trustie-spl v3.1 (2011)Google Scholar
  25. 25.
    Zhao, J., Xie, B., Wang, Y., Xu, Y.: TSRR: A software resource repository for trustworthiness resource management and reuse. In: SEKE, pp. 752–756 (2010)Google Scholar
  26. 26.
    TrustieTeam: Trustie software trustworthiness classification specification, trustie-stc v2.0 (2011)Google Scholar
  27. 27.
    Cai, S., Zou, Y., Shao, L., Xie, B., Shao, W.: Framework supporting software assets evaluation on trustworthiness. J. Softw. China 21(2), 359–372 (2010)CrossRefGoogle Scholar
  28. 28.
    Wang, T., Wang, H., Yin, G., Ling, C.X., Li, X., Zou, P.: Mining software profile across multiple repositories for hierarchical categorization. In: 2013 29th IEEE International Conference on Software Maintenance (ICSM), pp. 240–249. IEEE (2013)Google Scholar
  29. 29.
    Yu, Y., Wang, H., Yin, G., Liu, B.: Mining and recommending software features across multiple web repositories. In: Proceedings of the 5th Asia-Pacific Symposium on Internetware, p. 9. ACM (2013)Google Scholar
  30. 30.
    Shao, L., Zhao, J., Xie, T., Zhang, L., Xie, B., Mei, H.: User-perceived service availability: a metric and an estimation approach. In: IEEE International Conference on Web Services, ICWS 2009, pp. 647–654. IEEE (2009)Google Scholar
  31. 31.
    Zeng, J., Sun, H.L., Liu, X.D., Deng, T., Huai, J.P.: Dynamic evolution mechanism for trustworthy software based on service composition. J. Softw. 21(2), 261–276 (2010)CrossRefGoogle Scholar
  32. 32.
    Booch, G., Brown, A.W.: Collaborative development environments. Adv. Comput. 59, 1–27 (2003)Google Scholar
  33. 33.
    Kazman, R., Chen, H.M.: The metropolis model a new logic for development of crowdsourced systems. Commun. ACM 52(7), 76–84 (2009)CrossRefGoogle Scholar
  34. 34.
    Tapscott, D., Williams, A.D.: Wikinomics: How Mass Collaboration Changes Everything. Penguin, New York (2008)Google Scholar
  35. 35.
    Mockus, A., Fielding, R.T., Herbsleb, J.: A case study of open source software development: the apache server. In: Proceedings of the 22nd International Conference on Software Engineering, pp. 263–272. ACM (2000)Google Scholar
  36. 36.
    Crowston, K., Howison, J.: The social structure of free and open source software development. First Monday 10(2) (2005)Google Scholar
  37. 37.
    Sarma, A., Maccherone, L., Wagstrom, P., Herbsleb, J.: Tesseract: interactive visual exploration of socio-technical relationships in software development. In: IEEE 31st International Conference on Software Engineering, ICSE 2009, pp. 23–33. IEEE (2009)Google Scholar
  38. 38.
    Dabbish, L., Stuart, C., Tsay, J., Herbsleb, J.: Social coding in GitHub: transparency and collaboration in an open software repository. In: Proceedings of the ACM 2012 Conference on Computer Supported Cooperative Work, pp. 1277–1286. ACM (2012)Google Scholar
  39. 39.
    Posnett, D., D’Souza, R., Devanbu, P., Filkov, V.: Dual ecological measures of focus in software development. In: 2013 35th International Conference on Software Engineering (ICSE), pp. 452–461. IEEE (2013)Google Scholar
  40. 40.
    Bird, C., Nagappan, N., Devanbu, P., Gall, H., Murphy, B.: Does distributed development affect software quality?: An empirical case study of windows vista. Commun. ACM 52(8), 85–93 (2009)CrossRefGoogle Scholar
  41. 41.
    Mockus, A.: Amassing and indexing a large sample of version control systems: towards the census of public source code history. In: 6th IEEE International Working Conference on Mining Software Repositories, MSR’09, pp. 11–20. IEEE (2009)Google Scholar
  42. 42.
    Begel, A., Bosch, J., Storey, M.A.: Social networking meets software development: perspectives from github, msdn, stack exchange, and topcoder. Softw. IEEE 30(1), 52–66 (2013)CrossRefGoogle Scholar
  43. 43.
    Liu, K., Shan, Z., Wang, J., He, J., Zhang, Z., Qin, Y.: Overview on major research plan of trustworthy software. Bull. Natl. Nat. Sci. Found. China 22(3), 145–151 (2008)Google Scholar
  44. 44.
    Boehm, B.W., Brown, J.R., Kaspar, H., Lipow, M., MacLeod, G.J., Merrit, M.J.: Characteristics of Software Quality, vol. 1. North-Holland Publishing Company, Amsterdam (1978)Google Scholar
  45. 45.
    McCall, J.A., Richards, P.K., Walters, G.F.: Factors in Software Quality. General Electric National Technical Information Service, Berlin (1977)Google Scholar
  46. 46.
    Golden, B.: Succeeding with Open Source. Addison-Wesley Professional, Boston (2005)Google Scholar
  47. 47.
    Wasserman, A., Pal, M., Chan, C.: The business readiness rating model: an evaluation framework for open source. In: Proceedings of the EFOSS Workshop, Como, Italy (2006)Google Scholar
  48. 48.
    Russo, B., Damiani, E., Hissam, S., Lundell, B., Succi, G.: Open Source Development, Communities and Quality. Springer, Berlin (2008)CrossRefGoogle Scholar
  49. 49.
    Bird, C., Nagappan, N.: Who? Where? What? examining distributed development in two large open source projects. In: 2012 9th IEEE Working Conference on Mining Software Repositories (MSR), pp. 237–246. IEEE (2012)Google Scholar
  50. 50.
    Barr, J.: The paradox of free/open source project management (2005). http://archive09.linux.com/feature/42466. Accessed 6 May 2014
  51. 51.
    Aranda, J., Venolia, G.: The secret life of bugs: going past the errors and omissions in software repositories. In: Proceedings of the 31st International Conference on Software Engineering, pp. 298–308. IEEE Computer Society (2009)Google Scholar
  52. 52.
    Anonymous: Gerrit code review—a quick introduction, version 2.10-rc0-199-g60bca74 (2014). https://gerrit-review.googlesource.com/Documentation/intro-quick.html
  53. 53.
    Anonymous: Crowdsourcing software development, from Wikipedia (2014). http://en.wikipedia.org/wiki/Crowdsourcing_software_development
  54. 54.
    Wu, W., Tsai, W.T., Li, W.: Creative software crowdsourcing: from components and algorithm development to project concept formations. Int. J. Creat. Comput. 1(1), 57–91 (2013)CrossRefGoogle Scholar
  55. 55.
    Huhns, M.N., Li, W., Tsai, W.T.: Cloud-based software crowdsourcing (dagstuhl seminar 13362). Dagstuhl Rep. 3(9) (2013)Google Scholar
  56. 56.
    Tsai, W.T., Wu, W., Huhns, M.N.: Cloud-based software crowdsourcing. IEEE Internet Comput. 18(3), 78–83 (2014). http://doi.ieeecomputersociety.org/10.1109/MIC.2014.46

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  1. 1.National Laboratory for Parallel and Distributed Processing, School of ComputerNational University of Defense TechnologyChangshaChina

Personalised recommendations