Skip to main content

Automatic Extraction of Design Decisions from Issue Management Systems: A Machine Learning Based Approach

  • Conference paper
  • First Online:
Book cover Software Architecture (ECSA 2017)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 10475))

Included in the following conference series:

Abstract

The need to explicitly document design decisions has been emphasized both in research and in industry. To address design concerns, software architects and developers implicitly capture design decisions in tools such as issue management systems. These design decisions are not explicitly labeled and are not integrated with the architecture knowledge management tools. Automatically extracting design decisions will aid architectural knowledge management tools to learn from the past decisions and to guide architects while making decisions in similar context. In this paper, we propose a two-phase supervised machine learning based approach to first, automatically detect design decisions from issues and second, to automatically classify the identified design decisions into different decision categories. We have manually analyzed and labeled more than 1,500 issues from two large open source repositories and have used this dataset for generating the machine learning models. We have made the dataset publicly available that will serve as a starting point for researchers to further reference and investigate the design decision detection and classification problem. Our evaluation shows that by using linear support vector machines, we can detect design decisions with 91.29% accuracy and classify them with an accuracy of 82.79%. This provides a quantitative basis for learning from past design decisions to support stakeholders in making better and informed design decisions.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    http://arc42.org/.

  2. 2.

    https://issues.apache.org/jira/browse/SPARK-710.

  3. 3.

    https://server.sociocortex.com/typeDefinitions/1vk4hqzziw3jp/Task.

  4. 4.

    https://issues.apache.org/jira/browse/SPARK-898.

  5. 5.

    https://issues.apache.org/jira/browse/SPARK-986.

  6. 6.

    https://issues.apache.org/jira/browse/SPARK-4477.

  7. 7.

    https://issues.apache.org/jira/browse/SPARK – last accessed on 25.01.2017.

  8. 8.

    https://issues.apache.org/jira/browse/HADOOP – last accessed on 25.01.2017.

  9. 9.

    https://www.gartner.com/doc/3371732/critical-capabilities-data-warehouse-data.

  10. 10.

    https://www.matthes.in.tum.de/pages/2gh0u9d1afap/SyncPipes.

  11. 11.

    https://issues.apache.org/jira/browse/SPARK-12785.

  12. 12.

    Given that there are multiple labels, in multi-class classification, a document can be assigned to one and only one label. Whereas, in multi-label classification, a document can be assigned to any number of labels.

References

  1. Ambler, S.: Agile Modeling: Effective Practices for Extreme Programming and the Unified Process. Wiley, New York (2002)

    Google Scholar 

  2. Antoniol, G., Ayari, K., Di Penta, M., Khomh, F., Guéhéneuc, Y.G.: Is it a bug or an enhancement?: a text-based approach to classify change requests. In: Proceedings of the 2008 Conference of the Center for Advanced Studies on Collaborative Research: Meeting of Minds, p. 23. ACM (2008)

    Google Scholar 

  3. Babar, M.A., Gorton, I.: A tool for managing software architecture knowledge. In: Second Workshop on Sharing and Reusing Architectural Knowledge-Architecture, Rationale, and Design Intent, SHARK/ADI 2007: ICSE Workshops 2007, p. 11. IEEE (2007)

    Google Scholar 

  4. Bhat, M., Shumaiev, K., Biesdorf, A., Hohenstein, U., Hassel, M., Matthes, F.: Meta-model based framework for architectural knowledge management. In: Proccedings of the 10th ECSA Workshops, p. 12. ACM (2016)

    Google Scholar 

  5. Bosch, J.: Software architecture: the next step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004). doi:10.1007/978-3-540-24769-2_14

    Chapter  Google Scholar 

  6. Buchgeher, G., Weinreich, R.: Automatic tracing of decisions to architecture and implementation. In: 2011 9th Working IEEE/IFIP Conference on Software Architecture (WICSA), pp. 46–55. IEEE (2011)

    Google Scholar 

  7. Capilla, R., Jansen, A., Tang, A., Avgeriou, P., Babar, M.A.: 10 years of software architecture knowledge management: practice and future. J. Syst. Softw. 116, 191–205 (2016)

    Article  Google Scholar 

  8. Capilla, R., Nava, F., Carrillo, C.: Effort estimation in capturing architectural knowledge. In: Proceedings of 23rd IEEE/ACM International Conference on Automated Software Engineering, pp. 208–217. IEEE Computer Society (2008)

    Google Scholar 

  9. Chang, C.C., Lin, C.J.: LIBSVM: a library for support vector machines. ACM Trans. Intell. Syst. Technol. (TIST) 2(3), 27 (2011)

    Google Scholar 

  10. Dagenais, B., Robillard, M.P.: Creating and evolving developer documentation: understanding the decisions of open source contributors. In: Proceedings of 18th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 127–136. ACM (2010)

    Google Scholar 

  11. Fernández, R., Frampton, M., Ehlen, P., Purver, M., Peters, S.: Modelling and detecting decisions in multi-party dialogue. In: Proceedings of 9th SIGdial Workshop on Discourse and Dialogue, pp. 156–163. Association for Computational Linguistics (2008)

    Google Scholar 

  12. Goth, G.: Agile tool market growing with the philosophy. IEEE Softw. 26(2), 88–91 (2009)

    Article  Google Scholar 

  13. Hsueh, P.-Y., Moore, J.D.: Automatic decision detection in meeting speech. In: Popescu-Belis, A., Renals, S., Bourlard, H. (eds.) MLMI 2007. LNCS, vol. 4892, pp. 168–179. Springer, Heidelberg (2008). doi:10.1007/978-3-540-78155-4_15

    Chapter  Google Scholar 

  14. Jansen, A.: Architectural design decisions. Ph.D. thesis, August 2008

    Google Scholar 

  15. Jansen, A., Bosch, J.: Software architecture as a set of architectural design decisions. In: 5th Working IEEE/IFIP Conference on Software Architecture, WICSA 2005, pp. 109–120. IEEE (2005)

    Google Scholar 

  16. Kazman, R., Goldenson, D., Monarch, I., Nichols, W., Valetto, G.: Evaluating the effects of architectural documentation: a case study of a large scale open source project. IEEE Trans. Softw. Eng. 42(3), 220–260 (2016)

    Article  Google Scholar 

  17. Kruchten, P.: An ontology of architectural design decisions in software intensive systems. In: 2nd Groningen Workshop on Software Variability, pp. 54–61. Citeseer (2004)

    Google Scholar 

  18. Kruchten, P., Capilla, R., Dueñas, J.C.: The decision view’s role in software architecture practice. IEEE Softw. 26(2), 36–42 (2009)

    Article  Google Scholar 

  19. Lee, J.: Design rationale systems: understanding the issues. IEEE Expert 12(3), 78–85 (1997)

    Article  Google Scholar 

  20. Lee, L., Kruchten, P.: Capturing software architectural design decisions. In: Canadian Conference on Electrical and Computer Engineering, CCECE 2007, pp. 686–689. IEEE (2007)

    Google Scholar 

  21. Lytra, I., Tran, H., Zdun, U.: Supporting consistency between architectural design decisions and component models through reusable architectural knowledge transformations. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 224–239. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39031-9_20

    Chapter  Google Scholar 

  22. Manning, C.D., Schütze, H., et al.: Foundations of Statistical Natural Language Processing, vol. 999. MIT Press, Cambridge (1999)

    MATH  Google Scholar 

  23. Manteuffel, C., Tofan, D., Koziolek, H., Goldschmidt, T., Avgeriou, P.: Industrial implementation of a documentation framework for architectural decisions. In: 2014 IEEE/IFIP Conference on Software Architecture (WICSA), pp. 225–234. IEEE (2014)

    Google Scholar 

  24. Meng, X., Bradley, J., Yavuz, B., Sparks, E., Venkataraman, S., Liu, D., Freeman, J., Tsai, D., Amde, M., Owen, S., et al.: MLlib: machine learning in apache spark. J. Mach. Learn. Res. 17(34), 1–7 (2016)

    MathSciNet  MATH  Google Scholar 

  25. Miesbauer, C., Weinreich, R.: Classification of design decisions – an expert survey in practice. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 130–145. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39031-9_12

    Chapter  Google Scholar 

  26. Porter, M.F.: An algorithm for suffix stripping. Program 14(3), 130–137 (1980)

    Article  Google Scholar 

  27. Refaeilzadeh, P., Tang, L., Liu, H.: Cross-validation. In: Liu, L., Özsu, T. (eds.) Encyclopedia of Database Systems, pp. 532–538. Springer, Heidelberg (2009). doi:10.1007/978-0-387-39940-9_565

    Google Scholar 

  28. Rijsbergen, C.J.V.: Information Retrieval, 2nd edn. Butterworth-Heinemann, Newton (1979)

    MATH  Google Scholar 

  29. Stettina, C.J., Heijstek, W.: Necessary and neglected?: an empirical study of internal documentation in agile software development teams. In: Proceedings of 29th ACM International Conference on Design of Communication, pp. 159–166. ACM (2011)

    Google Scholar 

  30. Sutherland, J., Viktorov, A., Blount, J., Puntikov, N.: Distributed scrum: agile project management with outsourced development teams. In: 40th Annual Hawaii International Conference on System Sciences, HICSS 2007, p. 274a. IEEE (2007)

    Google Scholar 

  31. Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of architecture design rationale. J. Syst. Softw. 79(12), 1792–1804 (2006)

    Article  Google Scholar 

  32. Tyree, J., Akerman, A.: Architecture decisions: demystifying architecture. IEEE Softw. 22(2), 19–27 (2005)

    Article  Google Scholar 

  33. van der Ven, J.S., Bosch, J.: Architecture decisions: who, how and when. In: Babar, M.A., Brown, A., Mistrik, I. (eds.) Agile Software Architecture, pp. 113–136. Morgan Kaufmann, Boston (2013)

    Google Scholar 

  34. van der Ven, J.S., Bosch, J.: Making the right decision: supporting architects with design decision data. In: Drira, K. (ed.) ECSA 2013. LNCS, vol. 7957, pp. 176–183. Springer, Heidelberg (2013). doi:10.1007/978-3-642-39031-9_15

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Manoj Bhat .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this paper

Cite this paper

Bhat, M., Shumaiev, K., Biesdorf, A., Hohenstein, U., Matthes, F. (2017). Automatic Extraction of Design Decisions from Issue Management Systems: A Machine Learning Based Approach. In: Lopes, A., de Lemos, R. (eds) Software Architecture. ECSA 2017. Lecture Notes in Computer Science(), vol 10475. Springer, Cham. https://doi.org/10.1007/978-3-319-65831-5_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-65831-5_10

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-65830-8

  • Online ISBN: 978-3-319-65831-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics