We demonstrate a source-to-source compilation technique that can translate user-defined pl/sql functions into plain sql queries. These pl/sql functions may feature arbitrarily complex control flow-iteration, in partic...
详细信息
ISBN:
(纸本)9781450367356
We demonstrate a source-to-source compilation technique that can translate user-defined pl/sql functions into plain sql queries. These pl/sql functions may feature arbitrarily complex control flow-iteration, in particular. From this imperative-style input code we derive equivalent recursive common table expressions, ready for execution on any relational sql:1999 back-end. Principally due to the absence of pl/sql <-> sql context switches, the output plain sql code comes with substantial runtime savings. The demonstration embeds the compiler into an interactive setup that admits function editing while live re-compilation and visualization of intermediate code forms happens in the background.
In this paper, we introduce (IDE)-D-3 (Inconsistency Inspecting IDE) - an IDE plugin to inspect inconsistencies in pl/sql code. We first observed the potential issues, e.g., misuses or bugs, that are introduced by the...
详细信息
ISBN:
(纸本)9798400705809
In this paper, we introduce (IDE)-D-3 (Inconsistency Inspecting IDE) - an IDE plugin to inspect inconsistencies in pl/sql code. We first observed the potential issues, e.g., misuses or bugs, that are introduced by the inconsistent understanding of pl/sql semantics by pl/sql programmers and DBMS developers, and propose a metamorphic testing-based approach for inspecting such inconsistencies in pl/sql code. We design and implement our approach in (IDE)-D-3, a widely usable plugin for the IntelliJ platform. We conducted a comparative user study involving 16 participants, and the findings indicate that (IDE)-D-3 is consistently effective and efficient in helping programmers identify and avoid inconsistencies across different programming difficulties.
Optimization in pl/sql Programming is the preeminent aspect for database related applications built using pl/sql code. pl/sql statement/Query can be written in different ways for fetching the same output, but the most...
详细信息
ISBN:
(纸本)9789380544342
Optimization in pl/sql Programming is the preeminent aspect for database related applications built using pl/sql code. pl/sql statement/Query can be written in different ways for fetching the same output, but the most suitable technique should be considered when performance is a crucial factor, since processing time of the query may have significant variance, starting from a fraction of a second ending to hours, depending upon the method preferred. The main aim of query optimization is to find a solution that processes a specific query in minimum optimum time duration. This paper articulates different ways to optimize the performance of sql queries and pl/sql scripts by reducing the time complexity and number of context switches between sql Engine and pl/sql Engine.
Code Smell can be defined as any feature in the source code of a software that may indicate possible problems. In database languages, the term Bad Smell has been used as a generalization of Code Smell, once some featu...
详细信息
ISBN:
(纸本)9781728115191
Code Smell can be defined as any feature in the source code of a software that may indicate possible problems. In database languages, the term Bad Smell has been used as a generalization of Code Smell, once some features that are not directly related to code also can indicate problems, such as, for instance, the inappropriate type of an index structure or a sql query written inefficiently. Bearing in mind the recurrence of different Bad Smell, they were catalogued. Along with these catalogs, tools were developed to automatically identify Bad Smell occurrences in a given code. With the help of these tools, it has become possible to perform quick and effective analysis. In this context, this paper proposes an exploratory study about Bad Smell in pl/sql codes, from free software projects, published on GitHub. We analyzed 20 open-source pl/sql projects and empirically study the prevalence of bad smells. Our results showed that some smells occur together. Besides, some smells are more frequent than others. Based on this principle, this paper has the potential to aid professionals from the databases area to avoid future problems during the development of a pl/sql project.
Mutation testing is a prominent technique for evaluating the effectiveness of a test suite. Existing tools developed for supporting this technique are applicable for mainstream programming languages like C and Java. M...
详细信息
Mutation testing is a prominent technique for evaluating the effectiveness of a test suite. Existing tools developed for supporting this technique are applicable for mainstream programming languages like C and Java. Mutation testing tools and mutation operators used by these tools are inherently language -specific. Moreover, there is a lack of industrial case studies for evaluating mutation testing tools and techniques in practice. In this article, we introduce muplsql, a tool for applying mutation testing on pl/sql programs, facilitating automation for both mutant generation and test execution. We utilized existing mutation operators that are applicable for pl/sql. In addition, we introduced some operators specifically for this language. We conducted an industrial case study for evaluating the applicability and usefulness of our tool and mutation testing in general. We applied mutation testing on a business support software system. muplsql generated a total of 5,939 mutants. The number of live mutants was 680. Manual inspection of live mutants led to improvements of the existing test suite. In addition, we found 8 faults in source code during the inspection process. Test execution against the mutants required around 40 h. The overall effort was almost one person month. (C) 2022 Elsevier Inc. All rights reserved.
暂无评论