ABSTRACT
During the development of Critical Embedded Systems (CES), quality attributes that are critical for them (e.g., correctness, security, etc.) must be guaranteed. However, this often leads to complex quality trade-offs, since non-critical qualities (e.g., reusability, understandability, etc.) may be compromised. In this study, we aim at empirically investigating the existence of quality trade-offs, on the implemented architecture, among versions of open source CESs, and compare them with those of systems from other application domains. The results of the study suggest that in CES, non-critical quality attributes are usually compromised in favor of critical quality attributes. On the contrary, we have not observed compromises of critical qualities in favor of non-critical ones in either CES or other application domains. Furthermore, quality trade-offs are more frequent among critical quality attributes, compared to trade-offs among non-critical quality attributes. Our study has implications for both practitioners when making trade-offs in practice, as well as researchers that investigate quality trade-offs.
- Abran, A., Moore, J.W., Bourque, P., Dupuis, R. and Tripp, L.L. 2014. Guide to the Software Engineering Body of Knowledge.Google Scholar
- Aguiar, A., Filho, S.J., Magalhães, F.G., Casagrande, T.D. and Hessel, F. 2010. Hellfire: A design framework for critical embedded systems? applications. In Proceedings of the 11th International Symposium on Quality Electronic Design (2010). ISQED'10. 730?737.Google Scholar
- Alhusain, S., Coupland, S., John, R. and Kavanagh, M. 2013. Towards machine learning based design pattern recognition. In 13th UK Workshop on Computational Intelligence (2013). UKCI'13. 244?251.Google Scholar
- Alshammari, B., Fidge, C. and Corney, D. 2010. Security Metrics for Object-Oriented Designs. In Proceedings of the 21st Australian Software Engineering Conference (2010). ASWEC'10. 55?64. Google ScholarDigital Library
- Ampatzoglou, A., Gkortzis, A., Charalampidou, S. and Avgeriou, P. 2013. An Embedded Multiple-Case Study on OSS Design Quality Assessment across Domains. In Proceedings of the ACM / IEEE International Symposium on Empirical Software Engineering and Measurement (2013). ESEM'13. 255?258.Google Scholar
- Ampatzoglou, A., Michou, O. and Stamelos, I. 2013. Building and mining a repository of design pattern instances: Practical and research benefits. Entertainment Computing. 4, 2 (Apr. 2013), 131?142.Google ScholarCross Ref
- Bansiya, J. and Davis, C.G. 2002. A hierarchical model for object-oriented design quality assessment. IEEE Transactions on Software Engineering. 28, 1 (2002), 4?17. Google ScholarDigital Library
- Barney, S., Petersen, K., Svahnberg, M., Aurum, A. and Barney, H. 2012. Software quality trade-offs: A systematic map. Information and Software Technology. 54, 7 (Jul. 2012), 651?662. Google ScholarDigital Library
- Barros, M. de O., Farzat, F. de A. and Travassos, G.H. 2014. Learning from optimization: A case study with Apache Ant. Information and Software Technology. 57, 1 (Aug. 2014), 684?704.Google Scholar
- Basili, V.R., Caldiera, G. and Rombach, H.D. 1994. Goal Question Metric paradigm. Encyclopedia of Software Engineering. Wiley & Sons. 528?532.Google Scholar
- Bass, L., Nord, R., Wood, W., Zubrow, D. and Ozkaya, I. 2008. Analysis of architecture evaluation data. Journal of Systems and Software. 81, 9 (Sep. 2008), 1443?1455. Google ScholarDigital Library
- Bate, I. 2008. Systematic approaches to understanding and evaluating design trade-offs. Journal of Systems and Software. 81, 8 (Aug. 2008), 1253?1271. Google ScholarDigital Library
- Buyens, K., Scandariato, R. and Joosen, W. 2009. Measuring the interplay of security principles in software architectures. In Proceedings of the 3rd International Symposium on Empirical Software Engineering and Measurement (2009). ESEM'09. 554?563. Google ScholarDigital Library
- Chatzigeorgiou, A. and Stiakakis, E. 2013. Combining metrics for software evolution assessment by means of Data Envelopment Analysis. Journal of Software: Evolution and Process. 25, 3 (Mar. 2013), 303?324.Google ScholarDigital Library
- Griffith, I. and Izurieta, C. 2014. Design pattern decay: the case for class grime. In Proceedings of the 8th ACM/IEEE International Symposium on Empirical Software Engineering and Measurement (2014). ESEM'14. 1?4. Google ScholarDigital Library
- Hovemeyer, D. and Pugh, W. 2004. Finding bugs is easy. ACM SIGPLAN Notices. 39, 12 (2004), 92?106. Google ScholarDigital Library
- Kitchenham, B. and Pfleeger, S.L. 1996. Software quality: the elusive target {special issues section}. IEEE Software. 13, 1 (1996), 12?21. Google ScholarDigital Library
- Linares-Vásquez, M., Klock, S., McMillan, C., Sabané, A., Poshyvanyk, D. and Guéhéneuc, Y.-G. 2014. Domain matters: bringing further evidence of the relationships among anti-patterns, application domains, and quality-related metrics in Java mobile apps. In Proceedings of the 22nd International Conference on Program Comprehension (2014). ICPC'14. 232?243. Google ScholarDigital Library
- Marwedel, P. 2010. Embedded System Design: Embedded Systems Foundations of Cyber-Physical Systems. Springer Netherlands. Google ScholarDigital Library
- Misra, S.C. and Bhavsar, V.C. 2003. Relationships Between Selected Software Measures and Latent Bug-Density: Guidelines for Improving Quality. In Proceedings of the Computational Science and Its Applications (2003). ICCSA'03. 724?732. Google ScholarDigital Library
- Oliveira, M.F.S., Redin, R.M., Carro, L., Lamb, L. and Wagner, F. 2008. Software Quality Metrics and their Impact on Embedded Software. 5th International Workshop on Model-based Methodologies for Pervasive and Embedded Software (2008). MOMPES'08. 68?77. Google ScholarDigital Library
- Penta, M. Di, Cerulo, L. and Aversano, L. 2009. The life and death of statically detected vulnerabilities: An empirical study. Information and Software Technology. 51, 10 (Oct. 2009), 1469?1484. Google ScholarDigital Library
- Perry, D.E. and Wolf, A.L. 1992. Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes. 17, 4 (Oct. 1992), 40?52. Google ScholarDigital Library
- Del Rosso, C. 2008. Software performance tuning of software product family architectures: Two case studies in the real-time embedded systems domain. Journal of Systems and Software. 81, 1 (Jan. 2008), 1?19. Google ScholarDigital Library
- Runeson, P., Host, M., Rainer, A. and Regnell, B. 2012. Case Study Research in Software Engineering: Guidelines and Examples. Wiley Blackwell. Google ScholarDigital Library
- Zaman, S., Adams, B. and Hassan, A.E. 2011. Security versus performance bugs. Proceeding of the 8th working conference on Mining software repositories (2011). MSR'11. 93?102. Google ScholarDigital Library
- Zheng, J., Williams, L., Nagappan, N., Snipes, W., Hudepohl, J.P. and Vouk, M.A.S.E.I.T. on 2006. On the value of static analysis for fault detection in software. Software Engineering, IEEE Transactions on. 32, 4 (2006), 240?253. Google ScholarDigital Library
Index Terms
- Investigating Quality Trade-offs in Open Source Critical Embedded Systems
Recommendations
The ACROSS MPSoC -- A New Generation of Multi-core Processors Designed for Safety-Critical Embedded Systems
DSD '12: Proceedings of the 2012 15th Euromicro Conference on Digital System DesignThe European ARTEMIS ACROSS project aims to overcome the limitations of existing Multi-Processor System-on-a-Chip (MPSoC) architectures with respect to safety-critical applications. MPSoCs have a tremendous potential in the domain of embedded systems ...
A Survey on Quality Attributes and Quality Models for Embedded Software
This article describes how software quality engineering is an inevitable activity, which must be accomplished during software development process in order to avoid software failures and ensuring its quality. Embedded systems are computer platforms, ...
Comments