Abstract
Managing data-intensive software ecosystems has long been considered an expensive and error-prone process. This is mainly due to the often implicit consistency relationships between applications and their database(s). In addition, as new technologies emerged for specialized purposes (e.g., key-value stores, document stores, graph databases), the common use of multiple database models within the same software (eco)system has also become more popular. There are undeniable benefits of such multi-database models where developers use and combine technologies. However, the side effects on database design, querying, and maintenance are not well-known.
This chapter elaborates on the recent research effort devoted to mining, analyzing, and evolving data-intensive software ecosystems. It focuses on methods, techniques, and tools providing developers with automated support. It covers different processes, including automatic database query extraction, bad smell detection, self-admitted technical debt analysis, and evolution history visualization.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Abdelhedi, F., Brahim, A., Rajhi, H., Ferhat, R., Zurfluh, G.: Automatic extraction of a document-oriented NoSQL schema. In: Int. Conf. Enterprise Information Systems (2021)
Afonso, A., da Silva, A., Conte, T., Martins, P., Cavalcanti, J., Garcia, A.: LESSQL: dealing with database schema changes in continuous deployment. In: IEEE 27th Int. Conf. Software Analysis, Evolution and Reengineering (SANER 2020), pp. 138–148 (2020). https://doi.org/10.1109/SANER48275.2020.9054796
Albarak, M., Bahsoon, R.: Database design debts through examining schema evolution. In: International Workshop on Managing Technical Debt (MTD), pp. 17–23 (2016). https://doi.org/10.1109/MTD.2016.9
Albarak, M., Bahsoon, R.: Prioritizing technical debt in database normalization using portfolio theory and data quality metrics. In: International Conference on Technical Debt (TechDebt), pp. 31–40. ACM, New York (2018). https://doi.org/10.1145/3194164.3194170
Alger, K.W., Daniel Coupal, D.: Building with patterns: the polymorphic pattern (2022). https://www.mongodb.com/developer/products/mongodb/polymorphic-pattern/. Accessed 15 Apr 2023
Anderson, D.: Modeling and analysis of SQL queries in PHP systems. Master’s thesis, East Carolina University (2018)
Anderson, D., Hills, M.: Query construction patterns in PHP. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 452–456 (2017). https://doi.org/10.1109/SANER.2017.7884652
Anderson, D., Hills, M.: Supporting analysis of SQL queries in PHP AiR. In: International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 153–158 (2017). https://doi.org/10.1109/SCAM.2017.23
Andreasen, E., Møller, A.: Determinacy in static analysis for jQuery. In: Conference on Object-Oriented Programming Systems, Languages, and Applications (OOPSLA), pp. 17–31 (2014). https://doi.org/10.1145/2660193.2660214
Annamaa, A., Breslav, A., Kabanov, J., Vene, V.: An interactive tool for analyzing embedded SQL queries. In: Asian Symposium on Programming Languages and Systems (APLAS). Lecture Notes in Computer Science, vol. 6461, pp. 131–138. Springer, Berlin (2010)
Ardigò, S., Nagy, C., Minelli, R., Lanza, M.: Visualizing data in software cities. In: Working Conference on Software Visualization (VISSOFT), NIER/TD, pp. 145–149. IEEE, Piscataway (2021). https://doi.org/10.1109/VISSOFT52517.2021.00028
Ardigò, S., Nagy, C., Minelli, R., Lanza, M.: M3triCity: visualizing evolving software & data cities. In: International Conference on Software Engineering (ICSE), pp. 130–133. IEEE, Piscataway (2022). https://doi.org/10.1145/3510454.3516831
Arzamasova, N., Schäler, M., Böhm, K.: Cleaning antipatterns in an SQL query log. Trans. Knowl. Data Eng. 30(3), 421–434 (2018)
Baazizi, M.A., Colazzo, D., Ghelli, G., Sartiani, C.: Parametric schema inference for massive JSON datasets. VLDB J. 28(4), 497–521 (2019). https://doi.org/10.1007/s00778-018-0532-7
Balogh, G., Beszedes, A.: CodeMetropolis—code visualisation in MineCraft. In: International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 136–141. IEEE, Piscataway (2013)
Benats, P., Gobert, M., Meurice, L., Nagy, C., Cleve, A.: An empirical study of (multi-) database models in open-source projects. In: International Conference on Conceptual Modeling (ER), pp. 87–101. Springer, Berlin (2021)
Bertin, J.: Graphische Semiologie, 2nd edn. Walter de Gruyter (1974)
Beyer, D., Lewerentz, C.: CrocoPat: a tool for efficient pattern recognition in large object-oriented programs. Tech. Rep. I-04/2003, Institute of Computer Science, Brandenburgische Technische Universität Cottbus (2003)
Brahim, A.A., Ferhat, R.T., Zurfluh, G.: Model driven extraction of NoSQL databases schema: Case of MongodB. In: Int. Joint Conf. on Knowledge Discovery, Knowledge Engineering and Knowledge Management, pp. 145–154 (2019). https://doi.org/10.5220/0008176201450154
Brass, S., Goldberg, C.: Detecting logical errors in SQL queries. In: Workshop on Foundations of Databases (2004)
Brass, S., Goldberg, C.: Semantic errors in SQL queries: A quite complete list. J. Syst. Softw. 79(5), 630–644 (2006). https://doi.org/10.1016/j.jss.2005.06.028
Card, S.K., Mackinlay, J.D., Shneiderman, B. (eds.): Readings in Information Visualization—Using Vision to Think. Morgan Kaufmann (1999)
Chen, T.H., Shang, W., Jiang, Z.M., Hassan, A.E., Nasser, M., Flora, P.: Detecting performance anti-patterns for applications developed using object-relational mapping. In: International Conference on Software Engineering (ICSE), pp. 1001–1012. ACM, New York (2014). https://doi.org/10.1145/2568225.2568259
Cherry, B., Benats, P., Gobert, M., Meurice, L., Nagy, C., Cleve, A.: Static analysis of database accesses in mongodb applications. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 930–934. IEEE, Piscataway (2022). https://doi.org/10.1109/SANER2022.2022.00111
Christensen, A.S., Møller, A., Schwartzbach, M.I.: Precise analysis of string expressions. In: International Conference on Static Analysis (SAS), pp. 1–18. Springer, Berlin (2003)
Clark, S.R., Cobb, J., Kapfhammer, G.M., Jones, J.A., Harrold, M.J.: Localizing SQL faults in database applications. In: International Conference on Automated Software Engineering (ASE), pp. 213–222. ACM, New York (2011). https://doi.org/10.1109/ASE.2011.6100056
Cleve, A., Gobert, M., Meurice, L., Maes, J., Weber, J.: Understanding database schema evolution: a case study. Sci. Comput. Program. 97, 113–121 (2015). https://doi.org/10.1016/j.scico.2013.11.025. Special Issue on New Ideas and Emerging Results in Understanding Software
Cleve, A., Hainaut, J.L.: Dynamic analysis of SQL statements for data-intensive applications reverse engineering. In: Working Conference on Reverse Engineering (WCRE), pp. 192–196 (2008). https://doi.org/10.1109/WCRE.2008.38
Curino, C.A., Tanca, L., Moon, H.J., Zaniolo, C.: Schema evolution in Wikipedia: toward a web information system benchmark. In: International Conference on Enterprise Information Systems (ICEIS) (2008)
de Almeida Filho, F.G., Martins, A.D.F., Vinuto, T.d.S., Monteiro, J.M., de Sousa, Í.P., de Castro Machado, J., Rocha, L.S.: Prevalence of bad smells in PL/SQL projects. In: International Conference on Program Comprehension (ICPC), pp. 116–121. IEEE, Piscataway (2019)
de Jong, M., van Deursen, A., Cleve, A.: Zero-downtime sql database schema evolution for continuous deployment. In: International Conference on Software Engineering: Software Engineering in Practice Track (ICSE-SEIP), pp. 143–152. IEEE, Piscataway (2017). https://doi.org/10.1109/ICSE-SEIP.2017.5
Delplanque, J., Etien, A., Auverlot, O., Mens, T., Anquetil, N., Ducasse, S.: Codecritics applied to database schema: challenges and first results. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 432–436 (2017). https://doi.org/10.1109/SANER.2017.7884648
Dimolikas, K., Zarras, A.V., Vassiliadis, P.: A study on the effect of a table’s involvement in foreign keys to its schema evolution. In: International Conference on Conceptual Modeling (ER), pp. 456–470. Springer, Berlin (2020)
Faroult, S., L’Hermite, P.: Refactoring SQL Applications. O’Reilly Media (2008)
Faroult, S., Robson, P.: The Art of SQL. O’Reilly Media (2006)
Favre, J.M.: GSEE: a generic software exploration environment. In: International Workshop on Program Comprehension (ICPC), pp. 233–244. IEEE, Piscataway (2001)
Feldthaus, A., Schäfer, M., Sridharan, M., Dolby, J., Tip, F.: Efficient construction of approximate call graphs for JavaScript IDE services. In: International Conference on Software Engineering (ICSE), pp. 752–761. IEEE, Piscataway (2013)
Foidl, H., Felderer, M., Biffl, S.: Technical debt in data-intensive software systems. In: 45th Euromicro Conference on Software Engineering and Advanced Applications (SEAA 2019), pp. 338–341 (2019). https://doi.org/10.1109/SEAA.2019.00058
Gallinucci, E., Golfarelli, M., Rizzi, S.: Schema profiling of document-oriented databases. Inf. Syst. 75, 13–25 (2018). https://doi.org/10.1016/j.is.2018.02.007
Gobert, M., Nagy, C., Rocha, H., Demeyer, S., Cleve, A.: Challenges and perils of testing database manipulation code. In: International Conference on Advanced Information Systems Engineering (CAiSE), pp. 229–245. Springer, Berlin (2021)
Gobert, M., Nagy, C., Rocha, H., Demeyer, S., Cleve, A.: Best practices of testing database manipulation code. Inform. Syst. 111, 102105 (2023). https://doi.org/10.1016/j.is.2022.102105
Goeminne, M., Decan, A., Mens, T.: Co-evolving code-related and database-related changes in a data-intensive software system. In: Software Evolution Week (CSMR/WCRE) (2014)
Goeminne, M., Mens, T.: Towards a survival analysis of database framework usage in Java projects. In: International Conference on Software Maintenance and Evolution (ICSME), pp. 551–555. IEEE, Piscataway (2015). https://doi.org/10.1109/ICSM.2015.7332512
Goldberg, C.: Do you know SQL? About semantic errors in database queries. Tech. rep., Higher Education Academy (2008)
Gómez, P., Casallas, R., Roncancio, C.: Automatic schema generation for document-oriented systems. In: Database and Expert Systems Applications, pp. 152–163. Springer, Berlin (2020)
Gould, C., Su, Z., Devanbu, P.: JDBC Checker: A static analysis tool for SQL/JDBC applications. In: International Conference on Software Engineering (ICSE), pp. 697–698 (2004). https://doi.org/10.1109/ICSE.2004.1317494
Gould, C., Su, Z., Devanbu, P.: Static checking of dynamically generated queries in database applications. In: International Conference on Software Engineering (ICSE), pp. 645–654 (2004). https://doi.org/10.1109/ICSE.2004.1317486
Guéhéneuc, Y.G.: Ptidej: A flexible reverse engineering tool suite. In: 2007 IEEE International Conference on Software Maintenance, pp. 529–530. IEEE, Piscataway (2007)
Imam, A.A., Basri, S., Ahmad, R., Watada, J., González-Aparicio, M.T.: Automatic schema suggestion model for NoSQL document-stores databases. J. Big Data 5 (2018)
Ireland, C., Bowers, D., Newton, M., Waugh, K.: A classification of object-relational impedance mismatch. In: International Conference on Advances in Databases, Knowledge, and Data Applications, pp. 36–43 (2009). https://doi.org/10.1109/DBKDA.2009.11
Jensen, S.H., Møller, A., Thiemann, P.: Type analysis for JavaScript. In: Static Analysis, pp. 238–255. Springer, Berlin (2009)
Karwin, B.: SQL Antipatterns: Avoiding the Pitfalls of Database Programming. Pragmatic Programmers (2010)
Kashyap, V., Dewey, K., Kuefner, E.A., Wagner, J., Gibbons, K., Sarracino, J., Wiedermann, B., Hardekopf, B.: JSAI: a static analysis platform for JavaScript. In: International Symposium on Foundations of Software Engineering (FSE), pp. 121–132. ACM, New York (2014). https://doi.org/10.1145/2635868.2635904
Khumnin, P., Senivongse, T.: SQL antipatterns detection and database refactoring process. In: ACIS International Conference on Software Engineering, Artificial Intelligence, Networking, and Parallel/Distributed Computing (SNPD), pp. 199–205 (2017). https://doi.org/10.1109/SNPD.2017.8022723
Knight, C., Munro, M.C.: Virtual but visible software. In: International Conference on Information Visualization (IV), pp. 198–205. IEEE, Piscataway (2000)
Langelier, G., Sahraoui, H., Poulin, P.: Visualization-based analysis of quality for large-scale software systems. In: International Conference on Automated Software Engineering (ASE), pp. 214–223. ACM, New York (2005)
Lehman, M.M.: Laws of software evolution revisited. In: C. Montangero (ed.) Software Process Technology, pp. 108–124. Springer, Berlin (1996)
Li, B., Poshyvanyk, D., Grechanik, M.: Automatically detecting integrity violations in database-centric applications. In: International Conference on Program Comprehension (ICPC), pp. 251–262 (2017). https://doi.org/10.1109/ICPC.2017.37
Li, D., Lyu, Y., Wan, M., Halfond, W.G.J.: String analysis for java and android applications. In: Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 661–672. ACM, New York (2015). https://doi.org/10.1145/2786805.2786879
Lin, D.Y., Neamtiu, I.: Collateral evolution of applications and databases. In: Joint Int’l Workshop on Principles of software evolution and ERCIM software evolution workshop, pp. 31–40. ACM, New York (2009). https://doi.org/10.1145/1595808.1595817
Lyu, Y., Gui, J., Wan, M., Halfond, W.G.J.: An empirical study of local database usage in Android applications. In: International Conference on Software Maintenance and Evolution (ICSME), pp. 444–455 (2017). https://doi.org/10.1109/ICSME.2017.75
Madsen, M., Møller, A.: Sparse dataflow analysis with pointers and reachability. In: Static Analysis, pp. 201–218. Springer, Berlin (2014)
Manousis, P., Zarras, A., Vassiliadis, P., Papastefanatos, G.: Extraction of embedded queries via static analysis of host code. In: Advanced Information Systems Engineering (CAiSE), pp. 511–526. Springer, Berlin (2017)
Marashdeh, Z., Suwais, K., Alia, M.: A survey on SQl injection attack: detection and challenges. In: International Conference on Information Technology (ICIT), pp. 957–962 (2021). https://doi.org/10.1109/ICIT52682.2021.9491117
Marcus, A., Feng, L., Maletic, J.I.: 3D representations for software visualization. In: ACM Symposium on Software Visualization, p. 27. IEEE, Piscataway (2003)
Marinescu, C.: Applications of automated model’s extraction in enterprise systems. In: International Conference on Software Technologies (ICSOFT), pp. 254–261. SCITEPRESS (2019)
Maule, A., Emmerich, W., Rosenblum, D.: Impact analysis of database schema changes. In: International Conference on Software Engineering (ICSE), pp. 451–460 (2008). https://doi.org/10.1145/1368088.1368150
McKnight: NoSQL Evaluator’s Guide (2014)
Meurice, L., Cleve, A.: DAHLIA: a visual analyzer of database schema evolution. In: Software Evolution Week—IEEE Conference on Software Maintenance, Reengineering, and Reverse Engineering (CSMR-WCRE), pp. 464–468. IEEE, Piscataway (2014). https://doi.org/10.1109/CSMR-WCRE.2014.6747219
Meurice, L., Cleve, A.: DAHLIA 2.0: A visual analyzer of database usage in dynamic and heterogeneous systems. In: Working Conference on Software Visualization (VISSOFT), pp. 76–80. IEEE, Piscataway (2016). https://doi.org/10.1109/VISSOFT.2016.15
Meurice, L., Cleve, A.: Supporting schema evolution in schema-less NoSQL data stores. In: International Conference on Software Analysis, Evolution and Reengineering (SANER), pp. 457–461 (2017). https://doi.org/10.1109/SANER.2017.7884653
Meurice, L., Goeminne, M., Mens, T., Nagy, C., Decan, A., Cleve, A.: Analyzing the evolution of database usage in data-intensive software systems. In: Software Technology: 10 Years of Innovation, pp. 208–240. Wiley, London (2018). https://doi.org/10.1002/9781119174240.ch12
Meurice, L., Nagy, C., Cleve, A.: Detecting and preventing program inconsistencies under database schema evolution. In: International Conference on Software Quality, Reliability & Security (QRS), pp. 262–273. IEEE, Piscataway (2016). https://doi.org/10.1109/QRS.2016.38
Meurice, L., Nagy, C., Cleve, A.: Static analysis of dynamic database usage in Java systems. In: International Conference on Advanced Information Systems Engineering (CAiSE), pp. 491–506. Springer, Berlin (2016). https://doi.org/10.1007/978-3-319-39696-5%5C_30
Milojicic, D.: The edge-to-cloud continuum. IEEE Ann. History Comput. 53, 16–25 (2020)
Mior, M.J.: Automated schema design for NoSQL databases. In: 2014 SIGMOD PhD Symposium, pp. 41–45. ACM, New York (2014). https://doi.org/10.1145/2602622.2602624
Mori, M., Noughi, N., Cleve, A.: Mining SQL execution traces for data manipulation behavior recovery. In: International Conference on Advanced Information Systems Engineering (CAiSE) (2014)
Muse, B.A., Nagy, C., Cleve, A., Khomh, F., Antoniol, G.: FIXME: synchronize with database an empirical study of data access self-admitted technical debt. Empirical Softw. Eng. 27(6) (2022). https://doi.org/10.1007/s10664-022-10119-4
Muse, B.A., Rahman, M., Nagy, C., Cleve, A., Khomh, F., Antoniol, G.: On the prevalence, impact, and evolution of SQL code smells in data-intensive systems. In: International Conference on Mining Software Repositories (MSR), pp. 327–338. ACM, New York (2020). https://doi.org/10.1145/3379597.3387467
Nagy, C., Cleve, A.: Static code smell detection in SQL queries embedded in Java code. In: International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 147–152. IEEE, Piscataway (2017). https://doi.org/10.1109/SCAM.2017.19
Nagy, C., Cleve, A.: SQLInspect: A static analyzer to inspect database usage in Java applications. In: International Conference on Software Engineering (ICSE), pp. 93–96 (2018). https://doi.org/10.1145/3183440.3183496
Ngo, M.N., Tan, H.B.K.: Applying static analysis for automated extraction of database interactions in web applications. Inform. Softw. Technol. 50(3), 160–175 (2008). https://doi.org/10.1016/j.infsof.2006.11.005
Noughi, N., Mori, M., Meurice, L., Cleve, A.: Understanding the database manipulation behavior of programs. In: International Conference on Program Comprehension (ICPC), pp. 64–67. ACM, New York (2014). https://doi.org/10.1145/2597008.2597790
Panas, T., Berrigan, R., Grundy, J.: A 3D metaphor for software production visualization. In: IV 2003, p. 314. IEEE Computer Society (2003)
Panas, T., Epperly, T., Quinlan, D., Saebjornsen, A., Vuduc, R.: Communicating software architecture using a unified single-view visualization. In: International Conference on Engineering Complex Computer Systems (ECCS), pp. 217–228. IEEE, Piscataway (2007)
Pfahler, F., Minelli, R., Nagy, C., Lanza, M.: Visualizing evolving software cities. In: Working Conference on Software Visualization (VISSOFT), pp. 22–26 (2020). https://doi.org/10.1109/VISSOFT51673.2020.00007
Qiu, D., Li, B., Su, Z.: An empirical analysis of the co-evolution of schema and code in database applications. In: Joint Meeting on Foundations of Software Engineering (ESEC/FSE), pp. 125–135. ACM, New York (2013). https://doi.org/10.1145/2491411.2491431
Ramasubbu, N., Kemerer, C.F.: Technical debt and the reliability of enterprise software systems: a competing risks analysis. Manag. Sci. 62(5), 1487–1510 (2016). https://doi.org/10.1287/mnsc.2015.2196
Reiss, S.P.: An engine for the 3D visualization of program information. J. Vis. Lang. Comput. 6(3), 299–323 (1995)
Ringlstetter, A., Scherzinger, S., Bissyandé, T.F.: Data model evolution using object-NoSQL mappers: folklore or state-of-the-art? In: International Workshop on BIG Data Software Engineering, pp. 33–36 (2016)
Scherzinger, S., De Almeida, E.C., Ickert, F., Del Fabro, M.D.: On the necessity of model checking NoSQL database schemas when building SaaS applications. In: International Workshop on Testing the Cloud (TTC). ACM, New York (2013)
Scherzinger, S., Sidortschuck, S.: An empirical study on the design and evolution of NoSQL database schemas. In: International Conference on Conceptual Modeling (ER), pp. 441–455. Springer, Berlin (2020)
Shao, S., Qiu, Z., Yu, X., Yang, W., Jin, G., Xie, T., Wu, X.: Database-access performance antipatterns in database-backed web applications. In: International Conference on Software Maintenance and Evolution (ICSME), pp. 58–69. IEEE, Piscataway (2020). https://doi.org/10.1109/ICSME46990.2020.00016
Sharma, T., Fragkoulis, M., Rizou, S., Bruntink, M., Spinellis, D.: Smelly relations: measuring and understanding database schema quality. In: International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP), pp. 55–64. ACM, New York (2018). https://doi.org/10.1145/3183519.3183529
Sjøberg, D.: Quantifying schema evolution. Inform. Softw. Technol. 35(1), 35–44 (1993). https://doi.org/10.1016/0950-5849(93)90027-Z
Skoulis, I., Vassiliadis, P., Zarras, A.: Open-source databases: within, outside, or beyond Lehman’s laws of software evolution? In: International Conference on Advanced Information Systems Engineering (CAiSE). LNCS, vol. 8484, pp. 379–393. Springer, Berlin (2014). https://doi.org/10.1007/978-3-319-07881-6%5C_26
Sonoda, M., Matsuda, T., Koizumi, D., Hirasawa, S.: On automatic detection of SQL injection attacks by the feature extraction of the single character. In: International Conference on Security of Information and Networks (SIN), pp. 81–86. ACM, New York (2011). https://doi.org/10.1145/2070425.2070440
Spadini, D., Aniche, M., Bacchelli, A.: PyDriller: Python framework for mining software repositories. In: Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE), pp. 908–911. ACM (2018). https://doi.org/10.1145/3236024.3264598
Stasko, J.T., Brown, M.H., Domingue, J.B., Price, B.A.: Software Visualization—Programming as a Multimedia Experience. MIT Press, Cambridge (1998)
Steinbrückner, F., Lewerentz, C.: Representing development history in software cities. In: International Symposium on Software Visualization, pp. 193–202. ACM, New York (2010). https://doi.org/10.1145/1879211.1879239
Stonebraker, M., Deng, D., Brodie, M.L.: Database decay and how to avoid it. In: Proc. Big Data, pp. 7–16 (2016). https://doi.org/10.1109/BigData.2016.7840584
Stonebraker, M., Deng, D., Brodie, M.L.: Application-database co-evolution: a new design and development paradigm. In: New England Database Day (2017)
Storey, M.A., Best, C., Michaud, J.: SHriMP views: an interactive and customizable environment for software exploration. In: International Workshop on Program Comprehension (IWPC) (2001)
Storey, M.A., Wong, K., Müller, H.: How do program understanding tools affect how programmers understand programs? In: Working Conference on Reverse Engineering (WCRE), pp. 12–21. IEEE, Piscataway (1997)
Störl, U., Klettke, M., Scherzinger, S.: NoSQL schema evolution and data migration: State-of-the-art and opportunities. In: International Conference on Extending Database Technology (EDBT), pp. 655–658 (2020). https://doi.org/10.5441/002/edbt.2020.87
Sun, K., Ryu, S.: Analysis of JavaScript programs: challenges and research trends. ACM Comput. Surv. 50(4) (2017)
Tufte, E.: Envisioning Information. Graphics Press (1990)
Tufte, E.: Visual Explanations. Graphics Press (1997)
Tufte, E.: The Visual Display of Quantitative Information, 2nd edn. Graphics Press (2001)
van den Brink, H., van der Leek, R., Visser, J.: Quality assessment for embedded SQL. In: International Working Conference on Source Code Analysis and Manipulation (SCAM), pp. 163–170 (2007). https://doi.org/10.1109/SCAM.2007.23
Van Den Brink, H.J., van der Leek, R.: Quality metrics for SQL queries embedded in host languages. In: European Conference on Software Maintenance and Reengineering (CSMR) (2007)
Vassiliadis, P., Zarras, A.V., Skoulis, I.: How is life for a table in an evolving relational schema? Birth, death and everything in between. In: International Conference on Conceptual Modeling (ER), pp. 453–466. Springer, Berlin (2015)
Vassiliadis, P., Zarras, A.V., Skoulis, I.: Gravitating to rigidity: Patterns of schema evolution, and its absence in the lives of tables. Inform. Syst. 63, 24–46 (2017). https://doi.org/10.1016/j.is.2016.06.010
Vincur, J., Navrat, P., Polasek, I.: VR City: Software analysis in virtual reality environment. In: Int. Conf. Software Quality, Reliability and Security, pp. 509–516. IEEE, Piscataway (2017). https://doi.org/10.1109/QRS-C.2017.88
Ware, C.: Information Visualization: Perception for Design, 2nd edn. Morgan Kaufmann (2004)
Wassermann, G., Gould, C., Su, Z., Devanbu, P.: Static checking of dynamically generated queries in database applications. Trans. Softw. Eng. Methodol. 16(4), 14 (2007). https://doi.org/10.1145/1276933.1276935
Weber, J.H., Cleve, A., Meurice, L., Bermudez Ruiz, F.J.: Managing technical debt in database schemas of critical software. In: International Workshop on Managing Technical Debt, pp. 43–46 (2014). https://doi.org/10.1109/MTD.2014.17
Wettel, R., Lanza, M.: Visualizing software systems as cities. In: International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT), pp. 92–99. IEEE, Piscataway (2007)
Wettel, R., Lanza, M.: CodeCity: 3D visualization of large-scale software. In: International Conference on Software Engineering (ICSE), pp. 921–922. ACM, New York (2008)
Yeole, A.S., Meshram, B.B.: Analysis of different technique for detection of SQL injection. In: International Conference & Workshop on Emerging Trends in Technology (ICWET), pp. 963–966. ACM, New York (2011). https://doi.org/10.1145/1980022.1980229
Young, P., Munro, M.: Visualising software in virtual reality. In: International Workshop on Program Comprehension (IWPC), pp. 19–26. IEEE, Piscataway (1998)
Zirkelbach, C., Hasselbring, W.: Live visualization of database behavior for large software landscapes: the RACCOON approach. Tech. rep., Department of Computer Science, Kiel University (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this chapter
Cite this chapter
Nagy, C., Lanza, M., Cleve, A. (2023). Mining, Analyzing, and Evolving Data-Intensive Software Ecosystems. In: Mens, T., De Roover, C., Cleve, A. (eds) Software Ecosystems. Springer, Cham. https://doi.org/10.1007/978-3-031-36060-2_11
Download citation
DOI: https://doi.org/10.1007/978-3-031-36060-2_11
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-031-36059-6
Online ISBN: 978-3-031-36060-2
eBook Packages: Computer ScienceComputer Science (R0)