Skip to main content

A Machine Learning Approach for Continuous Development

  • Conference paper
  • First Online:
Proceedings of 5th International Conference in Software Engineering for Defence Applications (SEDA 2016)

Part of the book series: Advances in Intelligent Systems and Computing ((AISC,volume 717))

Abstract

Complex and ephemeral software requirements, short time-to-market plans and fast changing information technologies have a deep impact on the design of software architectures, especially in Agile/DevOps projects where micro-services are integrated rapidly and incrementally. In this context, the ability to analyze new software requirements and understand very quickly and effectively their impact on the software architecture design becomes quite crucial. In this work we propose a novel and flexible approach for applying machine learning techniques to assist and speed-up the continuous development process, specifically within the mission-critical domain, where requirements are quite difficult to manage. More specifically, we introduce an Intelligent Software Assistant, designed as an open and plug-in based architecture powered by Machine Learning techniques and present a possible instantiation of this architecture in order to prove the viability of our solution.

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 129.00
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.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

References

  1. P. Avesani, C. Bazzanella, A. Perini, A. Susi, Facing scalability issues in requirements prioritization with machine learning techniques, in 13th IEEE International Conference on Requirements Engineering (RE’05) (2005), pp. 297–305

    Google Scholar 

  2. F. Bachmann, L. Bass, M. Klein, Preliminary design of ArchE: a software architecture design assistant CMU/SEI Technical Report 21 (2003)

    Google Scholar 

  3. G. Boetticher, Using machine learning to predict project effort: empirical case studies in data-starved domains, in 1st International Workshop on Model-Based Requirements Engineering (2001)

    Google Scholar 

  4. J. Bosch, Software architecture: the next step, in European Workshop on Software Architecture (2004)

    Google Scholar 

  5. W. Buntine, Learning classification trees. Stat. Comput. 2(2), 63–73 (1992)

    Article  Google Scholar 

  6. P. Ciancarini, A. Messina, F. Poggi, D. Russo, Agile knowledge engineering for mission critical software requirements, in Synergies Between Knowledge Engineering and Software Engineering (Springer, 2018), pp. 151–171

    Google Scholar 

  7. P. Ciancarini, F. Poggi, D. Russo, Big data quality: a roadmap for open data, in Proceedings of the 2nd IEEE International Conference on Big Data Service (BigDataService ’16) (2016), pp. 210–215

    Google Scholar 

  8. P. Ciancarini, D. Russo, A. Sillitti, G. Succi, A guided tour of the legal implications of software cloning, in 38th International Conference on Software Engineering (ICSE ’16) (2016), pp. 563–572

    Google Scholar 

  9. P. Ciancarini, D. Russo, A. Sillitti, G. Succi, Reverse engineering: a legal perspective, in 31st Annual ACM Symposium on Applied Computing (SAC ’16) (2016), pp. 1498–1503

    Google Scholar 

  10. X. Cui, Y. Sun, H. Mei, Towards automated solution synthesis and rationale capture in decision-centric architecture design, in 7th IEEE/IFIP Working conference on software architecture (WICSA’08) (2008), pp. 221–230

    Google Scholar 

  11. H. Erdogmus, Architecture meets agility. IEEE Softw. 26(5), 2–4 (2009)

    Article  Google Scholar 

  12. B. Fitzgerald, K.-J. Stol, Continuous software engineering: a roadmap and agenda. J. Syst. Softw. 123, 176–189 (2017)

    Article  Google Scholar 

  13. S. Gazzerro, R. Marsura, A. Messina, S. Rizzo, Capturing user needs for agile software development, in 4th International Conference in Software Engineering for Defence Applications (2016), pp. 307–319

    Google Scholar 

  14. C. Giraud–Carrier, A note on the utility of incremental learning. AI Commun. 13(4), 215–223 (2000)

    Google Scholar 

  15. G. Hohpe, I. Ozkaya, U. Zdun, O. Zimmermann, The software architect role in the digital age. IEEE Softw. 33(6), 30–39 (2016)

    Article  Google Scholar 

  16. V. Lomonaco, D. Maltoni, Comparing incremental learning strategies for convolutional neural networks, in IAPR Workshop on Artificial Neural Networks in Pattern Recognition (2016), pp. 175–184

    Google Scholar 

  17. V. Lomonaco, D. Maltoni, CORe50: a new dataset and benchmark for continuous object recognition (2017), http://arXiv.org/abs/1705.03550

  18. C. Mair et al., An investigation of machine learning based prediction systems. J. Syst. Softw. 53(1), 23–29 (2000)

    Article  MathSciNet  Google Scholar 

  19. I. Malavolta, H. Muccini, P. Pelliccione, D. Tamburri, Providing architectural languages and tools interoperability through model transformation technologies. IEEE Trans. Softw. Eng. 36(1), 119–140 (2010)

    Article  Google Scholar 

  20. A. Martini, J. Bosch, A multiple case study of continuous architecting in large agile companies: current gaps and the CAFFEA framework, in 13th IEEE/IFIP Working conference on software architecture (WICSA’16) (2016), pp. 1–10

    Google Scholar 

  21. A. Messina, F. Fiore, M. Ruggiero, P. Ciancarini, D. Russo, A new agile paradigm for mission critical software development. J. Def. Softw. Eng. (CrossTalk) 29(6), 25–30 (2016)

    Google Scholar 

  22. R. Nelson, S. Winter, An Evolutionary Theory of Economic Change (Harvard University Press, 1982)

    Google Scholar 

  23. A. Perini, A. Susi, P. Avesani, A machine learning approach to software requirements prioritization. IEEE Trans. Softw. Eng. 39(4), 445–461 (2013)

    Article  Google Scholar 

  24. D. Russo, Benefits of open source software in defense environments, in 4th International Conference in Software Engineering for Defence Applications (SEDA ’15) (2016), pp. 123–131

    Google Scholar 

  25. D. Russo, P. Ciancarini, T. Falasconi, M. Tomasi, Software quality concerns in the Italian bank sector: the emergence of a meta-quality dimension, in 39th International Conference on Software Engineering (ICSE ’17) (2017), pp. 63–72

    Google Scholar 

  26. D. Russo, P. Ciancarini, A proposal for an antifragile software manifesto. Proc. Comput. Sci. 83(1), 982–987 (2016)

    Article  Google Scholar 

  27. D. Russo, P. Ciancarini, Towards antifragile software architectures. Proc. Comput. Sci. 109, 929–934 (2017)

    Article  Google Scholar 

  28. E.S. Yu, Towards modelling and reasoning support for early-phase requirements engineering, in 3rd IEEE International Symposium on Requirements Engineering (WICSA’16) (IEEE), pp. 226–235

    Google Scholar 

  29. D. Zhang, J.P. Tsai, Machine learning and software engineering. Softw. Qual. J. 11(2), 87–119 (2003)

    Article  Google Scholar 

Download references

Acknowledgements

The Authors wish to thank the Consorzio Interuniversitario Nazionale per l’Informatica (CINI) and the Italian National Research Council (ISTC–CNR) for the partial financial support.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Russo .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2018 Springer International Publishing AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Russo, D., Lomonaco, V., Ciancarini, P. (2018). A Machine Learning Approach for Continuous Development. In: Ciancarini, P., Litvinov, S., Messina, A., Sillitti, A., Succi, G. (eds) Proceedings of 5th International Conference in Software Engineering for Defence Applications. SEDA 2016. Advances in Intelligent Systems and Computing, vol 717. Springer, Cham. https://doi.org/10.1007/978-3-319-70578-1_11

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-70578-1_11

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-70577-4

  • Online ISBN: 978-3-319-70578-1

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics