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...

Full description

Saved in:
Bibliographic Details
Published in:International journal on software tools for technology transfer 2007-10, Vol.9 (5-6), p.489-504
Main Authors: Ranganath, Venkatesh Prasad, Hatcliff, John
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 &amp; Engineering Database (Proquest)</collection><collection>ProQuest Central (Alumni)</collection><collection>ProQuest Central</collection><collection>Advanced Technologies &amp; 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 &amp; Aerospace Database</collection><collection>ProQuest Advanced Technologies &amp; 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