Skip to main content

Predicting Code Merge Conflicts and Selecting Optimal Code Branching Strategy for Quality Improvement in Banking Sector

  • Chapter
  • First Online:
Book cover System Performance and Management Analytics

Part of the book series: Asset Analytics ((ASAN))

  • 1351 Accesses

Abstract

Code branching and merging plays a very critical role in the software development in an enterprise. Branching provides parallel development by enabling several development teams to work in isolation on multiple piece of code in parallel without impacting each other. Merging is a process to integrate the code of different teams together, which is achieved by moving the code around the branches. The process of merging can be very troublesome as it may contribute to enormous code merge or integration defects also known as code merge conflicts. One of the major problems faced by the practitioners is to predict the number of code merge conflicts and plan for the resolution of these conflicts. Another problem that is faced in an enterprise is to select an appropriate code branching strategy. Selection of a suitable code branching strategy is a multi-criteria decision making problem which involves multiple criteria and alternatives. This paper proposes a hybrid approach for predicting code merge conflicts and selecting the most suitable code branching strategy. Artificial neural network (ANN) is applied in a large enterprise to predict the code merge conflicts; thereafter analytic hierarchy process (AHP) is applied to select the most suitable code branching strategy. Total four code branching strategies have been considered in this paper. The outcome from the proposed approach successfully predicts the number of code conflicts and selects Branching Set-A as the most suitable code branching strategy with the highest priority weight of 0.287. The proposed methodology proved out to be very useful instrument for enterprises to quantitatively predict code merge conflicts and select the most suitable code branching strategy.

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 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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. Baudiš, P. (2014). Current concepts in version control systems. arXiv preprint arXiv:1405.3496.

  2. Buffenbarger, J., & Gruell, K. (1999). A branching/merging strategy for parallel software development. In System Configuration Management (pp. 86–99).

    Google Scholar 

  3. Phillips, S., Sillito, J., & Walker, R. (2011) Branching and merging: an investigation into current version control practices. In Proceedings of the 4th International Workshop on Cooperative and Human Aspects of Software Engineering (pp. 9–15). ACM.

    Google Scholar 

  4. Branching (version control). Website. https://en.wikipedia.org/wiki/Branching(version_control).

  5. Merge (version control). Website. https://en.wikipedia.org/wiki/Merge_(version_control).

  6. Jacob, J., Rodriguez, M., & Barry, G. Team foundation server branching guidance. Microsoft.

    Google Scholar 

  7. Somerville, I. (2001). Software engineering (6th ed.). Boston, MA: Addison-Wesley.

    Google Scholar 

  8. Kaushik, A., Soni, A. K., & Soni, R. (2013). A simple neural network approach to software cost estimation. Global Journal of Computer Science and Technology, 13(1).

    Google Scholar 

  9. Shihab, E., Bird, C., & Zimmermann, T. (2012) The effect of branching strategies on software quality. In Proceedings of the 2012 ACM-IEEE International Symposium on Empirical Software Engineering and Measurement (pp. 301–310). IEEE.

    Google Scholar 

  10. Saaty, T. L. (2008). Decision making with the analytic hierarchy process. International Journal Services Sciences, 1(1), 83–98.

    Article  Google Scholar 

  11. Meier, J. D. (2009). Microsoft application architecture guide (2nd ed.). Website. https://www.microsoft.com/downloads/details.asp.

  12. Appleton, B., Berczuk, S., Cabrera, R., & Orenstein, R. (1998). Streamed lines: Branching patterns for parallel software development. In Proceedings of the Pattern Languages of Programs Conference, PLoP, (Vol. 98).

    Google Scholar 

  13. Walrad, C., & Strom, D. (2002) The importance of branching models in SCM. Computer, 35, 31–38.

    Google Scholar 

  14. Kapur, P. K., Pham, H., Gupta, A., & Jha, P. C. (2011). Software reliability assessment with OR applications. London: Springer.

    Book  Google Scholar 

  15. Kapur, P. K., Garg, R. B., & Kumar, S. (1999) Contributions to hardware and software reliability. World Scientific.

    Google Scholar 

  16. Bird, C., Zimmermann, T., & Teterev, A. (2011). A theory of branches as goals and virtual teams. In Proceedings of the International Workshop on Cooperative and Human Aspects of Software Engineering (pp. 53–56).

    Google Scholar 

  17. Brun, Y., Holmes, R., Ernst, M. D., & Notkin, D. (2011). Proactive detection of collaboration conflicts. In Proceedings of the 19th ACM SIGSOFT Symposium and the 13th European Conference on Foundations of Software Engineering (pp. 168–178). ACM.

    Google Scholar 

  18. Arve, D. (2010). Branching strategies with distributed version control in Agile projects. Website. http://fileadmin.cs.lth.se/cs/Personal/lars_bendix/research/ascm/in-depth/arve-2010.pdf.

  19. McCulloch, W. S., & Pitts, W. (1943). A logical calculus of the ideas immanent in nervous activity. The Bulletin of Mathematical Biophysics, 5(4), 115–133.

    Article  Google Scholar 

  20. Singh, Y., Kaur, A., & Malhotra, R. (2008). Predicting testing effort using artificial neural network. In Proceedings of the World Congress on Engineering and Computer Science, WCECS, San Francisco, USA.

    Google Scholar 

  21. Philip, A. A., Taofiki, A. A., & Bidemi, A. A. (2011). Artificial neural network for forecasting foreign exchange rate. World of Computer Science and Information Technology Journal, 1(3), 110–118.

    Google Scholar 

  22. Zhang, G., Patuwo, B. E., & Hu, M. Y. (1998). Forecasting with artificial neural networks: The state of the art. International Journal of Forecasting, 14, 35–62.

    Article  Google Scholar 

  23. Aggarwal, K. K., Singh, Y., Chandra, P., & Puri, M. (2005). Bayesian regularization in a neural network model to estimate lines of code using function points. Journal of Computer Sciences, 1(4), 505–509.

    Google Scholar 

  24. Sarcià, S. A., Cantone, G., & Basili, V. R. (2007) A statistical neural network framework for risk management process. In ICSOFT SE (pp. 168–177).

    Google Scholar 

  25. Oladokun, V. O., Adebanjo, A. T., & Charles-Owaba, O. E. (2008) Predicting student’s academic performance using artificial neural network: A case study of an engineering course, The Pacific Journal of Science and Technology, 9(1), 72–79.

    Google Scholar 

  26. Triantaphyllou, E., & Mann, S. H. (1995). Using the analytic hierarchy process for decision making in engineering applications: Some challenges. International Journal of Industrial Engineering: Applications and Practice, 2(1), 35–44.

    Google Scholar 

  27. Kapur, P. K., Nagpal, S., & Khatri, S. K. (2014). Critical success factor utility based tool for ERP health assessment—A general framework. International Journal of System Assurance Engineering and Management, 5(2), 133–148.

    Article  Google Scholar 

  28. Cheong, C. W., Jie, L. H., Meng, M. C., & Lan, A. L. H. (2008). Design and development of decision making system using fuzzy analytic hierarchy process. American Journal of Applied Sciences, 5(7), 783–787.

    Article  Google Scholar 

  29. Reddy, C. S., & Raju, K. (2009) A concise neural network model for estimating software effort. International Journal of Recent Trends in Engineering, 1(1), 188–193.

    Google Scholar 

  30. Zhu, L., Aurum, A., Gorton, I., & Jeffery, R. (2005). Trade off and sensitivity analysis in software architecture evaluation using analytic hierarchy process. Software Quality Journal, 14(4), 357–375.

    Article  Google Scholar 

  31. Kalyani, K. (2012). Recent trends and challenges in enterprise application integration. International Journal of Application or Innovation in Engineering & Management, 1(4), 62–71.

    Google Scholar 

  32. Perry, W. E. (2006). Effective methods for software testing (3rd ed.). Indianapolis, IN: Wiley.

    Google Scholar 

  33. Khaze, A. R., Masdari, M., & Hojjatkhah, S. (2013). Application of artificial neural networks in estimating participation in elections. International Journal of Information Technology, Modeling and Computing, 1(3), 23–31.

    Article  Google Scholar 

  34. Lai, V. S., Trueblood, R. P., & Wong, B. K. (1999). Software selection: A case study of the application of the analytic hierarchy process to the selection of a multimedia authoring system. Information & Management, 36(4), 221–232.

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Viral Gupta .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2019 Springer Nature Singapore Pte Ltd.

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Gupta, V., Kapur, P.K., Kumar, D., Singh, S.P. (2019). Predicting Code Merge Conflicts and Selecting Optimal Code Branching Strategy for Quality Improvement in Banking Sector. In: Kapur, P., Klochkov, Y., Verma, A., Singh, G. (eds) System Performance and Management Analytics. Asset Analytics. Springer, Singapore. https://doi.org/10.1007/978-981-10-7323-6_2

Download citation

Publish with us

Policies and ethics