Detecting functionally similar code within the same project

Ryo Tajima, Masataka Nagura, Shingo Takada

Research output: Chapter in Book/Report/Conference proceedingConference contribution

1 Citation (Scopus)

Abstract

Multiple developers often take part in a software development project. Although these developers are collaborating towards the development within the same project, each developer creates code on their own. This may lead to duplicate or similar code appearing in different parts of the software. Such code should be removed to improve maintainability. This paper proposes an approach to automatically detect such code, which we shall call functionally similar code. The unit of detection is at the method level, and we focus on input/output and the method structure using program dependence graph. We show the results of applying our approach on open source software.

Original languageEnglish
Title of host publication2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings
PublisherInstitute of Electrical and Electronics Engineers Inc.
Pages51-57
Number of pages7
Volume2018-January
ISBN (Electronic)9781538664308
DOIs
Publication statusPublished - 2018 Mar 27
Event12th IEEE International Workshop on Software Clones, IWSC 2018 - Campobasso, Italy
Duration: 2018 Mar 20 → …

Other

Other12th IEEE International Workshop on Software Clones, IWSC 2018
CountryItaly
CityCampobasso
Period18/3/20 → …

Fingerprint

Maintainability
Software engineering
Open source software

Keywords

  • Functionally similar code detection
  • Program dependence graph
  • Random testing

ASJC Scopus subject areas

  • Software
  • Safety, Risk, Reliability and Quality

Cite this

Tajima, R., Nagura, M., & Takada, S. (2018). Detecting functionally similar code within the same project. In 2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings (Vol. 2018-January, pp. 51-57). Institute of Electrical and Electronics Engineers Inc.. https://doi.org/10.1109/IWSC.2018.8327319

Detecting functionally similar code within the same project. / Tajima, Ryo; Nagura, Masataka; Takada, Shingo.

2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings. Vol. 2018-January Institute of Electrical and Electronics Engineers Inc., 2018. p. 51-57.

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Tajima, R, Nagura, M & Takada, S 2018, Detecting functionally similar code within the same project. in 2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings. vol. 2018-January, Institute of Electrical and Electronics Engineers Inc., pp. 51-57, 12th IEEE International Workshop on Software Clones, IWSC 2018, Campobasso, Italy, 18/3/20. https://doi.org/10.1109/IWSC.2018.8327319
Tajima R, Nagura M, Takada S. Detecting functionally similar code within the same project. In 2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings. Vol. 2018-January. Institute of Electrical and Electronics Engineers Inc. 2018. p. 51-57 https://doi.org/10.1109/IWSC.2018.8327319
Tajima, Ryo ; Nagura, Masataka ; Takada, Shingo. / Detecting functionally similar code within the same project. 2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings. Vol. 2018-January Institute of Electrical and Electronics Engineers Inc., 2018. pp. 51-57
@inproceedings{0d11cb0daca94da18ce3ecd130908e4d,
title = "Detecting functionally similar code within the same project",
abstract = "Multiple developers often take part in a software development project. Although these developers are collaborating towards the development within the same project, each developer creates code on their own. This may lead to duplicate or similar code appearing in different parts of the software. Such code should be removed to improve maintainability. This paper proposes an approach to automatically detect such code, which we shall call functionally similar code. The unit of detection is at the method level, and we focus on input/output and the method structure using program dependence graph. We show the results of applying our approach on open source software.",
keywords = "Functionally similar code detection, Program dependence graph, Random testing",
author = "Ryo Tajima and Masataka Nagura and Shingo Takada",
year = "2018",
month = "3",
day = "27",
doi = "10.1109/IWSC.2018.8327319",
language = "English",
volume = "2018-January",
pages = "51--57",
booktitle = "2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings",
publisher = "Institute of Electrical and Electronics Engineers Inc.",

}

TY - GEN

T1 - Detecting functionally similar code within the same project

AU - Tajima, Ryo

AU - Nagura, Masataka

AU - Takada, Shingo

PY - 2018/3/27

Y1 - 2018/3/27

N2 - Multiple developers often take part in a software development project. Although these developers are collaborating towards the development within the same project, each developer creates code on their own. This may lead to duplicate or similar code appearing in different parts of the software. Such code should be removed to improve maintainability. This paper proposes an approach to automatically detect such code, which we shall call functionally similar code. The unit of detection is at the method level, and we focus on input/output and the method structure using program dependence graph. We show the results of applying our approach on open source software.

AB - Multiple developers often take part in a software development project. Although these developers are collaborating towards the development within the same project, each developer creates code on their own. This may lead to duplicate or similar code appearing in different parts of the software. Such code should be removed to improve maintainability. This paper proposes an approach to automatically detect such code, which we shall call functionally similar code. The unit of detection is at the method level, and we focus on input/output and the method structure using program dependence graph. We show the results of applying our approach on open source software.

KW - Functionally similar code detection

KW - Program dependence graph

KW - Random testing

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

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

U2 - 10.1109/IWSC.2018.8327319

DO - 10.1109/IWSC.2018.8327319

M3 - Conference contribution

AN - SCOPUS:85049678683

VL - 2018-January

SP - 51

EP - 57

BT - 2018 IEEE 12th International Workshop on Software Clones, IWSC 2018 - Proceedings

PB - Institute of Electrical and Electronics Engineers Inc.

ER -