Where was this SQL query executed? a static concept location approach

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

Abstract

Concept location in software engineering is the process of identifying where a specific concept is implemented in the source code of a software system. It is a very common task performed by developers during development or maintenance, and many techniques have been studied by researchers to make it more efficient. However, most of the current techniques ignore the role of a database in the architecture of a system, which is also an important source of concepts or dependencies among them. In this paper, we present a concept location technique for data-intensive systems, as systems with at least one database server in their architecture which is intensively used by its clients. Specifically, we present a static technique for identifying the exact source code location from where a given SQL query was sent to the database. We evaluate our technique by collecting and locating SQL queries from testing scenarios of two open source Java systems under active development. With our technique, we are able to successfully identify the source of most of these queries.

Original languageEnglish
Title of host publicationProceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015)
PublisherIEEE Computer Society Press
Pages580-584
Number of pages5
ISBN (Print)9781479984695
DOIs
Publication statusPublished - 8 Apr 2015
Event22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2015 - Montreal, Canada
Duration: 2 Mar 20156 Mar 2015

Conference

Conference22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2015
CountryCanada
CityMontreal
Period2/03/156/03/15

Fingerprint

Software engineering
Servers
Testing

Keywords

  • concept location
  • data-intensive systems
  • fault location
  • Hibernate
  • JDBC
  • SQL
  • static analysis

Cite this

Nagy, C., Meurice, L., & Cleve, A. (2015). Where was this SQL query executed? a static concept location approach. In Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015) (pp. 580-584). [7081881] IEEE Computer Society Press. https://doi.org/10.1109/SANER.2015.7081881
Nagy, Csaba ; Meurice, Loup ; Cleve, Anthony. / Where was this SQL query executed? a static concept location approach. Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015). IEEE Computer Society Press, 2015. pp. 580-584
@inproceedings{9218bf09fa8a42cab8e8cd06e049e8a0,
title = "Where was this SQL query executed? a static concept location approach",
abstract = "Concept location in software engineering is the process of identifying where a specific concept is implemented in the source code of a software system. It is a very common task performed by developers during development or maintenance, and many techniques have been studied by researchers to make it more efficient. However, most of the current techniques ignore the role of a database in the architecture of a system, which is also an important source of concepts or dependencies among them. In this paper, we present a concept location technique for data-intensive systems, as systems with at least one database server in their architecture which is intensively used by its clients. Specifically, we present a static technique for identifying the exact source code location from where a given SQL query was sent to the database. We evaluate our technique by collecting and locating SQL queries from testing scenarios of two open source Java systems under active development. With our technique, we are able to successfully identify the source of most of these queries.",
keywords = "concept location, data-intensive systems, fault location, Hibernate, JDBC, SQL, static analysis",
author = "Csaba Nagy and Loup Meurice and Anthony Cleve",
year = "2015",
month = "4",
day = "8",
doi = "10.1109/SANER.2015.7081881",
language = "English",
isbn = "9781479984695",
pages = "580--584",
booktitle = "Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015)",
publisher = "IEEE Computer Society Press",

}

Nagy, C, Meurice, L & Cleve, A 2015, Where was this SQL query executed? a static concept location approach. in Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015)., 7081881, IEEE Computer Society Press, pp. 580-584, 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2015, Montreal, Canada, 2/03/15. https://doi.org/10.1109/SANER.2015.7081881

Where was this SQL query executed? a static concept location approach. / Nagy, Csaba; Meurice, Loup; Cleve, Anthony.

Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015). IEEE Computer Society Press, 2015. p. 580-584 7081881.

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

TY - GEN

T1 - Where was this SQL query executed? a static concept location approach

AU - Nagy, Csaba

AU - Meurice, Loup

AU - Cleve, Anthony

PY - 2015/4/8

Y1 - 2015/4/8

N2 - Concept location in software engineering is the process of identifying where a specific concept is implemented in the source code of a software system. It is a very common task performed by developers during development or maintenance, and many techniques have been studied by researchers to make it more efficient. However, most of the current techniques ignore the role of a database in the architecture of a system, which is also an important source of concepts or dependencies among them. In this paper, we present a concept location technique for data-intensive systems, as systems with at least one database server in their architecture which is intensively used by its clients. Specifically, we present a static technique for identifying the exact source code location from where a given SQL query was sent to the database. We evaluate our technique by collecting and locating SQL queries from testing scenarios of two open source Java systems under active development. With our technique, we are able to successfully identify the source of most of these queries.

AB - Concept location in software engineering is the process of identifying where a specific concept is implemented in the source code of a software system. It is a very common task performed by developers during development or maintenance, and many techniques have been studied by researchers to make it more efficient. However, most of the current techniques ignore the role of a database in the architecture of a system, which is also an important source of concepts or dependencies among them. In this paper, we present a concept location technique for data-intensive systems, as systems with at least one database server in their architecture which is intensively used by its clients. Specifically, we present a static technique for identifying the exact source code location from where a given SQL query was sent to the database. We evaluate our technique by collecting and locating SQL queries from testing scenarios of two open source Java systems under active development. With our technique, we are able to successfully identify the source of most of these queries.

KW - concept location

KW - data-intensive systems

KW - fault location

KW - Hibernate

KW - JDBC

KW - SQL

KW - static analysis

UR - http://www.scopus.com/inward/record.url?scp=84928692719&partnerID=8YFLogxK

U2 - 10.1109/SANER.2015.7081881

DO - 10.1109/SANER.2015.7081881

M3 - Conference contribution

SN - 9781479984695

SP - 580

EP - 584

BT - Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015)

PB - IEEE Computer Society Press

ER -

Nagy C, Meurice L, Cleve A. Where was this SQL query executed? a static concept location approach. In Proceedings of the 22nd IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2015). IEEE Computer Society Press. 2015. p. 580-584. 7081881 https://doi.org/10.1109/SANER.2015.7081881