Scenario Oriented Program Slicing for Large-Scale Software Through Constraint Logic Programming and Program Transformation
Program slicing, as a technique of program decomposition, is widely used in the field of program testing, model checking, software verification, symbolic execution, and other fields. However, the traditional approaches of program slicing tend to produce too large slices and the static program analys...
Saved in:
| Published in: | IEEE access Vol. 7; pp. 62352 - 62360 |
|---|---|
| Main Authors: | , |
| Format: | Journal Article |
| Language: | English |
| Published: |
Piscataway
IEEE
01.01.2019
The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Subjects: | |
| ISSN: | 2169-3536, 2169-3536 |
| Online Access: | Get full text |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Abstract | Program slicing, as a technique of program decomposition, is widely used in the field of program testing, model checking, software verification, symbolic execution, and other fields. However, the traditional approaches of program slicing tend to produce too large slices and the static program analyses are hard to be precise enough. Scenario-oriented program slicing, which considers the actual usage of software, gives a more precise perspective of program slicing. In this paper, we propose an approach of scenario-oriented program slicing, which combines constraint logic programming and program transformation. According to the observation that the output of a program transformation is a semantically equivalent program where the properties of interest are preserved, we can apply a sequence of transformations, more powerful than those needed for program specialization, refining the slicing to the desired degree of precision. And constraint logic programming has been shown to be a powerful, flexible formalism to reason about the correctness of programs. The novel contributions of this paper are as follows: 1) converting the problem of program slicing into program transformation and retrieval; 2) presenting a set of constraint handling rules for scenario-oriented program slicing in constraint logical programming programs; and 3) deriving a scenario-oriented program slicing algorithm. The method of scenario-oriented program slicing has been implemented and we have demonstrated its effectiveness and efficiency on three open source software projects in GitHub. |
|---|---|
| AbstractList | Program slicing, as a technique of program decomposition, is widely used in the field of program testing, model checking, software verification, symbolic execution, and other fields. However, the traditional approaches of program slicing tend to produce too large slices and the static program analyses are hard to be precise enough. Scenario-oriented program slicing, which considers the actual usage of software, gives a more precise perspective of program slicing. In this paper, we propose an approach of scenario-oriented program slicing, which combines constraint logic programming and program transformation. According to the observation that the output of a program transformation is a semantically equivalent program where the properties of interest are preserved, we can apply a sequence of transformations, more powerful than those needed for program specialization, refining the slicing to the desired degree of precision. And constraint logic programming has been shown to be a powerful, flexible formalism to reason about the correctness of programs. The novel contributions of this paper are as follows: 1) converting the problem of program slicing into program transformation and retrieval; 2) presenting a set of constraint handling rules for scenario-oriented program slicing in constraint logical programming programs; and 3) deriving a scenario-oriented program slicing algorithm. The method of scenario-oriented program slicing has been implemented and we have demonstrated its effectiveness and efficiency on three open source software projects in GitHub. |
| Author | Ren, Shengbing Jia, Mengyu |
| Author_xml | – sequence: 1 givenname: Shengbing surname: Ren fullname: Ren, Shengbing organization: School of Software, Central South University, Changsha, China – sequence: 2 givenname: Mengyu orcidid: 0000-0001-6676-4562 surname: Jia fullname: Jia, Mengyu email: 154711013@csu.edu.cn organization: School of Software, Central South University, Changsha, China |
| BookMark | eNqFkU9r3DAQxUVJoWmaT5CLoGdvJeuP5WMwaRtYSMDbsxjLI0eLV0plL6X99PXGaVpy6Vw0DPN-T8x7T85iikjIFWcbzln96bppbtp2UzJuNqVRgivxhpyXXNeFUEKf_dO_I5fTtGdLmWWkqnPyq3UYIYdE73LAOGNP73MaMhxoOwYX4kB9ynQLecCidTAibZOff0BGunvI6Tg80CbFac4Q4ky3aQjuD-FwUkP8S9xliNOCO8AcUvxA3noYJ7x8fi_It883u-Zrsb37cttcbwsnmZkLEL7sfFWiNN6Y3lXGY48VF6UywledRueM9yUq7XTnTOdLDVK7qq-rznUgLsjtyu0T7O1jDgfIP22CYJ8GKQ8W8hzciBaxkxL6TknFFnNjhOwF-E6JytRQs4X1cWU95vT9iNNs9-mY4_J9W0qlNK9qppctsW65nKYpo39x5cyeMrNrZvaUmX3ObFHVr1QuzE-XOh13_I_2atUGRHxxM5IzoZX4DRq_qS8 |
| CODEN | IAECCG |
| CitedBy_id | crossref_primary_10_1371_journal_pone_0231331 crossref_primary_10_3390_s22207714 |
| Cites_doi | 10.1109/ASE.2017.8115704 10.1016/0304-3975(95)00148-4 10.1017/S1471068411000627 10.1145/2890778 10.1155/2012/628571 10.4204/EPTCS.129.12 10.1007/978-3-642-54862-8_47 10.1007/978-981-10-6385-5_63 10.1016/j.jss.2017.05.128 10.3233/FI-2015-1257 10.1109/QSIC.2012.44 10.1145/358557.358577 10.1145/1363686.1363861 10.1016/j.scico.2016.11.002 |
| ContentType | Journal Article |
| Copyright | Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2019 |
| Copyright_xml | – notice: Copyright The Institute of Electrical and Electronics Engineers, Inc. (IEEE) 2019 |
| DBID | 97E ESBDL RIA RIE AAYXX CITATION 7SC 7SP 7SR 8BQ 8FD JG9 JQ2 L7M L~C L~D DOA |
| DOI | 10.1109/ACCESS.2018.2853153 |
| DatabaseName | IEEE Xplore (IEEE) IEEE Xplore Open Access Journals IEEE All-Society Periodicals Package (ASPP) 1998–Present IEEE Electronic Library (IEL) CrossRef Computer and Information Systems Abstracts Electronics & Communications Abstracts Engineered Materials Abstracts METADEX Technology Research Database Materials Research Database ProQuest Computer Science Collection Advanced Technologies Database with Aerospace Computer and Information Systems Abstracts Academic Computer and Information Systems Abstracts Professional DOAJ Directory of Open Access Journals |
| DatabaseTitle | CrossRef Materials Research Database Engineered Materials Abstracts Technology Research Database Computer and Information Systems Abstracts – Academic Electronics & Communications Abstracts ProQuest Computer Science Collection Computer and Information Systems Abstracts Advanced Technologies Database with Aerospace METADEX Computer and Information Systems Abstracts Professional |
| DatabaseTitleList | Materials Research Database |
| Database_xml | – sequence: 1 dbid: DOA name: DOAJ Directory of Open Access Journals url: https://www.doaj.org/ sourceTypes: Open Website – sequence: 2 dbid: RIE name: IEEE Electronic Library (IEL) url: https://ieeexplore.ieee.org/ sourceTypes: Publisher |
| DeliveryMethod | fulltext_linktorsrc |
| Discipline | Engineering |
| EISSN | 2169-3536 |
| EndPage | 62360 |
| ExternalDocumentID | oai_doaj_org_article_eeb44adb54504088834d3afb53789a90 10_1109_ACCESS_2018_2853153 8410365 |
| Genre | orig-research |
| GrantInformation_xml | – fundername: Central South University grantid: 2017zzts615 funderid: 10.13039/501100002822 |
| GroupedDBID | 0R~ 4.4 5VS 6IK 97E AAJGR ABAZT ABVLG ACGFS ADBBV AGSQL ALMA_UNASSIGNED_HOLDINGS BCNDV BEFXN BFFAM BGNUA BKEBE BPEOZ EBS EJD ESBDL GROUPED_DOAJ IPLJI JAVBF KQ8 M43 M~E O9- OCL OK1 RIA RIE RNS AAYXX CITATION 7SC 7SP 7SR 8BQ 8FD JG9 JQ2 L7M L~C L~D |
| ID | FETCH-LOGICAL-c408t-a3f2bf72e48f88dc78fede7132583f7b6ecc8ff2e56c6bc8bf26a46c7d97bcba3 |
| IEDL.DBID | DOA |
| ISICitedReferencesCount | 2 |
| ISICitedReferencesURI | http://www.webofscience.com/api/gateway?GWVersion=2&SrcApp=Summon&SrcAuth=ProQuest&DestLinkType=CitingArticles&DestApp=WOS_CPL&KeyUT=000469857900001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| ISSN | 2169-3536 |
| IngestDate | Fri Oct 03 12:42:22 EDT 2025 Sun Nov 30 04:07:23 EST 2025 Tue Nov 18 21:51:49 EST 2025 Sat Nov 29 03:33:16 EST 2025 Wed Aug 27 02:46:56 EDT 2025 |
| IsDoiOpenAccess | true |
| IsOpenAccess | true |
| IsPeerReviewed | true |
| IsScholarly | true |
| Language | English |
| License | https://ieeexplore.ieee.org/Xplorehelp/downloads/license-information/OAPA.html |
| LinkModel | DirectLink |
| MergedId | FETCHMERGED-LOGICAL-c408t-a3f2bf72e48f88dc78fede7132583f7b6ecc8ff2e56c6bc8bf26a46c7d97bcba3 |
| Notes | ObjectType-Article-1 SourceType-Scholarly Journals-1 ObjectType-Feature-2 content type line 14 |
| ORCID | 0000-0001-6676-4562 |
| OpenAccessLink | https://doaj.org/article/eeb44adb54504088834d3afb53789a90 |
| PQID | 2455617906 |
| PQPubID | 4845423 |
| PageCount | 9 |
| ParticipantIDs | ieee_primary_8410365 crossref_citationtrail_10_1109_ACCESS_2018_2853153 crossref_primary_10_1109_ACCESS_2018_2853153 proquest_journals_2455617906 doaj_primary_oai_doaj_org_article_eeb44adb54504088834d3afb53789a90 |
| PublicationCentury | 2000 |
| PublicationDate | 2019-01-01 |
| PublicationDateYYYYMMDD | 2019-01-01 |
| PublicationDate_xml | – month: 01 year: 2019 text: 2019-01-01 day: 01 |
| PublicationDecade | 2010 |
| PublicationPlace | Piscataway |
| PublicationPlace_xml | – name: Piscataway |
| PublicationTitle | IEEE access |
| PublicationTitleAbbrev | Access |
| PublicationYear | 2019 |
| Publisher | IEEE The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| Publisher_xml | – name: IEEE – name: The Institute of Electrical and Electronics Engineers, Inc. (IEEE) |
| References | ref13 ref12 ref15 ref14 kumar (ref3) 2009; 1 de angelis (ref11) 2016 ref10 ref1 ref17 ref16 ref18 ref8 ref7 weiser (ref2) 1981 ref9 ref4 ref6 ref5 |
| References_xml | – ident: ref7 doi: 10.1109/ASE.2017.8115704 – ident: ref8 doi: 10.1016/0304-3975(95)00148-4 – ident: ref14 doi: 10.1017/S1471068411000627 – ident: ref5 doi: 10.1145/2890778 – ident: ref17 doi: 10.1155/2012/628571 – start-page: 69 year: 2016 ident: ref11 article-title: Verifying relational program properties by transforming constrained horn clauses publication-title: Proc of CILC – ident: ref4 doi: 10.1145/2890778 – ident: ref9 doi: 10.4204/EPTCS.129.12 – ident: ref12 doi: 10.1007/978-3-642-54862-8_47 – ident: ref15 doi: 10.1007/978-981-10-6385-5_63 – ident: ref1 doi: 10.1016/j.jss.2017.05.128 – start-page: 439 year: 1981 ident: ref2 article-title: Program slicing publication-title: 5th Int Conf on Software Engineering – ident: ref10 doi: 10.3233/FI-2015-1257 – ident: ref18 doi: 10.1109/QSIC.2012.44 – ident: ref16 doi: 10.1145/358557.358577 – ident: ref6 doi: 10.1145/1363686.1363861 – ident: ref13 doi: 10.1016/j.scico.2016.11.002 – volume: 1 start-page: 141 year: 2009 ident: ref3 article-title: An approach for UML based scenario oriented slicing publication-title: Int J Recent Trends Eng |
| SSID | ssj0000816957 |
| Score | 2.1368496 |
| Snippet | Program slicing, as a technique of program decomposition, is widely used in the field of program testing, model checking, software verification, symbolic... |
| SourceID | doaj proquest crossref ieee |
| SourceType | Open Website Aggregation Database Enrichment Source Index Database Publisher |
| StartPage | 62352 |
| SubjectTerms | Algorithms Constraint logic programming Java large-scale software Logic programming Model checking Open source software program slicing program transformation Program verification (computers) scenario Semantics Slicing Software Software algorithms Transformations |
| SummonAdditionalLinks | – databaseName: IEEE Electronic Library (IEL) dbid: RIE link: http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3NaxQxFA9t8aCHVq3i2io5eOy0s_mYJMe6WDxILewKvQ3JmxcR6qxsty30r_clkx0riuBtGJLwwi95H8nL-zH2zoAQ0Nm6UqhipWgFV97JWGlPthoaQFCQySbM-bm9vHQXW-xofAuDiDn5DI_TZ77L75Zwk47KTqyaksLV22zbGDO81RrPUxKBhNOmFBaa1u7kdDajOaTsLXssyCpNtfzN-OQa_YVU5Q9NnM3L2d7_CfaU7RY3kp8OuD9jW9g_Z08eFBfcZ_dzwJ4i4SX_nGoZk2fJL4ZkLD6_SvfpXzk5rPxTSgWv5gQV8jnp5Du_Qr4Y2Ht4ovPMJBJrnkiZYTPC99Tb979GXDzwf5f9C_bl7MNi9rEqTAsVqNquKy-jCNEIVDZa24GxETuk-FVoK6MJDQFtYxSoG2gC2BBF41UDpnMmQPDyJdvplz2-YlyiNkFb8FEGpbQlDw7I65AhUKQqjZ0wsYGghVKGPE3kqs3hSO3aAbc24dYW3CbsaOz0Y6jC8e_m7xO2Y9NUQjv_INDasiNbRJLPd4FcSFJk1lqpOulj0CSk866esP0E9DhIwXjCDjcrpS3b_boVKrGMGlc3r__e64A9JgHdcHZzyHbWqxt8wx7B7frb9eptXsk_AQak86I priority: 102 providerName: IEEE |
| Title | Scenario Oriented Program Slicing for Large-Scale Software Through Constraint Logic Programming and Program Transformation |
| URI | https://ieeexplore.ieee.org/document/8410365 https://www.proquest.com/docview/2455617906 https://doaj.org/article/eeb44adb54504088834d3afb53789a90 |
| Volume | 7 |
| WOSCitedRecordID | wos000469857900001&url=https%3A%2F%2Fcvtisr.summon.serialssolutions.com%2F%23%21%2Fsearch%3Fho%3Df%26include.ft.matches%3Dt%26l%3Dnull%26q%3D |
| hasFullText | 1 |
| inHoldings | 1 |
| isFullTextHit | |
| isPrint | |
| journalDatabaseRights | – providerCode: PRVAON databaseName: DOAJ Directory of Open Access Journals customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: DOA dateStart: 20130101 isFulltext: true titleUrlDefault: https://www.doaj.org/ providerName: Directory of Open Access Journals – providerCode: PRVHPJ databaseName: ROAD: Directory of Open Access Scholarly Resources customDbUrl: eissn: 2169-3536 dateEnd: 99991231 omitProxy: false ssIdentifier: ssj0000816957 issn: 2169-3536 databaseCode: M~E dateStart: 20130101 isFulltext: true titleUrlDefault: https://road.issn.org providerName: ISSN International Centre |
| link | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwrV1LT-MwELYQ2gMcVjxFeckHjgRaP2L7yFYgDrykFombZU9stBKbolJA4sBv37GTdouQ4LKXHCLbif1NPDPJ5PsIOVDAGFS6W4ggYiHQggtneCykQ18NJQQQkMUm1NWVvrszN3NSX6kmrKEHbhbuOAQvhKs8enq0N8zXuKi4i15ypY0zOVvHqGcumcp7sO6VRqqWZqjXNccn_T7OKNVy6SOGPqon-QdXlBn7W4mVT_tydjZnK-RnGyXSk-buVslCqNfI8hx34Dp5G0CoMdEd0etEVYyBI71paq3o4CF9Lr-nGI_Si1TpXQwQiUAHuOW-unGgw0achya1zqwRMaFJcxmmI_xJvV39b8ThXHg7qjfI7dnpsH9etEIKBeCSTQrHI_NRsSB01LoCpWOoAqanTGoelS8RRx0jC7KE0oP2kZVOlKAqozx4xzfJYj2qwxahPEjlpQYXOeIiNQZogEEF9x4TUYSkQ9h0TS20LONpIg82ZxtdYxsgbALCtkB0yOGs02NDsvF1818JrFnTxJCdT6Dd2NZu7Hd20yHrCerZIFr00JnLDtmdQm_bp_nJMpFERJXpltv_49I7ZAmnY5oXObtkcTJ-DnvkB7xMfj-N97Mh4_Hy_XQ__474Fw-w-IY |
| linkProvider | Directory of Open Access Journals |
| linkToHtml | http://cvtisr.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwlV3daxQxEA-1CtYHv6p4WjUPPnbbvXxsksd6WCqeZ-FO6FtIZidFqHvlelXwr3eyu7dWFMG3ZUnChF8yH8lkfoy9MSAE1LYsFKpUKFrBRXAyFTqQrYYKEBS0ZBNmNrNnZ-50i-0Pb2EQsU0-w4P82d7l10u4zkdlh1aNSeHqW-y2VkqMu9daw4lKppBw2vSlhcalOzyaTGgWOX_LHgiyS2MtfzM_bZX-nlblD13cGpjjB_8n2kN2v3ck-VGH_CO2hc1jdu9GecFd9mMO2FAsvOSfcjVj8i35aZeOxecX-Ub9nJPLyqc5GbyYE1jI56SVv4cV8kXH38MzoWdLI7HmmZYZNiN8zb1D82vExQ0PeNk8YZ-P3y0mJ0XPtVCAKu26CDKJmIxAZZO1NRibsEaKYIW2MplYEdQ2JYG6giqCjUlUQVVgamcixCCfsu1m2eAzxiVqE7WFkGRUSlvy4YD8DhkjxarS2BETGwg89IXI80QufBuQlM53uPmMm-9xG7H9odNlV4fj383fZmyHprmIdvuDQPP9nvSIJF-oIzmRpMqstVLVMqSoSUgXXDliuxnoYZAe4xHb26wU32_4Ky9U5hk1rqye_73Xa3b3ZPFx6qfvZx9esB0S1nUnOXtse726xpfsDnxbf7lavWpX9U_Q2Pbp |
| openUrl | ctx_ver=Z39.88-2004&ctx_enc=info%3Aofi%2Fenc%3AUTF-8&rfr_id=info%3Asid%2Fsummon.serialssolutions.com&rft_val_fmt=info%3Aofi%2Ffmt%3Akev%3Amtx%3Ajournal&rft.genre=article&rft.atitle=Scenario+Oriented+Program+Slicing+for+Large-Scale+Software+Through+Constraint+Logic+Programming+and+Program+Transformation&rft.jtitle=IEEE+access&rft.au=Ren%2C+Shengbing&rft.au=Jia%2C+Mengyu&rft.date=2019-01-01&rft.issn=2169-3536&rft.eissn=2169-3536&rft.volume=7&rft.spage=62352&rft.epage=62360&rft_id=info:doi/10.1109%2FACCESS.2018.2853153&rft.externalDBID=n%2Fa&rft.externalDocID=10_1109_ACCESS_2018_2853153 |
| thumbnail_l | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/lc.gif&issn=2169-3536&client=summon |
| thumbnail_m | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/mc.gif&issn=2169-3536&client=summon |
| thumbnail_s | http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=/sc.gif&issn=2169-3536&client=summon |