DOI QR코드

DOI QR Code

SAT-Analyser Traceability Management Tool Support for DevOps

  • Rubasinghe, Iresha (Dept. of Computer Science and Engineering, University of Moratuwa) ;
  • Meedeniya, Dulani (Dept. of Computer Science and Engineering, University of Moratuwa) ;
  • Perera, Indika (Dept. of Computer Science and Engineering, University of Moratuwa)
  • Received : 2019.03.27
  • Accepted : 2019.10.14
  • Published : 2021.10.31

Abstract

At present, DevOps environments are getting popular in software organizations due to better collaboration and software productivity over traditional software process models. Software artefacts in DevOps environments are vulnerable to frequent changes at any phase of the software development life cycle that create a continuous integration continuous delivery pipeline. Therefore, software artefact traceability management is challenging in DevOps environments due to the continual artefact changes; often it makes the artefacts to be inconsistent. The existing software traceability related research shows limitations such as being limited to few types of artefacts, lack of automation and inability to cope with continuous integrations. This paper attempts to overcome those challenges by providing traceability support for heterogeneous artefacts in DevOps environments using a prototype named SAT-Analyser. The novel contribution of this work is the proposed traceability process model consists of artefact change detection, change impact analysis, and change propagation. Moreover, this tool provides multi-user accessibility and is integrated with a prominent DevOps tool stack to enable collaborations. The case study analysis has shown high accuracy in SAT-Analyser generated results and have obtained positive feedback from industry DevOps practitioners for its efficacy.

Keywords

Acknowledgement

We acknowledge the support received from the Conference & Publishing Support (Senate Research Committee), University of Moratuwa, Sri Lanka in publishing this paper.

References

  1. I. Sommerville, Software Engineering, 9th ed. Boston, MA: Pearson, 2011.
  2. G. Kim, J. Humble, P. Debois, and J. Willis, The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations. Portland, OR: IT Revolution Press, 2016.
  3. L. Bass, I. Weber, and L. Zhu, DevOps: A Software Architect's Perspective. Boston, MA: Pearson, 2015.
  4. P. M. Duvall, S. Matyas, and A. Glover, Continuous Integration: Improving Software Quality and Reducing Risk. Boston, MA: Pearson, 2007.
  5. A. Berg, Jenkins Continuous Integration Cookbook. Birmingham, UK: Packt Publishing Ltd., 2012.
  6. J. Cleland-Huang, O. Gotel, and A. Zisman, Software and Systems Traceability. London, UK: Springer, 2012.
  7. Trello [Online]. Available: https://trello.com/.
  8. R. Oliveto, "Traceability management meets information retrieval methods-strengths and limitations," in Proceedings of 2008 12th European Conference on Software Maintenance and Reengineering, Athens, Greece, 2008, pp. 302-305.
  9. E. Kitsu, T. Omori, and K. Maruyama, "Detecting program changes from edit history of source code," in Proceedings of 2013 20th Asia-Pacific Software Engineering Conference (APSEC), Bangkok, Thailand, 2013, pp. 299-306.
  10. K. Kamalabalan, T. Uruththirakodeeswaran, G. Thiyagalingam, D. B. Wijesinghe, I. Perera, D. Meedeniya, and D. Balasubramaniam, "Tool support for traceability of software artefacts," in Proceedings of 2015 Moratuwa Engineering Research Conference (MERCon), Moratuwa, Sri Lanka, 2015, pp. 318-323.
  11. D. Meedeniya, I. Rubasinghe, and I. Perera, "Artefact consistency management in DevOps practice: A survey," in Tools and Techniques for Software Development in Large Organizations: Emerging Research and Opportunities. Hershey, PA: IGI Global, 2020, pp. 98-129.
  12. X. Sun, B. Li, C. Tao, W. Wen, and S. Zhang, "Change impact analysis based on a taxonomy of change types," in Proceedings of 2010 IEEE 34th Annual Computer Software and Applications Conference, Seoul, Korea, 2010, pp. 373-38.
  13. W. T. Lee, W. Y. Deng, J. Lee, and S. J. Lee, "Change impact analysis with a goal-driven traceability-based approach," International Journal of Intelligent Systems, vol. 25, no. 8, pp. 878-908, 2010. https://doi.org/10.1002/int.20443
  14. A. Goknil, I. Kurtev, K. Van Den Berg, and W. Spijkerman, "Change impact analysis for requirements: A metamodeling approach," Information and Software Technology, vol. 56, no. 8, pp. 950-972, 2014. https://doi.org/10.1016/j.infsof.2014.03.002
  15. Y. Wang, J. Zhang, and Y. Fu, "Rule-based change impact analysis method in software development," in Proceedings of the 2nd International Conference on Computer Engineering, Information Science & Application Technology (ICCIA 2017), Wuhan, China, 2016, pp. 384-391.
  16. M. Borg, K. Wnuk, B. Regnell, and P. Runeson, "Supporting change impact analysis using a recommendation system: An industrial case study in a safety-critical context," IEEE Transactions on Software Engineering, vol. 43, no. 7, pp. 675-700, 2016. https://doi.org/10.1109/TSE.2016.2620458
  17. S. Wong, Y. Cai, and M. Dalton, "Change impact analysis with stochastic dependencies," 2011 [Online]. Available: https://www.cs.drexel.edu/files/jmf323/wong-icse11b_0.pdf.
  18. S. Lehnert and M. Riebisch, "Rule-based impact analysis for heterogeneous software artifacts," in Proceedings of 2013 17th European Conference on Software Maintenance and Reengineering, Genova, Italy, 2013, pp. 209-218.
  19. V. Farcic, The DevOps 2.0 Toolkit: Automating the Continuous Deployment Pipeline with Containerized Microservices. Victoria, Canada: Leanpub, 2016.
  20. A. Arunthavanathan, S. Shanmugathasan, S. Ratnavel, V. Thiyagarajah, I. Perera, D. Meedeniya, and D. Balasubramaniam, "Support for traceability management of software artefacts using natural language processing," in Proceedings of 2016 Moratuwa Engineering Research Conference (MERCon), Moratuwa, Sri Lanka, 2016, pp. 18-23.
  21. I. Rubasinghe, D. Meedeniya, and I. Perera, "Tool support for software artefact traceability in DevOps practice: SAT-Analyser," in Tools and Techniques for Software Development in Large Organizations: Emerging Research and Opportunities. Hershey, PA: IGI Global, 2020, pp. 130-167.
  22. Jaro-Winkler Distance [Online]. Available: https://scholar.harvard.edu/jfeigenbaum/software/jaro-winkler-distance.
  23. The Levenshtein-Algorithm [Online], Available: http://www.levenshtein.net.
  24. Neo4j Inc., "Graph Visualization Tools," 2021 [Online]. Available: https://neo4j.com/developer/tools-graphvisualization/.
  25. Gephi, "The Open Graph Viz Platform," 2017 [Online]. Available: https://gephi.org/.
  26. NetworkX [Online]. Available: https://networkx.github.io.
  27. D3.js: data-driven documents [Online]. Available: https://d3js.org/.
  28. I. D. Rubasinghe, D. A. Meedeniya, and I. Perera, "Software artefact traceability analyser: a case-study on POS system," in Proceedings of the 6th International Conference on Communications and Broadband Networking, Singapore, 2018, pp. 1-5.
  29. I. Rubasinghe, D. Meedeniya, and I. Perera, "Automated inter-artefact traceability establishment for DevOps practice," in Proceedings of 2018 IEEE/ACIS 17th International Conference on Computer and Information Science (ICIS), Singapore, 2018, pp. 211-216.
  30. SAT-Analyser [Online]. Available: https://sites.google.com/cse.mrt.ac.lk/sat-analyser/case-studies.
  31. S. Gwizdala, Y. Jiang, and V. Rajlich, "Tracker: a tool for change propagation in Java," in Proceedings of the 7th European Conference on Software Maintenance and Reengineering, Benevento, Italy, 2003, pp. 223-229.
  32. J. Buckner, J. Buchta, M. Petrenko, and V. Rajlich, "JRipples: a tool for program comprehension during incremental change," in Proceedings of the 13th International Workshop on Program Comprehension (IWPC), St. Louis, MO, 2005, pp. 149-152.
  33. G. Bavota, L. Colangelo, A. De Lucia, S. Fusco, R. Oliveto, and A. Panichella, "TraceME: traceability management in eclipse," in Proceedings of 2012 28th IEEE International Conference on Software Maintenance (ICSM), Trento, Italy, 2012, pp. 642-645.
  34. R. Dautriche, R. Blanch, A. Termier, and M. Santana, "TraceViz: a visualization framework for interactive analysis of execution traces," in Actes de la 28ieme conference francophone sur l'Interaction Homme-Machine, Fribourg, Switzerland, 2016, pp. 115-125.
  35. X. Chen, J. Hosking, J. Grundy, and R. Amor, "DCTracVis: a system retrieving and visualizing traceability links between source code and documentation," Automated Software Engineering, vol. 25, no. 4, pp. 703-741, 2018. https://doi.org/10.1007/s10515-018-0243-8
  36. M. Acharya and B. Robinson, "Practical change impact analysis based on static program slicing for industrial software systems," in Proceedings of 2011 33rd International Conference on Software Engineering (ICSE), Honolulu, HI, 2011, pp. 746-755.
  37. L. Zhang, M. Kim, and S. Khurshid, "Faulttracer: a change impact and regression fault analysis tool for evolving java programs," in Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering, Cary, NC, 2012, pp. 1-4.
  38. B. Dit, M. Wagner, S. Wen, W. Wang, M. Linares-Vasquez, D. Poshyvanyk, and H. Kagdi, "Impactminer: a tool for change impact analysis," in Companion Proceedings of the 36th International Conference on Software Engineering, Hyderabad, India, 2014, pp. 540-543.
  39. H. C. Gall, B. Fluri, and M. Pinzger, "Change analysis with evolizer and changedistiller," IEEE Software, vol. 26, no. 1, pp. 26-33, 2009. https://doi.org/10.1109/MS.2009.6
  40. I. D. Rubasinghe, D. A. Meedeniya, and I. Perera, "Towards traceability management in continuous integration with SAT-Analyzer," in Proceedings of the 3rd International Conference on Communication and Information Processing, Tokyo, Japan, 2017, pp. 77-81.
  41. D. A. Meedeniya, I. D. Rubasinghe, and I. Perera, "Software artefacts consistency management towards continuous integration: a roadmap," International Journal of Advanced Computer Science and Applications, vol. 10, no. 4, pp. 100-110, 2019.
  42. D. A. Meedeniya, I. D. Rubasinghe, and I. Perera, "Traceability establishment and visualization of software artefacts in DevOps practice: a survey," International Journal of Advanced Computer Science and Applications, vol. 10, no. 7, pp. 66-76, 2019.