2 research outputs found

    Modeling of query languages and applications in code refactoring and code optimization

    Get PDF
    ΠŸΡ€ΠΎΠ±Π»Π΅ΠΌ садрТаности ΡƒΠΏΠΈΡ‚Π° јСдан јС ΠΎΠ΄ Ρ„ΡƒΠ½Π΄Π°ΠΌΠ΅Π½Ρ‚Π°Π»Π½ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° Ρƒ Ρ€Π°Ρ‡ΡƒΠ½Π°Ρ€- ским Π½Π°ΡƒΠΊΠ°ΠΌΠ°, ΠΈΠ½ΠΈΡ†ΠΈΡ˜Π°Π»Π½ΠΎ дСфинисан Π·Π° Ρ€Π΅Π»Π°Ρ†ΠΈΠΎΠ½Π΅ ΡƒΠΏΠΈΡ‚Π΅. Π‘Π° растућом ΠΏΠΎΠΏΡƒΠ»Π°Ρ€Π½ΠΎΡˆΡ›Ρƒ 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 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

    Generating SPARQL query containment benchmarks using the SQCFramework

    No full text
    In this demo paper, we present the interface of the SQCFramework [8], a SPARQL query containment benchmark generation framework. SQCFramework is able to generate customized SPARQL containment benchmarks from real SPARQL query logs. To this end, the framework makes use of different clustering techniques. It is flexible enough to generate benchmarks of varying sizes and complexities according to user-defined criteria on important SPARQL features for query containment benchmarking. We evaluate the usability of the interface by using the standard system usability scale questionnaire. Our overall usability score of 82.33 suggests that the online interface is consistent, easy to use, and the various functions of the system are well integrated
    corecore