Loading…
Slicing concurrent Java programs using Indus and Kaveri
Program slicing is a program analysis and transformation technique that has been successfully used in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only few fully featured implementations of program slicing that ar...
Saved in:
Published in: | International journal on software tools for technology transfer 2007-10, Vol.9 (5-6), p.489-504 |
---|---|
Main Authors: | , |
Format: | Article |
Language: | English |
Subjects: | |
Citations: | Items that this one cites Items that cite this one |
Online Access: | Get full text |
Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
cited_by | cdi_FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3 |
---|---|
cites | cdi_FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3 |
container_end_page | 504 |
container_issue | 5-6 |
container_start_page | 489 |
container_title | International journal on software tools for technology transfer |
container_volume | 9 |
creator | Ranganath, Venkatesh Prasad Hatcliff, John |
description | Program slicing is a program analysis and transformation technique that has been successfully used in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only few fully featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool support exists for slicing programs written in modern object-oriented languages such as Java, C#, or C++. In this paper, we present Indus--a robust framework for analyzing and slicing concurrent Java programs, and Kaveri--a feature-rich Eclipse-based GUI front end for Indus slicing. For Indus, we describe the underlying tool architecture, analysis components, and program dependence capabilities required for slicing. In addition, we present a collection of advanced features useful for effective slicing of Java programs including calling-context sensitive slicing, scoped slicing, control slicing, and chopping. For Kaveri, we discuss the design goals and basic capabilities of the graphical facilities integrated into a Java development environment to present the slicing information. This paper is an extended version of a tool demonstration paper presented at the International Conference on Fundamental Aspects of Software Engineering (FASE 2005). Thus, the paper highlights tool capabilities and engineering issues and refers the reader to other papers for technical details. [PUBLICATION ABSTRACT] |
doi_str_mv | 10.1007/s10009-007-0043-0 |
format | article |
fullrecord | <record><control><sourceid>proquest_cross</sourceid><recordid>TN_cdi_proquest_journals_197434117</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><sourcerecordid>1361068241</sourcerecordid><originalsourceid>FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3</originalsourceid><addsrcrecordid>eNo9kE1PwzAMhiMEEmPwA7hV3At20jTNEU3ABpM4AOcozcfUaUtHsk7i35OqiIPtR_Yr23oJuUW4RwDxkHIGWWbMUbESzsgMK8ZKKhpx_s9CXpKrlLYAKGohZ0R87DrThU1h-mCGGF04Fq_6pItD7DdR71MxpHG8CnZIhQ62eNMnF7trcuH1LrmbvzonX89Pn4tluX5_WS0e16XBRhxL5jX1XLY1IlLacqSsrqRESy1rLLeWtxY15L503HpGuTQcvG9BN05Ay-bkbtqb__keXDqqbT_EkE8qlKJiFaLIIpxEJvYpRefVIXZ7HX8UghrtUZM9asTRHgXsF8d8Vps</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>article</recordtype><pqid>197434117</pqid></control><display><type>article</type><title>Slicing concurrent Java programs using Indus and Kaveri</title><source>Springer Nature</source><creator>Ranganath, Venkatesh Prasad ; Hatcliff, John</creator><creatorcontrib>Ranganath, Venkatesh Prasad ; Hatcliff, John</creatorcontrib><description>Program slicing is a program analysis and transformation technique that has been successfully used in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only few fully featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool support exists for slicing programs written in modern object-oriented languages such as Java, C#, or C++. In this paper, we present Indus--a robust framework for analyzing and slicing concurrent Java programs, and Kaveri--a feature-rich Eclipse-based GUI front end for Indus slicing. For Indus, we describe the underlying tool architecture, analysis components, and program dependence capabilities required for slicing. In addition, we present a collection of advanced features useful for effective slicing of Java programs including calling-context sensitive slicing, scoped slicing, control slicing, and chopping. For Kaveri, we discuss the design goals and basic capabilities of the graphical facilities integrated into a Java development environment to present the slicing information. This paper is an extended version of a tool demonstration paper presented at the International Conference on Fundamental Aspects of Software Engineering (FASE 2005). Thus, the paper highlights tool capabilities and engineering issues and refers the reader to other papers for technical details. [PUBLICATION ABSTRACT]</description><identifier>ISSN: 1433-2779</identifier><identifier>EISSN: 1433-2787</identifier><identifier>DOI: 10.1007/s10009-007-0043-0</identifier><language>eng</language><publisher>Heidelberg: Springer Nature B.V</publisher><subject>Debugging ; Java ; Programming languages ; Software engineering ; Software utilities ; Technology transfer ; User interface</subject><ispartof>International journal on software tools for technology transfer, 2007-10, Vol.9 (5-6), p.489-504</ispartof><rights>Springer-Verlag 2007</rights><lds50>peer_reviewed</lds50><woscitedreferencessubscribed>false</woscitedreferencessubscribed><citedby>FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3</citedby><cites>FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3</cites></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><link.rule.ids>314,776,780,27903,27904</link.rule.ids></links><search><creatorcontrib>Ranganath, Venkatesh Prasad</creatorcontrib><creatorcontrib>Hatcliff, John</creatorcontrib><title>Slicing concurrent Java programs using Indus and Kaveri</title><title>International journal on software tools for technology transfer</title><description>Program slicing is a program analysis and transformation technique that has been successfully used in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only few fully featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool support exists for slicing programs written in modern object-oriented languages such as Java, C#, or C++. In this paper, we present Indus--a robust framework for analyzing and slicing concurrent Java programs, and Kaveri--a feature-rich Eclipse-based GUI front end for Indus slicing. For Indus, we describe the underlying tool architecture, analysis components, and program dependence capabilities required for slicing. In addition, we present a collection of advanced features useful for effective slicing of Java programs including calling-context sensitive slicing, scoped slicing, control slicing, and chopping. For Kaveri, we discuss the design goals and basic capabilities of the graphical facilities integrated into a Java development environment to present the slicing information. This paper is an extended version of a tool demonstration paper presented at the International Conference on Fundamental Aspects of Software Engineering (FASE 2005). Thus, the paper highlights tool capabilities and engineering issues and refers the reader to other papers for technical details. [PUBLICATION ABSTRACT]</description><subject>Debugging</subject><subject>Java</subject><subject>Programming languages</subject><subject>Software engineering</subject><subject>Software utilities</subject><subject>Technology transfer</subject><subject>User interface</subject><issn>1433-2779</issn><issn>1433-2787</issn><fulltext>true</fulltext><rsrctype>article</rsrctype><creationdate>2007</creationdate><recordtype>article</recordtype><recordid>eNo9kE1PwzAMhiMEEmPwA7hV3At20jTNEU3ABpM4AOcozcfUaUtHsk7i35OqiIPtR_Yr23oJuUW4RwDxkHIGWWbMUbESzsgMK8ZKKhpx_s9CXpKrlLYAKGohZ0R87DrThU1h-mCGGF04Fq_6pItD7DdR71MxpHG8CnZIhQ62eNMnF7trcuH1LrmbvzonX89Pn4tluX5_WS0e16XBRhxL5jX1XLY1IlLacqSsrqRESy1rLLeWtxY15L503HpGuTQcvG9BN05Ay-bkbtqb__keXDqqbT_EkE8qlKJiFaLIIpxEJvYpRefVIXZ7HX8UghrtUZM9asTRHgXsF8d8Vps</recordid><startdate>200710</startdate><enddate>200710</enddate><creator>Ranganath, Venkatesh Prasad</creator><creator>Hatcliff, John</creator><general>Springer Nature B.V</general><scope>AAYXX</scope><scope>CITATION</scope><scope>3V.</scope><scope>7SC</scope><scope>7XB</scope><scope>8AL</scope><scope>8AO</scope><scope>8FD</scope><scope>8FE</scope><scope>8FG</scope><scope>8FK</scope><scope>8G5</scope><scope>ABJCF</scope><scope>ABUWG</scope><scope>AFKRA</scope><scope>ARAPS</scope><scope>AZQEC</scope><scope>BENPR</scope><scope>BGLVJ</scope><scope>CCPQU</scope><scope>DWQXO</scope><scope>GNUQQ</scope><scope>GUQSH</scope><scope>HCIFZ</scope><scope>JQ2</scope><scope>K7-</scope><scope>L6V</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope><scope>M0N</scope><scope>M2O</scope><scope>M7S</scope><scope>MBDVC</scope><scope>P5Z</scope><scope>P62</scope><scope>PADUT</scope><scope>PQEST</scope><scope>PQQKQ</scope><scope>PQUKI</scope><scope>PRINS</scope><scope>PTHSS</scope><scope>Q9U</scope></search><sort><creationdate>200710</creationdate><title>Slicing concurrent Java programs using Indus and Kaveri</title><author>Ranganath, Venkatesh Prasad ; Hatcliff, John</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3</frbrgroupid><rsrctype>articles</rsrctype><prefilter>articles</prefilter><language>eng</language><creationdate>2007</creationdate><topic>Debugging</topic><topic>Java</topic><topic>Programming languages</topic><topic>Software engineering</topic><topic>Software utilities</topic><topic>Technology transfer</topic><topic>User interface</topic><toplevel>peer_reviewed</toplevel><toplevel>online_resources</toplevel><creatorcontrib>Ranganath, Venkatesh Prasad</creatorcontrib><creatorcontrib>Hatcliff, John</creatorcontrib><collection>CrossRef</collection><collection>ProQuest Central (Corporate)</collection><collection>Computer and Information Systems Abstracts</collection><collection>ProQuest Central (purchase pre-March 2016)</collection><collection>Computing Database (Alumni Edition)</collection><collection>ProQuest Pharma Collection</collection><collection>Technology Research Database</collection><collection>ProQuest SciTech Collection</collection><collection>ProQuest Technology Collection</collection><collection>ProQuest Central (Alumni) (purchase pre-March 2016)</collection><collection>Research Library (Alumni Edition)</collection><collection>Materials Science & Engineering Database (Proquest)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies & Aerospace Database (1962 - current)</collection><collection>ProQuest Central Essentials</collection><collection>ProQuest Central</collection><collection>Technology Collection</collection><collection>ProQuest One Community College</collection><collection>ProQuest Central</collection><collection>ProQuest Central Student</collection><collection>Research Library Prep</collection><collection>SciTech Premium Collection</collection><collection>ProQuest Computer Science Collection</collection><collection>Computer Science Database</collection><collection>ProQuest Engineering 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><collection>Computing Database</collection><collection>ProQuest research library</collection><collection>Engineering Database</collection><collection>Research Library (Corporate)</collection><collection>Advanced Technologies & Aerospace Database</collection><collection>ProQuest Advanced Technologies & Aerospace Collection</collection><collection>Research Library China</collection><collection>ProQuest One Academic Eastern Edition (DO NOT USE)</collection><collection>ProQuest One Academic</collection><collection>ProQuest One Academic UKI Edition</collection><collection>ProQuest Central China</collection><collection>Engineering collection</collection><collection>ProQuest Central Basic</collection><jtitle>International journal on software tools for technology transfer</jtitle></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext</fulltext></delivery><addata><au>Ranganath, Venkatesh Prasad</au><au>Hatcliff, John</au><format>journal</format><genre>article</genre><ristype>JOUR</ristype><atitle>Slicing concurrent Java programs using Indus and Kaveri</atitle><jtitle>International journal on software tools for technology transfer</jtitle><date>2007-10</date><risdate>2007</risdate><volume>9</volume><issue>5-6</issue><spage>489</spage><epage>504</epage><pages>489-504</pages><issn>1433-2779</issn><eissn>1433-2787</eissn><abstract>Program slicing is a program analysis and transformation technique that has been successfully used in a wide range of applications including program comprehension, debugging, maintenance, testing, and verification. However, there are only few fully featured implementations of program slicing that are available for industrial applications or academic research. In particular, very little tool support exists for slicing programs written in modern object-oriented languages such as Java, C#, or C++. In this paper, we present Indus--a robust framework for analyzing and slicing concurrent Java programs, and Kaveri--a feature-rich Eclipse-based GUI front end for Indus slicing. For Indus, we describe the underlying tool architecture, analysis components, and program dependence capabilities required for slicing. In addition, we present a collection of advanced features useful for effective slicing of Java programs including calling-context sensitive slicing, scoped slicing, control slicing, and chopping. For Kaveri, we discuss the design goals and basic capabilities of the graphical facilities integrated into a Java development environment to present the slicing information. This paper is an extended version of a tool demonstration paper presented at the International Conference on Fundamental Aspects of Software Engineering (FASE 2005). Thus, the paper highlights tool capabilities and engineering issues and refers the reader to other papers for technical details. [PUBLICATION ABSTRACT]</abstract><cop>Heidelberg</cop><pub>Springer Nature B.V</pub><doi>10.1007/s10009-007-0043-0</doi><tpages>16</tpages></addata></record> |
fulltext | fulltext |
identifier | ISSN: 1433-2779 |
ispartof | International journal on software tools for technology transfer, 2007-10, Vol.9 (5-6), p.489-504 |
issn | 1433-2779 1433-2787 |
language | eng |
recordid | cdi_proquest_journals_197434117 |
source | Springer Nature |
subjects | Debugging Java Programming languages Software engineering Software utilities Technology transfer User interface |
title | Slicing concurrent Java programs using Indus and Kaveri |
url | http://sfxeu10.hosted.exlibrisgroup.com/loughborough?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-23T12%3A45%3A12IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_cross&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.genre=article&rft.atitle=Slicing%20concurrent%20Java%20programs%20using%20Indus%20and%20Kaveri&rft.jtitle=International%20journal%20on%20software%20tools%20for%20technology%20transfer&rft.au=Ranganath,%20Venkatesh%20Prasad&rft.date=2007-10&rft.volume=9&rft.issue=5-6&rft.spage=489&rft.epage=504&rft.pages=489-504&rft.issn=1433-2779&rft.eissn=1433-2787&rft_id=info:doi/10.1007/s10009-007-0043-0&rft_dat=%3Cproquest_cross%3E1361068241%3C/proquest_cross%3E%3Cgrp_id%3Ecdi_FETCH-LOGICAL-c187t-3fa2f59b611122b512364991d2d38d5dd5bd1a05129e5df3259c50ffb0a8e70b3%3C/grp_id%3E%3Coa%3E%3C/oa%3E%3Curl%3E%3C/url%3E&rft_id=info:oai/&rft_pqid=197434117&rft_id=info:pmid/&rfr_iscdi=true |