An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code

Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not paying attention to the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goa...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Revista IEEE América Latina 2016-08, Vol.14 (8), p.3777-3783
Hauptverfasser: Campos, H.S., Martins Filho, L.R.V., Araujo, M.A.P.
Format: Artikel
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 3783
container_issue 8
container_start_page 3777
container_title Revista IEEE América Latina
container_volume 14
creator Campos, H.S.
Martins Filho, L.R.V.
Araujo, M.A.P.
description Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not paying attention to the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goal of this paper is to introduce an initial approach to identify unnecessary complexity in source code. Besides identifying, the approach can also show to its user how to properly rewrite the source code without the unnecessary complexity. The approach is based on the static analysis of the source code control flow graph. Once the unnecessary complexity is identified, the graph is refactored in order to allow the user to understand the improvement on the source code. The approach was included in a software tool in order to prove its concept. A performance evaluation of the approach was performed, resulting in a high accuracy. Two experimental studies were also performed to assess the viability of the approach when used by real users. The evidences provided by these studies suggests that the approach support the unnecessary complexity removal.
doi_str_mv 10.1109/TLA.2016.7786363
format Article
fullrecord <record><control><sourceid>proquest_RIE</sourceid><recordid>TN_cdi_ieee_primary_7786363</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>7786363</ieee_id><sourcerecordid>1850255057</sourcerecordid><originalsourceid>FETCH-LOGICAL-c174t-5d9f12e83e6b44ec3334702c8685852ecc65a63e8d4cf5208e50d7e017e3d1733</originalsourceid><addsrcrecordid>eNpNkE1PwzAMhiMEEmNwR-ISiXOHkzQfPVblW5M4sJ2jkrrQaWtKUiT278m0gTjZsl_brx9CLhnMGIPiZjEvZxyYmmltlFDiiEyYzE0GRcGP_-Wn5CzGFYAwyogJeS57Wg5D8LX7oK0P9BZHdGPXv9Nl36PDGOuwpdXWrf2mHjtHK78Z1vjdjVvqe_rqv4LDVGzwnJy09TrixSFOyfL-blE9ZvOXh6eqnGeO6XzMZFO0jKMRqN7yHJ0QItfAXfIjjeTonJK1Emia3LWSg0EJjUZgGkXDtBBTcr3fm1x_fmEc7SqZ6NNJy4wELiVInVSwV7ngYwzY2iF0m_SLZWB3xGwiZnfE7IFYGrnaj3SI-Cf_7f4A9HZl_A</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>1850255057</pqid></control><display><type>article</type><title>An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code</title><source>IEEE/IET Electronic Library</source><creator>Campos, H.S. ; Martins Filho, L.R.V. ; Araujo, M.A.P.</creator><creatorcontrib>Campos, H.S. ; Martins Filho, L.R.V. ; Araujo, M.A.P.</creatorcontrib><description>Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not paying attention to the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goal of this paper is to introduce an initial approach to identify unnecessary complexity in source code. Besides identifying, the approach can also show to its user how to properly rewrite the source code without the unnecessary complexity. The approach is based on the static analysis of the source code control flow graph. Once the unnecessary complexity is identified, the graph is refactored in order to allow the user to understand the improvement on the source code. The approach was included in a software tool in order to prove its concept. A performance evaluation of the approach was performed, resulting in a high accuracy. Two experimental studies were also performed to assess the viability of the approach when used by real users. The evidences provided by these studies suggests that the approach support the unnecessary complexity removal.</description><identifier>ISSN: 1548-0992</identifier><identifier>EISSN: 1548-0992</identifier><identifier>DOI: 10.1109/TLA.2016.7786363</identifier><language>eng</language><publisher>Los Alamitos: IEEE</publisher><subject>Complexity ; Complexity theory ; control flow graph ; cyclomatic complexity ; experimental software engineering ; Flow graphs ; IEEE transactions ; Performance evaluation ; Software development tools ; Software engineering ; Software tools ; Source code ; Static code analysis ; unnecessary complexity</subject><ispartof>Revista IEEE América Latina, 2016-08, Vol.14 (8), p.3777-3783</ispartof><rights>Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2016</rights><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/7786363$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>314,776,780,792,27901,27902,54733</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/7786363$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Campos, H.S.</creatorcontrib><creatorcontrib>Martins Filho, L.R.V.</creatorcontrib><creatorcontrib>Araujo, M.A.P.</creatorcontrib><title>An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code</title><title>Revista IEEE América Latina</title><addtitle>T-LA</addtitle><description>Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not paying attention to the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goal of this paper is to introduce an initial approach to identify unnecessary complexity in source code. Besides identifying, the approach can also show to its user how to properly rewrite the source code without the unnecessary complexity. The approach is based on the static analysis of the source code control flow graph. Once the unnecessary complexity is identified, the graph is refactored in order to allow the user to understand the improvement on the source code. The approach was included in a software tool in order to prove its concept. A performance evaluation of the approach was performed, resulting in a high accuracy. Two experimental studies were also performed to assess the viability of the approach when used by real users. The evidences provided by these studies suggests that the approach support the unnecessary complexity removal.</description><subject>Complexity</subject><subject>Complexity theory</subject><subject>control flow graph</subject><subject>cyclomatic complexity</subject><subject>experimental software engineering</subject><subject>Flow graphs</subject><subject>IEEE transactions</subject><subject>Performance evaluation</subject><subject>Software development tools</subject><subject>Software engineering</subject><subject>Software tools</subject><subject>Source code</subject><subject>Static code analysis</subject><subject>unnecessary complexity</subject><issn>1548-0992</issn><issn>1548-0992</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2016</creationdate><recordtype>article</recordtype><sourceid>RIE</sourceid><recordid>eNpNkE1PwzAMhiMEEmNwR-ISiXOHkzQfPVblW5M4sJ2jkrrQaWtKUiT278m0gTjZsl_brx9CLhnMGIPiZjEvZxyYmmltlFDiiEyYzE0GRcGP_-Wn5CzGFYAwyogJeS57Wg5D8LX7oK0P9BZHdGPXv9Nl36PDGOuwpdXWrf2mHjtHK78Z1vjdjVvqe_rqv4LDVGzwnJy09TrixSFOyfL-blE9ZvOXh6eqnGeO6XzMZFO0jKMRqN7yHJ0QItfAXfIjjeTonJK1Emia3LWSg0EJjUZgGkXDtBBTcr3fm1x_fmEc7SqZ6NNJy4wELiVInVSwV7ngYwzY2iF0m_SLZWB3xGwiZnfE7IFYGrnaj3SI-Cf_7f4A9HZl_A</recordid><startdate>20160801</startdate><enddate>20160801</enddate><creator>Campos, H.S.</creator><creator>Martins Filho, L.R.V.</creator><creator>Araujo, M.A.P.</creator><general>IEEE</general><general>The Institute of Electrical and Electronics Engineers, Inc. (IEEE)</general><scope>97E</scope><scope>RIA</scope><scope>RIE</scope><scope>AAYXX</scope><scope>CITATION</scope><scope>7SC</scope><scope>7SP</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>20160801</creationdate><title>An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code</title><author>Campos, H.S. ; Martins Filho, L.R.V. ; Araujo, M.A.P.</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c174t-5d9f12e83e6b44ec3334702c8685852ecc65a63e8d4cf5208e50d7e017e3d1733</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2016</creationdate><topic>Complexity</topic><topic>Complexity theory</topic><topic>control flow graph</topic><topic>cyclomatic complexity</topic><topic>experimental software engineering</topic><topic>Flow graphs</topic><topic>IEEE transactions</topic><topic>Performance evaluation</topic><topic>Software development tools</topic><topic>Software engineering</topic><topic>Software tools</topic><topic>Source code</topic><topic>Static code analysis</topic><topic>unnecessary complexity</topic><toplevel>online_resources</toplevel><creatorcontrib>Campos, H.S.</creatorcontrib><creatorcontrib>Martins Filho, L.R.V.</creatorcontrib><creatorcontrib>Araujo, M.A.P.</creatorcontrib><collection>IEEE All-Society Periodicals Package (ASPP) 2005–Present</collection><collection>IEEE All-Society Periodicals Package (ASPP) 1998–Present</collection><collection>IEEE/IET Electronic Library</collection><collection>CrossRef</collection><collection>Computer and Information Systems Abstracts</collection><collection>Electronics &amp; Communications Abstracts</collection><collection>Technology Research Database</collection><collection>ProQuest Computer Science Collection</collection><collection>Advanced Technologies Database with Aerospace</collection><collection>Computer and Information Systems Abstracts – Academic</collection><collection>Computer and Information Systems Abstracts Professional</collection><jtitle>Revista IEEE América Latina</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Campos, H.S.</au><au>Martins Filho, L.R.V.</au><au>Araujo, M.A.P.</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code</atitle><jtitle>Revista IEEE América Latina</jtitle><stitle>T-LA</stitle><date>2016-08-01</date><risdate>2016</risdate><volume>14</volume><issue>8</issue><spage>3777</spage><epage>3783</epage><pages>3777-3783</pages><issn>1548-0992</issn><eissn>1548-0992</eissn><abstract>Seeking product's quality is essential nowadays. One of the many quality aspects in software development is the source code complexity. Not paying attention to the complexity during the development can result in unexpected cost, caused by the difficulty on the source code understanding. The goal of this paper is to introduce an initial approach to identify unnecessary complexity in source code. Besides identifying, the approach can also show to its user how to properly rewrite the source code without the unnecessary complexity. The approach is based on the static analysis of the source code control flow graph. Once the unnecessary complexity is identified, the graph is refactored in order to allow the user to understand the improvement on the source code. The approach was included in a software tool in order to prove its concept. A performance evaluation of the approach was performed, resulting in a high accuracy. Two experimental studies were also performed to assess the viability of the approach when used by real users. The evidences provided by these studies suggests that the approach support the unnecessary complexity removal.</abstract><cop>Los Alamitos</cop><pub>IEEE</pub><doi>10.1109/TLA.2016.7786363</doi><tpages>7</tpages></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 1548-0992
ispartof Revista IEEE América Latina, 2016-08, Vol.14 (8), p.3777-3783
issn 1548-0992
1548-0992
language eng
recordid cdi_ieee_primary_7786363
source IEEE/IET Electronic Library
subjects Complexity
Complexity theory
control flow graph
cyclomatic complexity
experimental software engineering
Flow graphs
IEEE transactions
Performance evaluation
Software development tools
Software engineering
Software tools
Source code
Static code analysis
unnecessary complexity
title An Approach for Detecting Unnecessary Cyclomatic Complexity on Source Code
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-02-14T14%3A46%3A14IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_RIE&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=An%20Approach%20for%20Detecting%20Unnecessary%20Cyclomatic%20Complexity%20on%20Source%20Code&rft.jtitle=Revista%20IEEE%20Am%C3%A9rica%20Latina&rft.au=Campos,%20H.S.&rft.date=2016-08-01&rft.volume=14&rft.issue=8&rft.spage=3777&rft.epage=3783&rft.pages=3777-3783&rft.issn=1548-0992&rft.eissn=1548-0992&rft_id=info:doi/10.1109/TLA.2016.7786363&rft_dat=%3Cproquest_RIE%3E1850255057%3C/proquest_RIE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=1850255057&rft_id=info:pmid/&rft_ieee_id=7786363&rfr_iscdi=true