Моделовање упитних језика са применама у рефакторисању и оптимизацији кода
Modeling of query languages and applications in code refactoring and code optimization
Doktorand
Spasić, MirkoMentor
Vujošević Janičić, MilenaČlanovi komisije
Mitić, NenadMarić, Filip
Gilezan, Silvia
Metapodaci
Prikaz svih podataka o disertacijiSažetak
Проблем садржаности упита један је од фундаменталних проблема у рачунар-
ским наукама, иницијално дефинисан за релационе упите. Са растућом популарношћу
SPARQL упитног језика, проблем постаје релевантан и актуелан и у овом новом контексту.
У тези је представљен оригинални приступ решавању овог проблема заснован на сво-
ђењу на задовољивост у логици првог реда. Подржана је садржаност упита узимајући
у обзир RDF схему, а разматра се и релација стапања, као слабија форма садржаности.
Доказана је сагласност и потпуност предложеног приступа на широком спектру језич-
ких конструката. Описана је и његова имплементација, у виду решавача SPECS, чији је
кôд јавно доступан. Представљени су резултати детаљне експерименаталне евалуације
на релевантним скуповима примера за тестирање који показују да је SPECS ефикасан,
и да у поређењу са осталим савременим решавачима истог проблема даје прецизније ре-
зултате у краћем времену, уз бољу покривеност језичких конструката. Једна од примена
моделовања упит...них језика може бити и при рефакторисању апликација које присту-
пају базама података. У таквим ситуацијама, врло су честе измене којима се мењају
и упити и кôд на језику у коме се они позивају. Такве промене могу сачувати укупну
еквивалентност кода, док на нивоу појединачних делова еквивалентност не мора бити
одржана. Коришћење алата за аутоматску верификацију еквивалентности рефактори-
саног кода може да дâ гаранцију задржавања понашања програма и од суштинског је
значаја за поуздан развој софтвера. Са том мотивацијом, у тези се разматра и модело-
вање SQL упита у теоријама логике првог реда, којим се омогућава аутоматска провера
еквивалентности C/C++ програма са уграђеним SQL-ом, што је и имплементирано у
виду јавно доступног алата отвореног кода SQLAV.
The query containment problem is a very important computer science problem,
originally defined for relational queries. With the growing popularity of the SPARQL query
language, it became relevant and important in this new context, too. This thesis introduces
a new approach for solving this problem, based on a reduction to satisfiability in first order
logic. The approach covers containment under RDF SCHEMA entailment regime, and it can
deal with the subsumption relation, as a weaker form of containment. The thesis proves
soundness and completeness of the approach for a wide range of language constructs. It also
describes an implementation of the approach as an open source solver SPECS. The experimental
evaluation on relevant benchmarks shows that SPECS is efficient and comparing to
state-of-the-art solvers, it gives more precise results in a shorter amount of time, while supporting
a larger fragment of SPARQL constructs. An application of query language modeling can
be useful also alon...g refactoring of database driven applications, where simultaneous changes
that include both a query and a host language code are very common. These changes can
preserve the overall equivalence, without preserving equivalence of these two parts considered
separately. Because of the ability to guarantee the absence of differences in behavior between
two versions of the code, tools that automatically verify code equivalence have great benefits
for reliable software development. With this motivation, a custom first-order logic modeling
of SQL queries is developed and described in the thesis. It enables an automated approach
for reasoning about equivalence of C/C++ programs with embedded SQL. The approach is
implemented within a publicly available and open source framework SQLAV.
Fakultet:
Универзитет у Београду, Математички факултетDatum odbrane:
23-03-2021Projekti:
- Srpski jezik i njegovi resursi: teorija, opis i primene (RS-MESTD-Basic Research (BR or ON)-178006)