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...
Gespeichert in:
Veröffentlicht in: | Revista IEEE América Latina 2016-08, Vol.14 (8), p.3777-3783 |
---|---|
Hauptverfasser: | , , |
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 & 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 |