Skip to main content
Log in

Achieving traceability in large scale continuous integration and delivery deployment, usage and validation of the eiffel framework

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

The importance of traceability in software development has long been recognized, not only for reasons of legality and certification, but also to enable the development itself. At the same time, organizations are known to struggle to live up to traceability requirements, and there is an identified lack of studies on traceability practices in the industry, not least in the area of tooling and infrastructure. This paper presents, investigates and discusses Eiffel, an industry developed solution designed to provide real time traceability in continuous integration and delivery. The traceability needs of industry professionals are also investigated through interviews, providing context to that solution. It is then validated through further interviews, a comparison with previous traceability methods and a review of literature. It is found to address the identified traceability needs and found in some cases to reduce traceability data acquisition times from days to minutes, while at the same time alternatives offering comparable functionality are lacking. In this work, traceability is shown not only to be an important concern to engineers, but also regarded as a prerequisite to successful large scale continuous integration and delivery. At the same time, promising developments in technical infrastructure are documented and clear differences in traceability mindset between separate industry projects is revealed.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5

Similar content being viewed by others

Notes

  1. https://github.com/Ericsson/eiffel

  2. https://github.com/Ericsson/eiffel

References

  • Abreu R, Erdogmus H, Perez A (2015) Codeaware: sensor-based fine-grained monitoring and management of software artifacts. In: Proceedings of the 37th international conference on software engineering-volume 2. IEEE Press, pp 551–554

  • Antoniol G, Gerardo C, Gerardo C, De Lucia A, Ettore M (2002) Recovering traceability links between code and documentation. IEEE Trans Softw Eng 28(10):970–983

    Article  Google Scholar 

  • Asuncion HU, Taylor RN (2009) Capturing custom link semantics among heterogeneous artifacts and tools. In: Proceedings of the 2009 icse workshop on traceability in emerging forms of software engineering. IEEE Computer Society, pp 1–5

  • Asuncion HU, Asuncion AU, Taylor RN (2010) Software traceability with topic modeling. In: Proceedings of the 32nd acm/ieee international conference on software engineering-volume 1. ACM, pp 95–104

  • BEL-V BfS CSN ISTec ONR SSM STUK (2013) Licensing of safety critical software for nuclear reactors

  • Bouillon E, Mäder P, Philippow I (2013) A survey on usage scenarios for requirements traceability in practice. In: Requirements engineering: Foundation for software quality. Springer, pp 158–173

  • Center of Excellence of Software Traceability (2015). http://coest.org[Online; accessed 11-June-2015]

  • Cleland-Huang J, Gotel OCZ, Hayes JH, Mäder P, Zisman A (2014) Software traceability: trends and future directions. In: Proceedings of the on future of software engineering, pp 55–69. ACM

  • Clements P, Northrop L (2002) Software product lines, Practices and patterns. The sei series in software engineering. Addison-Wesley

  • Cook TD, Campbell DT, Day A (1979) Quasi-experimentation: Design & analysis issues for field settings, vol 351. Houghton Mifflin, Boston

    Google Scholar 

  • Dabrowski Robert, Stencel K, Timoszuk G (2012) Improving software quality by improving architecture management. In: Proceedings of the 13th international conference on computer systems and technologies. ACM, pp 208–215

  • Dabrowski R, Timoszuk G, Stencel K (2013) One graph to rule them all software measurement and management. Fundamenta Informaticae 128(1-2):47–63

    MathSciNet  MATH  Google Scholar 

  • Dömges R, Pohl K (1998) Adapting traceability environments to project-specific needs. Commun ACM 41(12):54–62

    Article  Google Scholar 

  • European Cooperation for Space Standardization (2015) ECSS-E-40C

  • Fitzgerald B (2006) The transformation of open source software. Mis Quarterly

  • Gotel OCZ, Finkelstein ACW (1994) An analysis of the requirements traceability problem. In: Requirements engineering, 1994., proceedings of the first international conference on IEEE, pp 94–101

  • Hove S E, Anda B (2005) Experiences from conducting semi-structured interviews in empirical software engineering research. In: Software metrics, 2005. 11th ieee international symposium, 10. IEEE

  • Humble J, Farley D (2010) Continuous delivery: reliable software releases through build, test, and deployment automation. Pearson Education

  • Ki Y, Song M (2009) An open source-based approach to software development infrastructures. In: Proceedings of the 2009 ieee/acm international conference on automated software engineering, 525–529. IEEE Computer Society

  • Kitchenham B (2004) Procedures for performing systematic reviews. Keele UK Keele University 33(2004):1–26

    Google Scholar 

  • Mäder P, Gotel O, Philippow I (2009) Motivation matters in the traceability trenches. In: Requirements engineering conference, 2009. re’09. 17th ieee international. IEEE, pp 143–148

  • Meyer B (1988) Eiffel: A language and environment for software engineering. J Syst Softw 8(3):199–246

    Article  Google Scholar 

  • Nerur S, Mahapatra R, Mangalaraj G (2005) Challenges of migrating to agile methodologies. Commun ACM 48(5):72–78

    Article  Google Scholar 

  • Oliveto R, Malcom G, Poshyvanyk D, De Lucia A (2010) On the equivalence of information retrieval methods for automated traceability link recovery. In: 18th international conference on program comprehension (icpc). IEEE, pp 68–71

  • QuEST Forum (2015) TL9000 Quality Management System. www.tl9000.org. [Online; accessed 11-June-2015]

  • Radio Technical Commission for Aeronautics (2011) DO-178C, Software Considerations in Airborne Systems and Equipment Certification

  • Ramesh B, Jarke M (2001) Toward reference models for requirements traceability. IEEE Trans Softw Eng 27(1):58–93

    Article  Google Scholar 

  • Rempel P, Mader P, Tobias K (2013) An empirical study on project-specific traceability strategies. In: Requirements engineering conference (re), 2013 21st ieee international. IEEE, pp 195–204

  • Roberts M (2004) Enterprise continuous integration using binary dependencies. In: Extreme programming and agile processes in software engineering. Springer, pp 194–201

  • Robson C (2011) Real world research: A resource for users of social research methods in applied settings 3rd edition. John Wiley & Sons, West Sussex

  • Runeson P, Höst M (2009) Guidelines for conducting and reporting case study research in software engineering. Empir Softw Eng 14(2):131–164

    Article  Google Scholar 

  • Rylander S (2008) Building a robust development environment. Dr Dobbs Journal

  • Ståhl D, Bosch V (2013) Experienced benefits of continuous integration in industry software product development: A case study. In: The 12th iasted international conference on software engineering,(innsbruck, austria, 2013), pp 736–743

  • Ståhl D, Bosch J (2014a) Automated software integration flows in industry: a multiple-case study. In: Companion proceedings of the 36th international conference on software engineering. ACM, pp 54–63

  • Ståhl D, Bosch J (2014b) Modeling continuous integration practice differences in industry software development. J Syst Softw 87:48–59

    Article  Google Scholar 

  • Ståhl D, Hallén K, Bosch J (2015) Continuous integration and delivery traceability in industry: Needs and practices (in review). In: Submitted for review

  • The Open-DO Initiative (2015) http://www.open-do.org[Online; accessed 12-June-2015]

  • van der Linden FJ, Schmid K, Rommes E (2007) Software product lines in action, The best industrial practice in product line engineering. Springer. https://books.google.se/books?id=PC4LyoSNNAkC

  • Wang W, Gupta A, Wu Y (2015) Continuously delivered? periodically upyeard? never changed? studying an open source project’s releases of code, requirements, and trace matrix. In: Just-in-time requirements engineering (jitre), 2015 ieee workshop on IEEE, pp 13–16

  • Wieringa R (1995) An introduction to requirements traceability

Download references

Acknowledgments

We wish to extend our sincere gratitude to the insightful, generous and helpful engineers at Ericsson AB and AB Volvo.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Daniel Ståhl.

Additional information

Communicated by: Patrick Mäder, Rocco Oliveto and Andrian Marcus

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Ståhl, D., Hallén, K. & Bosch, J. Achieving traceability in large scale continuous integration and delivery deployment, usage and validation of the eiffel framework. Empir Software Eng 22, 967–995 (2017). https://doi.org/10.1007/s10664-016-9457-1

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10664-016-9457-1

Keywords

Navigation