Pragmatic Software Reuse in Bioinformatics: How Can Social Network Information Help?

  • Xiaoyu Jin
  • Charu Khatwani
  • Nan NiuEmail author
  • Michael Wagner
  • Juha Savolainen
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9679)


Little is known about the specific kinds of questions that bioinformatics programmers ask during pragmatic software reuse tasks and how well development online social networks help answer those questions. To fill the gap, we report an empirical study involving 20 biomedical software developers performing reuse tasks. A key contribution of our study is the discovery of 31 questions needed to be addressed, which we further classify into 5 categories along a software-architecture-centric and problem-domain-centric spectrum. Our study further provides evidence for the positive effect of social network information on pragmatic reuse tasks. Our work can lead to enhanced tool support so as to improve biomedical software reuse in practice.


Pragmatic software reuse Architecture-centric reuse Biomedical software Information needs Social network information 



This research is partially supported by the U.S. National Science Foundation (Award CCF-1350487) and the National Natural Science Foundation of China (Fund No. 61375053).


  1. 1.
    ImageJ: Image Processing and Analysis in Java. Accessed March 2016
  2. 2.
    NIH Big Data to Knowledge. Accessed March 2016
  3. 3.
    Protein Quantification Using ImageJ. tification_Using_ImageJ. Accessed March 2016
  4. 4.
    Software Discovery Index: Request for Comments. Accessed March 2016
  5. 5.
    Software Discovery Meeting Report. Accessed March 2016
  6. 6.
    SoftwareX: An Elsevier Journal. Accessed March 2016
  7. 7.
    StochKit: Stochastic Simulation Kit. Kit/StochKit_whatis.html. Accessed March 2016
  8. 8.
    Begel, A., Bosch, J., Storey, M.-A.: Bridging software communities through social networking. IEEE Softw. 30(1), 26–28 (2013)CrossRefGoogle Scholar
  9. 9.
    Begel, A., Khoo, Y., Zimmermann, T., Codebook: discovering and exploiting relationships in software repositories. In: ICSE, pp. 125–134 (2010)Google Scholar
  10. 10.
    Beyer, H.-J., Hein, D., Schitter, C., Knodel, J., Muthig, D., Naab, M.: Introducing architecture-centric reuse into a small development organization. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 1–13. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  11. 11.
    Bhowmik, T., Niu, N., Wang, W., Cheng, J.-R., Li, L., Cao, X.: Optimal group size for software change tasks: a social information foraging perspective. IEEE Trans. Cybern. (to appear)Google Scholar
  12. 12.
    Bird, C., Pattison, D., D’Souza, R., Filkov, V., Devanbu, P.: Latent social structure in open source projects. In: FSE, pp. 24–35 (2008)Google Scholar
  13. 13.
    Brandt, J., Guo, P., Lewenstein, J., Dontcheva, M., Klemmer, S.: Opportunistic programming: writing code to prototype, ideate, and discover. IEEE Softw. 26(5), 18–24 (2009)CrossRefGoogle Scholar
  14. 14.
    Constantinou, E., Naskos, A., Kakarontzas, G., Stamelos, I.: Extracting reusable components: A semi-automated approach for complex structures. Inf. Process. Lett. 115(3), 414–417 (2015)CrossRefGoogle Scholar
  15. 15.
    Dabbish, L., Stuart, H., Tsay, J., Herbsleb, J.: Leveraging transparency. IEEE Softw. 30(1), 37–43 (2013)CrossRefGoogle Scholar
  16. 16.
    Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: why reuse is so hard. IEEE Softw. 12(6), 17–26 (1995)CrossRefGoogle Scholar
  17. 17.
    Garlan, D., Allen, R., Ockerbloom, J.: Architectural mismatch: why reuse is still so hard. IEEE Softw. 26(4), 66–69 (2009)CrossRefGoogle Scholar
  18. 18.
    Happel, H.-J., Schuster, T., Szulman, P.: Leveraging source code search for reuse. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 360–371. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  19. 19.
    Holmes, R., Walker, R.: Systematizing pragmatic software reuse. ACM Trans. Softw. Eng. Methodol. 21(4), 20 (2012)CrossRefGoogle Scholar
  20. 20.
    Hummel, O., Atkinson, C.: Using the web as a reuse repository. In: Morisio, M. (ed.) ICSR 2006. LNCS, vol. 4039, pp. 298–311. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  21. 21.
    Kakarontzas, G., Constantinou, E., Ampatzoglou, A., Stamelos, I.: Layer assessment of object-oriented software: A metric facilitating white-box reuse. J. Syst. Softw. 86(2), 349–366 (2013)CrossRefGoogle Scholar
  22. 22.
    Ko, A., DeLine, R., Venolia, G.: Information needs in collocated software development teams. In: ICSE, pp. 344–353 (2007)Google Scholar
  23. 23.
    Krueger, C.: Software reuse. ACM Comput. Surv. 24(2), 131–183 (1992)CrossRefMathSciNetGoogle Scholar
  24. 24.
    Lemos, O.A.L., Bajracharya, S.K., Ossher, J., Masiero, P.C., Lopes, C.V.: A test-driven approach to code search and its application to the reuse of auxiliary functionality. Inf. Softw. Technol. 53(4), 294–306 (2011)CrossRefGoogle Scholar
  25. 25.
    Maras, J., S̆tula, M., Crnković, I.: Towards specifying pragmatic software reuse. In: ECSAW, Article No. 54 (2015)Google Scholar
  26. 26.
    Niu, N., Easterbrook, S.: Exploiting COTS-based RE methods: An experience report. In: Mei, H. (ed.) ICSR 2008. LNCS, vol. 5030, pp. 212–216. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  27. 27.
    Niu, N., Jin, X., Niu, Z., Cheng, J.-R., Li, L., Kataev, M.: A clustering-based approach to enriching code foraging environment. IEEE Trans. Cybern. (to appear)Google Scholar
  28. 28.
    Niu, N., Mahmoud, A., Bradshaw, G.: Information foraging as a foundation for code navigation. In: ICSE, pp. 816–819 (2011)Google Scholar
  29. 29.
    Niu, N., Savolainen, J., Niu, Z., Jin, M., Cheng, J.-R.: A systems approach to product line requirements reuse. IEEE Syst. J. 8(3), 827–836 (2014)CrossRefGoogle Scholar
  30. 30.
    Niu, N., Yang, F., Cheng, J.-R., Reddivari, S.: Conflict resolution support for parallel software development. IET Softw. 7(1), 1–11 (2013)CrossRefGoogle Scholar
  31. 31.
    Sanft, K., Wu, S., Roh, M., Fu, J., Lim, R., Petzold, L.: StochKit2: software for discrete stochastic simulation of biochemical systems with events. Bioinform. 27(17), 2457–2458 (2011)CrossRefGoogle Scholar
  32. 32.
    Savolainen, J., Niu, N., Mikkonen, T., Fogdal, T.: Long-term product-line sustainability through planned staged investments. IEEE Softw. 30(6), 63–69 (2013)CrossRefGoogle Scholar
  33. 33.
    Sel’Kov, E.: Self-oscillations in glycolysis. Eur. J. Biochem. 4(1), 79–86 (1968)CrossRefGoogle Scholar
  34. 34.
    Sillito, J., Murphy, G., De Volder, K.: Asking and answering questions during a programming change task. IEEE Trans. Softw. Eng. 34(4), 434–451 (2008)CrossRefGoogle Scholar
  35. 35.
    Zou, Y., Liu, C., Jin, Y., Xie, B.: Assessing software quality through web comment search and analysis. In: Favaro, J., Morisio, M. (eds.) ICSR 2013. LNCS, vol. 7925, pp. 208–223. Springer, Heidelberg (2013)CrossRefGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2016

Authors and Affiliations

  • Xiaoyu Jin
    • 1
  • Charu Khatwani
    • 1
  • Nan Niu
    • 1
    Email author
  • Michael Wagner
    • 2
  • Juha Savolainen
    • 3
  1. 1.Department of EECSUniversity of CincinnatiCincinnatiUSA
  2. 2.Division of Biomedical InformaticsCincinnati Children’s Hospital Medical CenterCincinnatiUSA
  3. 3.Head of Software ArchitectureRoche DiagnosticsRotkreuzSwitzerland

Personalised recommendations