Abstract
Due to effort and scalability challenges involved in understanding software maintainability evolution, and conflicts and synergies among software quality attributes on a large scale, researchers are forced to adjust the scopeĀ and granularity of their analysis which oftentimes results in skipping the code or applying lightweight static analysis techniques over commit history. To address this scarcity, we developed SQUAAD, a comprehensive framework including a cloud-based automated infrastructure accompanied by a data analytics and visualization toolset. SQUAAD has been documented in multiple recent research publications empowering their empirical studies and is used by a major governmental entity.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Boehm, B. W., Brown, J. R., & Lipow, M. (1976). Quantitative evaluation of software quality. In Proceedings of the 2nd International Conference on Software Engineering (pp. 592ā605). IEEE Computer Society Press.
Mexim, B., & Kessentini, M. (2015). An introduction to modern software quality assurance. Software quality assurance: In large scale and complex software-intensive systems (pp. 19ā46). Waltham, MA: Morgan Kaufmann.
Behnamghader, P., Alfayez, R., Srisopha, K., & Boehm, B. (2017). Towards better understanding of software quality evolution through commit-impact analysis. In 2017 IEEE International Conference on Software Quality, Reliability and Security (QRS) (pp. 251ā262).
DAmbros, M., Gall, H., Lanza, M., & Pinzger, M. (2008). Analysing software repositories to understand software evolution. In Software evolution (pp. 37ā67). Berlin, Germany: Springer.
Ganpati, A., Kalia, A., & Singh, H. (2012). A comparative study of maintainability index of open source software. International Journal of Emerging Technology and Advanced Engineering, 2(10), 228ā230.
Le, D. M., Behnamghader, P., Garcia, J., Link, D., Shahbazian, A., & Medvidovic, N. (2015). An empirical study of architectural change in open-source software systems. In Proceedings of the 12th Working Conference on Mining Software Repositories (pp. 235ā245). IEEE Press.
Pinto, G., Torres, W., Fernandes, B., Castor, F., & Barros, R. S. (2015). A large-scale study on the usage of javas concurrent programming constructs. Journal of Systems and Software, 106, 59ā81.
Godfrey, M. W., & Tu, Q. (2000, October). Evolution in open source software: A case study. In Proceedings of the International Conference on Software Maintenance (ICSM'00) (p. 131). IEEE Computer Society.
Alexandru, C. V., Panichella, S., & Gall, H. C. (2017). Reducing redundancies in multi-revision code analysis. In 2017 IEEE 24th International Conference on Software Analysis, Evolution and Reengineering (SANER) (pp. 148ā159).
Bajracharya, S., Ossher, J., & Lopes, C. (2014). Sourcerer: An infrastructure for large-scale collection and analysis of open-source code. Science of Computer Programming, 79, 241ā259. Experimental Software and Toolkits (EST 4): A special issue of the Workshop on Academic Software Development Tools and Techniques (WASDeTT-3 2010).
Diamantopoulos, T., Thomopoulos, K., & Symeonidis, A. (2016). Qualboa: ReusabilityāAware recommendations of source code components. In Proceedings of the 13th International Conference on Mining Software Repositories (pp. 488ā491). ACM.
Dyer, R., Nguyen, H. A., Rajan, H., & Nguyen, T. N. (2015). Boa: Ultra-large-scale software repository and source-code mining. ACM Transactions on Software Engineering and Methodology, 25(1), 7.
Gousios, G., Vasilescu, B., Serebrenik, A., & Zaidman, A. (2014). Lean ghtorrent: Github data on demand. In Proceedings of the 11th Working Conference on Mining Software Repositories (pp. 384ā387). ACM.
Kaur, A., & Chopra, D. (2018). GCC-git change classifier for extraction and classification of changes in software systems (pp. 259ā267). Singapore, Singapore: Springer.
Rozenberg, D., Beschastnikh, I., Kosmale, F., Poser, V., Becker, H., Palyart, M., et al. (2016). Comparing repositories visually with repograms. In 2016 IEEE/ACM 13th Working Conference on Mining Software Repositories (MSR) (pp. 109ā120).
Sokol, F. Z., Aniche, M. F., & Gerosa, M. A. (2013). Metricminer: Supporting researchers in mining software repositories. In 2013 IEEE 13th International Working Conference on Source Code Analysis and Manipulation (SCAM) (pp. 142ā146).
Tiwari, N. M., Upadhyaya, G., Nguyen, H. A., & Rajan, H. (2017). Candoia: A platform for building and sharing mining software repositories tools as apps. In 2017 IEEE/ACM 14th International Conference on Mining Software Repositories (MSR) (pp. 53ā63).
Tufano, M., Palomba, F., Bavota, G., Oliveto, R., Penta, M. D., Lucia, A. D., et al. (2017). When and why your code starts to smell bad (and whether the smells go away). IEEE Transactions on Software Engineering, 43(11), 1063ā1088.
Alfayez, R., Behnamghader, P., Srisopha, K., & Boehm, B. (2017). How does contributors involvement influence open source systems. In 2017 IEEE 28th Annual Software Technology Conference (STC) (pp. 1ā8).
Alfayez, R., Behnamghader, P., Srisopha, K., & Boehm, B. (2018). An exploratory study on the influence of developers in Technical Debt. In 2018 International Conference on Technical Debt (TechDebt) (pp. 1ā10).
Behnamghader, P., Le, D. M., Garcia, J., Link, D., Shahbazian, A., & Medvidovic, N. (2017). A large-scale study of architectural evolution in open-source software systems. Empirical Software Engineering, 22(3), 1146ā1193.
Bessey, A., Block, K., Chelf, B., Chou, A., Fulton, B., Hallem, S., et al. (2010). A few billion lines of code later: Using static analysis to find bugs in the real world. Communications of the ACM, 53(2), 66ā75.
Kupsch, J. A., & Miller, B. P. (2009). Manual vs. automated vulnerability assessment: A case study. In First International Workshop on Managing Insider Security Threats (MIST) (pp. 83ā97).
Safi, G., Shahbazian, A., Halfond, W. G., & Medvidovic, N. (2015). Detecting event anomalies in event-based systems. In Proceedings of the 2015 10th Joint Meeting on Foundations of Software Engineering (pp. 25ā37). ACM.
Runeson, P., Andersson, C., Thelin, T., Andrews, A., & Berling, T. (2006). What do we know about defect detection methods? [software testing]. IEEE Software, 23(3), 82ā90.
Welker, K. D., Oman, P. W., & Atkinson, G. G. (1997). Development and application of an automated source code maintainability index. Journal of Software: Evolution and Process, 9(3), 127ā159.
Wagner, S., JĆ¼rjens, J., Koller, C., & Trischberger, P. (2005). Comparing bug finding tools with reviews and tests. In IFIP International Conference on Testing of Communicating Systems (pp. 40ā55). Berlin, Germany: Springer.
Louridas, P. (2006). Static code analysis. IEEE Software, 23(4), 58ā61.
Le, D. M., Carrillo, C., Capilla, R., & Medvidovic, N. (2016). Relating architectural decay and sustainability of software systems. In 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) (pp. 178ā181).
Campbell, A. (2015). Sonarqube: Open source quality management. Retrieved from http://tiny.cc/2q4z9x
Langhammer, M., Shahbazian, A., Medvidovic, N., & Reussner, R. H. (2016). Automated extraction of rich software models from limited system information. In 2016 13th Working IEEE/IFIP Conference on Software Architecture (WICSA) (pp. 99ā108).
VallĆ©e-Rai, R., Co, P., Gagnon, E., Hendren, L., Lam, P., & Sundaresan, V. (1999). SootāA java bytecode optimization framework. In Proceedings of the 1999 Conference of the Centre for Advanced Studies on Collaborative Research, CASCON ā99 (p. 13). IBM Press.
Mahajan, S., Li, B., Behnamghader, P., & Halfond, W. G. (2016). Using visual symptoms for debugging presentation failures in web applications. In 2016 IEEE International Conference on Software Testing, Verification and Validation (ICST) (pp. 191ā201). IEEE.
Malaiya, Y. K., Li, M. N., Bieman, J. M., & Karcich, R. (2002). Software reliability growth with test coverage. IEEE Transactions on Reliability, 51(4), 420ā426.
Joshi, P., Naik, M., Park, C. S., & Sen, K. (2009). CalFuzzer: An extensible active testing framework for concurrent programs. In International Conference on Computer Aided Verification (pp. 675ā681). Berlin, Germany: Springer.
BlƤsing, T., Batyuk, L., Schmidt, A. D., Camtepe, S. A., & Albayrak, S. (2010). An android application sandbox system for suspicious software detection. In 2010 5th International Conference on Malicious and Unwanted Software, Nancy, Lorraine (pp. 55ā62).
Trautsch, F., Herbold, S., Makedonski, P., & Grabowski, J. (2017). Addressing problems with replicability and validity of repository mining studies through a smart data platform. Empirical Software Engineering, 23(2), 1036ā1083.
Trautsch, F., Herbold, S., Makedonski, P., & Grabowski, J. (2016). Addressing problems with external validity of repository mining studies through a smart data platform. In Proceedings of the 13th International Conference on Mining Software Repositories, MSR ā16 (pp. 97ā108). New York: ACM.
Dyer, R., Nguyen, H. A., Rajan, H., & Nguyen, T. N. (2013). Boa: A language and infrastructure for analyzing ultra-large-scale software repositories. In Proceedings of the 2013 International Conference on Software Engineering (pp. 422ā431). IEEE Press.
Acknowledgment
This material is based upon the work supported in part by the US Department of Defense through the Systems Engineering Research Center (SERC) under Contract H98230-08-D-0171. SERC is a federally funded University Affiliated Research Center managed by Stevens Institute of Technology. It was also supported by the National Science Foundation grant CMMI-1408909, Developing a Constructive Logic-Based Theory of Value-Based Systems Engineering.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
Ā© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Behnamghader, P., Boehm, B. (2019). Towards Better Understanding of Software Maintainability Evolution. In: Adams, S., Beling, P., Lambert, J., Scherer, W., Fleming, C. (eds) Systems Engineering in Context. Springer, Cham. https://doi.org/10.1007/978-3-030-00114-8_47
Download citation
DOI: https://doi.org/10.1007/978-3-030-00114-8_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-00113-1
Online ISBN: 978-3-030-00114-8
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)