Skip to main content

The Known Unknowns: Discovering Trade-Offs Between Heterogeneous Code Changes

Invited Paper

  • Conference paper
  • First Online:
Book cover Embedded Computer Systems: Architectures, Modeling, and Simulation (SAMOS 2021)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13227))

Included in the following conference series:

Abstract

Software projects must adhere to a variety of non-functional requirements, also known as software qualities. Automated evaluation with respect to such requirements can be conducted thanks to a wide array of available tools. Each tool usually focuses on a specific quality, since heterogeneous analyses are needed for each non-functional requirement. Apart from an overall index expressing the project’s performance in terms of the software quality they specialize on, many tools recommend code changes that are expected to improve the aforementioned index. Thus, a development team that cares for more than one non-functional requirement is facing the problem of unknown trade-offs; besides improving the quality on which the tool that generated each suggestion focuses, how would this code change, if implemented, affect the rest of the non-functional requirements? We present a framework for dealing with this problem. We pick energy efficiency, technical debt and software security as our qualities of interest, and use three respective tools for the analysis of several open-source projects with regard to these qualities. We develop an extensible empirical model, based on fuzzy sets, for the characterization of each suggestion’s trade-offs. Finally, we present an intuitive visualization of said trade-offs, and suggest a method of utilizing them towards reliable decision-making.

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

    https://www.iso.org/standard/35733.html.

  2. 2.

    https://reactjs.org/.

  3. 3.

    https://www.docker.com/.

  4. 4.

    https://www.postgresql.org/.

  5. 5.

    platform.sdk4ed.eu/.

  6. 6.

    Since this is a prototype, we do not intend to delve into further details. We use the figures in this section as assistants to the reader’s intuition.

  7. 7.

    Preference declaration is trivial given an MCDM algorithm. The reader may study [30] for the particular case that we implemented.

References

  1. Boehm, B.W., Brown, J.R., Lipow, M.: Quantitative evaluation of software quality. In: Proceedings of the 2nd International Conference on Software Engineering, pp. 592–605 (1976)

    Google Scholar 

  2. Kan, S.H.: Metrics and Models in Software Quality Engineering. Addison-Wesley Professional, Boston (2003)

    MATH  Google Scholar 

  3. Kitchenham, B., Pfleeger, S.L.: Software quality: the elusive target [special issues section]. IEEE Softw. 13(1), 12–21 (1996)

    Article  Google Scholar 

  4. Tsantalis, N., Chaikalis, T., Chatzigeorgiou, A.: JDeodorant: identification and removal of type-checking bad smells. In: 2008 12th European Conference on Software Maintenance and Reengineering, pp. 329–331. IEEE (2008)

    Google Scholar 

  5. Bakota, T., Hegedűs, P., Körtvélyesi, P., Ferenc, R., Gyimóthy, T.: A probabilistic software quality model. In: 2011 27th IEEE International Conference on Software Maintenance (ICSM), September 2011, pp. 243–252 (2011). iSSN: 1063–6773

    Google Scholar 

  6. Samoladas, I., Gousios, G., Spinellis, D., Stamelos, I.: The SQO-OSS quality model: measurement based open source software evaluation. In: Russo, B., Damiani, E., Hissam, S., Lundell, B., Succi, G. (eds.) OSS 2008. ITIFIP, vol. 275, pp. 237–248. Springer, Boston, MA (2008). https://doi.org/10.1007/978-0-387-09684-1_19

    Chapter  Google Scholar 

  7. Miguel, J.P., Mauricio, D., Rodríguez, G.: A review of software quality models for the evaluation of software products. Int. J. Softw. Eng. Appl. 5(6), 31–53 (2014). http://airccse.org/journal/ijsea/papers/5614ijsea03.pdf

  8. Mens, T., Tourwé, T.: A survey of software refactoring. IEEE Trans. Softw. Eng. 30(2), 126–139 (2004)

    Article  Google Scholar 

  9. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (2018)

    MATH  Google Scholar 

  10. Brito, A., Hora, A., Valente, M.T.: Refactoring graphs: assessing refactoring over time. In: 2020 IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 367–377. IEEE (2020)

    Google Scholar 

  11. Campbell, G.A., Papapetrou, P.P.: SonarQube in Action. Manning Publications Co. (2013)

    Google Scholar 

  12. Luk, C.-K., et al.: Pin: building customized program analysis tools with dynamic instrumentation. ACM SIGPLAN Not. 40(6), 190–200 (2005)

    Article  Google Scholar 

  13. Siavvas, M., et al.: The SDK4ED platform for embedded software quality improvement - preliminary overview. In: Gervasi, O., et al. (eds.) ICCSA 2020. LNCS, vol. 12252, pp. 1035–1050. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-58811-3_73

    Chapter  Google Scholar 

  14. Siavvas, M., Gelenbe, E.: Optimum checkpoints for programs with loops. Simul. Model. Pract. Theory 97, 101951 (2019)

    Article  Google Scholar 

  15. Kehagias, D., Jankovic, M., Siavvas, M., Gelenbe, E.: Investigating the interaction between energy consumption, quality of service, reliability, security, and maintainability of computer systems and networks. SN Comput. Sci. 2(1), 1–6 (2021)

    Article  Google Scholar 

  16. Che, S., et al.: Rodinia: a benchmark suite for heterogeneous computing. In: IEEE International Symposium on Workload Characterization (IISWC), pp. 44–54. IEEE (2009)

    Google Scholar 

  17. Pouchet, L.-N., et al.: PolyBench: The polyhedral benchmark suite (2012). http://www.cs.ucla.edu/pouchet/software/polybench

  18. Papadopoulos, L., Marantos, C., Digkas, G., Ampatzoglou, A., Chatzigeorgiou, A., Soudris, D.: Interrelations between software quality metrics, performance and energy consumption in embedded applications. In: Proceedings of the 21st International Workshop on Software and Compilers for Embedded Systems, pp. 62–65 (2018)

    Google Scholar 

  19. Siavvas, M., Marantos, C., Papadopoulos, L., Kehagias, D., Soudris, D., Tzovaras, D.: On the relationship between software security and energy consumption. In: 15th China-Europe International Symposium on Software Engineering Education (2019)

    Google Scholar 

  20. Siavvas, M., et al.: An empirical evaluation of the relationship between technical debt and software security. In: 9th International Conference on Information society and technology (ICIST), vol. 2019 (2019)

    Google Scholar 

  21. Li, B., Sun, X., Leung, H., Zhang, S.: A survey of code-based change impact analysis techniques. Softw. Test. Verification Reliab. 23(8), 613–646 (2013)

    Article  Google Scholar 

  22. Mongiovi, M., Gheyi, R., Soares, G., Teixeira, L., Borba, P.: Making refactoring safer through impact analysis. Sci. Comput. Program. 93, 39–64 (2014)

    Article  Google Scholar 

  23. Yu, P.-L.: Multiple-Criteria Decision Making: Concepts, Techniques, and Extensions, vol. 30. Springer, Heidelberg (2013)

    Google Scholar 

  24. Sitorus, F., Brito-Parada, P.R.: A multiple criteria decision making method to weight the sustainability criteria of renewable energy technologies under uncertainty. Renew. Sustain. Energy Rev. 127, 109891 (2020)

    Article  Google Scholar 

  25. Kou, G., Yang, P., Peng, Y., Xiao, F., Chen, Y., Alsaadi, F.E.: Evaluation of feature selection methods for text classification with small datasets using multiple criteria decision-making methods. Appl. Soft Comput. 86, 105836 (2020)

    Article  Google Scholar 

  26. Cinelli, M., Kadziński, M., Gonzalez, M., Słowiński, R.: How to support the application of multiple criteria decision analysis? Let us start with a comprehensive taxonomy. Omega 96, 102261 (2020)

    Article  Google Scholar 

  27. Honsel, D., Herbold, V., Waack, S., Grabowski, J.: Investigation and prediction of open source software evolution using automated parameter mining for agent-based simulation. Autom. Softw. Eng. 28(1), 1–37 (2021). https://doi.org/10.1007/s10515-021-00280-3

    Article  Google Scholar 

  28. Pati, J., Kumar, B., Manjhi, D., Shukla, K.K.: A comparison among ARIMA, BP-NN, and MOGA-NN for software clone evolution prediction. IEEE Access 5, 11841–11851 (2017)

    Article  Google Scholar 

  29. Boaye Belle, A.: Estimation and prediction of technical debt: a proposal. arXiv e-prints, arXiv:1904 (2019)

  30. Guo, S., Zhao, H.: Fuzzy best-worst multi-criteria decision-making method and its applications. Knowl.-Based Syst. 121, 23–31 (2017)

    Article  Google Scholar 

  31. Tsoukalas, D., Siavvas, M., Jankovic, M., Kehagias, D., Chatzigeorgiou, A., Tzovaras, D.: Methods and tools for TD estimation and forecasting: a state-of-the-art survey. In: International Conference on Intelligent Systems (IS) 2018, pp. 698–705 (2018)

    Google Scholar 

Download references

Acknowledgments

This work has received funding by the EU H2020 research and innovation programme EXA2PRO under grant agreement No. 801015.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Christos P. Lamprakos .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Lamprakos, C.P., Marantos, C., Papadopoulos, L., Soudris, D. (2022). The Known Unknowns: Discovering Trade-Offs Between Heterogeneous Code Changes. In: Orailoglu, A., Jung, M., Reichenbach, M. (eds) Embedded Computer Systems: Architectures, Modeling, and Simulation. SAMOS 2021. Lecture Notes in Computer Science, vol 13227. Springer, Cham. https://doi.org/10.1007/978-3-031-04580-6_23

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-04580-6_23

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-04579-0

  • Online ISBN: 978-3-031-04580-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics