Naslov (srp)

Моделовање упитних језика са применама у рефакторисању и оптимизацији кода : докторска дисертација

Autor

Spasić, Mirko, 1985-, 70463753

Doprinosi

Vujošević Janičić, Milena, 1980-, 12942695
Mitić, Nenad, 1959-, 12528743
Marić, Filip, 1978-, 12931687
Gilezan, Silvia, 1959-, 13074279

Opis (srp)

Проблем садржаности упита један је од фундаменталних проблема у рачунар- ским наукама, иницијално дефинисан за релационе упите. Са растућом популарношћу SPARQL упитног језика, проблем постаје релевантан и актуелан и у овом новом контексту. У тези је представљен оригинални приступ решавању овог проблема заснован на сво- ђењу на задовољивост у логици првог реда. Подржана је садржаност упита узимајући у обзир RDF схему, а разматра се и релација стапања, као слабија форма садржаности. Доказана је сагласност и потпуност предложеног приступа на широком спектру језич- ких конструката. Описана је и његова имплементација, у виду решавача SPECS, чији је кôд јавно доступан. Представљени су резултати детаљне експерименаталне евалуације на релевантним скуповима примера за тестирање који показују да је SPECS ефикасан, и да у поређењу са осталим савременим решавачима истог проблема даје прецизније ре- зултате у краћем времену, уз бољу покривеност језичких конструката. Једна од примена моделовања упитних језика може бити и при рефакторисању апликација које присту- пају базама података. У таквим ситуацијама, врло су честе измене којима се мењају и упити и кôд на језику у коме се они позивају. Такве промене могу сачувати укупну еквивалентност кода, док на нивоу појединачних делова еквивалентност не мора бити одржана. Коришћење алата за аутоматску верификацију еквивалентности рефактори- саног кода може да дâ гаранцију задржавања понашања програма и од суштинског је значаја за поуздан развој софтвера. Са том мотивацијом, у тези се разматра и модело- вање SQL упита у теоријама логике првог реда, којим се омогућава аутоматска провера еквивалентности C/C++ програма са уграђеним SQL-ом, што је и имплементирано у виду јавно доступног алата отвореног кода SQLAV.

Opis (srp)

рачунарство - спецификација и верификација софтвера / computer science - software specification and verification Datum odbrane: 23.03.2021.

Opis (eng)

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 along 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.

Jezik

srpski

Datum

2021

Licenca

Creative Commons licenca
Ovo delo je licencirano pod uslovima licence
Creative Commons CC BY-NC 2.0 AT - Creative Commons Autorstvo - Nekomercijalno 2.0 Austria License.

http://creativecommons.org/licenses/by-nc/2.0/at/legalcode

Predmet

OSNO - Opšta sistematizacija naučnih oblasti, Matematička kibernetika. Automati

OSNO - Opšta sistematizacija naučnih oblasti, Podaci. Sistemi za upravljanje bazama podataka

верификација софтвера, SPARQL, садржаност упита, FOL моделовање, SMT решавање, SPECS решавач, уграђени SQL, рефакторисање кода, SQLAV алат

OSNO - Opšta sistematizacija naučnih oblasti, Matematička kibernetika. Automati

OSNO - Opšta sistematizacija naučnih oblasti, Podaci. Sistemi za upravljanje bazama podataka

software verification, SPARQL, query containment, FOL modeling, SMT solving, SPECS solver, embedded SQL, code refactoring, SQLAV framework