A journey of implementing an Eclipse plugin to improve the quality of database usage | ECE 2018

Subscribers:
24,000
Published on ● Video Link: https://www.youtube.com/watch?v=jUvkTV0YfX8



Duration: 34:45
59 views
0


EclipseCon Europe 2018
Ludwigsburg, Germany · October 23 - 25, 2018
https://www.eclipsecon.org/europe2018

Speaker(s):
Csaba Nagy (Università della Svizzera italiana)

https://www.eclipsecon.org/europe2018/sessions/journey-implementing-eclipse-plugin-improve-quality-database-usage

Have you ever got upset and felt to cry out loudly (or you just did so) when you had an SQL statement failing somewhere deeply embedded in your code? Was it easy to find and fix it? Still today, many database libraries force us to embed SQL in the code, which is then very cumbersome to maintain. Fragments of query strings are scattered throughout the source code and we never really see the final SQL statements assembled and sent to the database. What is even worse, the SQL code is not processed at compilation time and – in the worst case – a syntax error can remain in production code.

Relying on Eclipse technologies, we implemented a static analyzer (SQLInspect) to inspect database usage in Java applications. It performs a string analysis using the parser of Eclipse JDT to extract SQL code from Java, and it is seamlessly integrated into Eclipse as a plugin. One can use it to identify database-related quality issues, e.g., to spot SQL Antipatterns, or queries with poor metrics which could be optimized (e.g., deeply nested subqueries). We also used it in our research project where we analyzed the database usage of thousands of top-starred Android apps on GitHub. In the end, we sent the developers some nice pull-requests fixing a few issues (e.g., missing indexes/triggers due to unexecuted SQL statements).

In our talk, we will present how we’ve put together such a plugin using Eclipse technologies, which was an adventurous journey for us, and as we know, “it is the journey that matters in the end.”




Other Videos By Eclipse Foundation


2018-11-19Fostering New Contributors In SWT: Lessons In Community Management | EclipseCon Europe 2018
2018-11-19Eclipse Modeling Framework and plain OSGi the easy way
2018-11-19OSGi for the data centre: Connecting OSGi to Kubernetes | EclipseCon Europe 2018
2018-11-19OSGi with Docker: a powerful way to develop Java systems | EclipseCon Europe 2018
2018-11-19Beyond LSP: Extensions for Java | EclipseCon Europe 2018
2018-11-19Migrating from PDE to Bndtools in Practice | EclipseCon Europe 2018
2018-11-19Panel Session - Modularity Futures: OSGi and Java 9+ | EclipseCon Europe 2018
2018-11-19Meld OSGi Bundles with Java Modules | EclipseCon Europe 2018
2018-11-19Formatting for the Masses Part II | EclipseCon Europe 2018
2018-11-19The Eclipse Development Process for Committers | EclipseCon Europe 2018
2018-11-19A journey of implementing an Eclipse plugin to improve the quality of database usage | ECE 2018
2018-11-19C/C++ Language Servers, The Next Generation is Now | EclipseCon Europe 2018
2018-11-19Adopting Debug Adapter Protocol in Eclipse IDE: netcoredbg (.NET debugger) case study | ECE 2018
2018-11-19Gradual Migration from Java EE to MicroProfile | EclipseCon Europe 2018
2018-11-19Making Eclipse Che Enterprise Grade (sponsored by Eclipse Che) | EclipseCon Europe 2018
2018-11-19Introduction to Kubernetes | EclipseCon Europe 2018
2018-11-19Making Eclipse JDT Future–ready - Java 11 and Beyond | EclipseCon Europe 2018
2018-11-19Approaching Light Speed - News from the Eclipse Platform Project | EclipseCon Europe 2018
2018-11-19Eclipse Tips and Tricks | EclipseCon Europe 2018
2018-11-19Make big things run again! Insight on Eclipse Platform’s performance | EclipseCon Europe 2018
2018-11-19State of the Eclipse Foundation with Mike Milinkovich