Flow insensitive C++ pointers and polymorphism analysis and its application to slicing

Large software systems are difficult to understand and maintain. Code analysis tools can provide programmers with different views of the software which may help their understanding activity. To be applicable to real programs written in modern programming languages, these tools need to efficiently ha...

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Hauptverfasser: Tonella, Paolo, Antoniol, Giuliano, Fiutem, Roberto, Merlo, Ettore
Format: Tagungsbericht
Sprache:eng
Schlagworte:
Online-Zugang:Volltext bestellen
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
container_end_page 443
container_issue
container_start_page 433
container_title
container_volume
creator Tonella, Paolo
Antoniol, Giuliano
Fiutem, Roberto
Merlo, Ettore
description Large software systems are difficult to understand and maintain. Code analysis tools can provide programmers with different views of the software which may help their understanding activity. To be applicable to real programs written in modern programming languages, these tools need to efficiently handle pointers. In the case of C++ analysis, object oriented peculiarities (like, e.g., polymorphism) have to be accounted for as well. We propose a flow insensitive, context insensitive points-to analysis capable of dealing with the features of the object oriented code. It is extremely promising because of the positive trade-off between complexity and accuracy. The integration of the points-to results with other analyses, such as reaching definitions and slicing, is also discussed in the context of our program understanding environment.
doi_str_mv 10.1145/253228.253371
format Conference Proceeding
fullrecord <record><control><sourceid>proquest_6IE</sourceid><recordid>TN_cdi_ieee_primary_610312</recordid><sourceformat>XML</sourceformat><sourcesystem>PC</sourcesystem><ieee_id>610312</ieee_id><sourcerecordid>26514742</sourcerecordid><originalsourceid>FETCH-LOGICAL-a310t-fa226c62d7b3e330d9f79768b91570db3ad1bf705836e2c611cae8d77d9e6ca3</originalsourceid><addsrcrecordid>eNqFkL1PwzAQxS0-JKrSkYUpEwuk-OzYjkdUUUCqxFKxWk5yAUMSh9gF9b8nVZAYueWnd-_pTnqEXABdAmTilgnOWL4cwRUckRkIkafAmDgmC61ymmulQUPGTsiMMkVTwYQ6I4sQ3uk4mQAFekZe1o3_TlwXsAsuui9MVtfXSe9dF3EIie2qUTT71g_9mwvtuLDNPrjJcXFk3zeutNH5Lok-CaNw3es5Oa1tE3DxyznZru-3q8d08_zwtLrbpJYDjWltGZOlZJUqOHJOK10rrWReaBCKVgW3FRS1oiLnElkpAUqLeaVUpVGWls_J1XS2H_znDkM0rQslNo3t0O-CYVJApjI2Bi-noENE0w-utcPeSKAcDubNZNqyNYX3H8EANYeWzdSymVo2xeCw_nv6T5z_AJzEeCU</addsrcrecordid><sourcetype>Aggregation Database</sourcetype><iscdi>true</iscdi><recordtype>conference_proceeding</recordtype><pqid>26514742</pqid></control><display><type>conference_proceeding</type><title>Flow insensitive C++ pointers and polymorphism analysis and its application to slicing</title><source>IEEE Electronic Library (IEL) Conference Proceedings</source><creator>Tonella, Paolo ; Antoniol, Giuliano ; Fiutem, Roberto ; Merlo, Ettore</creator><creatorcontrib>Tonella, Paolo ; Antoniol, Giuliano ; Fiutem, Roberto ; Merlo, Ettore</creatorcontrib><description>Large software systems are difficult to understand and maintain. Code analysis tools can provide programmers with different views of the software which may help their understanding activity. To be applicable to real programs written in modern programming languages, these tools need to efficiently handle pointers. In the case of C++ analysis, object oriented peculiarities (like, e.g., polymorphism) have to be accounted for as well. We propose a flow insensitive, context insensitive points-to analysis capable of dealing with the features of the object oriented code. It is extremely promising because of the positive trade-off between complexity and accuracy. The integration of the points-to results with other analyses, such as reaching definitions and slicing, is also discussed in the context of our program understanding environment.</description><identifier>ISSN: 0270-5257</identifier><identifier>ISBN: 9780897919142</identifier><identifier>ISBN: 0897919149</identifier><identifier>EISSN: 1558-1225</identifier><identifier>DOI: 10.1145/253228.253371</identifier><language>eng</language><publisher>New York, NY, USA: ACM</publisher><subject>Application software ; Computer languages ; Debugging ; Permission ; Programming profession ; Reverse engineering ; Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance ; Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging ; Software and its engineering -- Software notations and tools -- General programming languages -- Language types ; Software systems ; Software tools ; Testing ; User interfaces</subject><ispartof>Proceedings / International Conference on Software Engineering, 1997, p.433-443</ispartof><rights>1997 ACM</rights><oa>free_for_read</oa><woscitedreferencessubscribed>false</woscitedreferencessubscribed></display><links><openurl>$$Topenurl_article</openurl><openurlfulltext>$$Topenurlfull_article</openurlfulltext><thumbnail>$$Tsyndetics_thumb_exl</thumbnail><linktohtml>$$Uhttps://ieeexplore.ieee.org/document/610312$$EHTML$$P50$$Gieee$$H</linktohtml><link.rule.ids>309,310,780,784,789,790,2058,27925,54920</link.rule.ids><linktorsrc>$$Uhttps://ieeexplore.ieee.org/document/610312$$EView_record_in_IEEE$$FView_record_in_$$GIEEE</linktorsrc></links><search><creatorcontrib>Tonella, Paolo</creatorcontrib><creatorcontrib>Antoniol, Giuliano</creatorcontrib><creatorcontrib>Fiutem, Roberto</creatorcontrib><creatorcontrib>Merlo, Ettore</creatorcontrib><title>Flow insensitive C++ pointers and polymorphism analysis and its application to slicing</title><title>Proceedings / International Conference on Software Engineering</title><addtitle>ICSE</addtitle><description>Large software systems are difficult to understand and maintain. Code analysis tools can provide programmers with different views of the software which may help their understanding activity. To be applicable to real programs written in modern programming languages, these tools need to efficiently handle pointers. In the case of C++ analysis, object oriented peculiarities (like, e.g., polymorphism) have to be accounted for as well. We propose a flow insensitive, context insensitive points-to analysis capable of dealing with the features of the object oriented code. It is extremely promising because of the positive trade-off between complexity and accuracy. The integration of the points-to results with other analyses, such as reaching definitions and slicing, is also discussed in the context of our program understanding environment.</description><subject>Application software</subject><subject>Computer languages</subject><subject>Debugging</subject><subject>Permission</subject><subject>Programming profession</subject><subject>Reverse engineering</subject><subject>Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance</subject><subject>Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging</subject><subject>Software and its engineering -- Software notations and tools -- General programming languages -- Language types</subject><subject>Software systems</subject><subject>Software tools</subject><subject>Testing</subject><subject>User interfaces</subject><issn>0270-5257</issn><issn>1558-1225</issn><isbn>9780897919142</isbn><isbn>0897919149</isbn><fulltext>true</fulltext><rsrctype>conference_proceeding</rsrctype><creationdate>1997</creationdate><recordtype>conference_proceeding</recordtype><sourceid>6IE</sourceid><sourceid>RIE</sourceid><recordid>eNqFkL1PwzAQxS0-JKrSkYUpEwuk-OzYjkdUUUCqxFKxWk5yAUMSh9gF9b8nVZAYueWnd-_pTnqEXABdAmTilgnOWL4cwRUckRkIkafAmDgmC61ymmulQUPGTsiMMkVTwYQ6I4sQ3uk4mQAFekZe1o3_TlwXsAsuui9MVtfXSe9dF3EIie2qUTT71g_9mwvtuLDNPrjJcXFk3zeutNH5Lok-CaNw3es5Oa1tE3DxyznZru-3q8d08_zwtLrbpJYDjWltGZOlZJUqOHJOK10rrWReaBCKVgW3FRS1oiLnElkpAUqLeaVUpVGWls_J1XS2H_znDkM0rQslNo3t0O-CYVJApjI2Bi-noENE0w-utcPeSKAcDubNZNqyNYX3H8EANYeWzdSymVo2xeCw_nv6T5z_AJzEeCU</recordid><startdate>19970101</startdate><enddate>19970101</enddate><creator>Tonella, Paolo</creator><creator>Antoniol, Giuliano</creator><creator>Fiutem, Roberto</creator><creator>Merlo, Ettore</creator><general>ACM</general><general>IEEE</general><scope>6IE</scope><scope>6IL</scope><scope>CBEJK</scope><scope>RIE</scope><scope>RIL</scope><scope>7SC</scope><scope>8FD</scope><scope>JQ2</scope><scope>L7M</scope><scope>L~C</scope><scope>L~D</scope></search><sort><creationdate>19970101</creationdate><title>Flow insensitive C++ pointers and polymorphism analysis and its application to slicing</title><author>Tonella, Paolo ; Antoniol, Giuliano ; Fiutem, Roberto ; Merlo, Ettore</author></sort><facets><frbrtype>5</frbrtype><frbrgroupid>cdi_FETCH-LOGICAL-a310t-fa226c62d7b3e330d9f79768b91570db3ad1bf705836e2c611cae8d77d9e6ca3</frbrgroupid><rsrctype>conference_proceedings</rsrctype><prefilter>conference_proceedings</prefilter><language>eng</language><creationdate>1997</creationdate><topic>Application software</topic><topic>Computer languages</topic><topic>Debugging</topic><topic>Permission</topic><topic>Programming profession</topic><topic>Reverse engineering</topic><topic>Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance</topic><topic>Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging</topic><topic>Software and its engineering -- Software notations and tools -- General programming languages -- Language types</topic><topic>Software systems</topic><topic>Software tools</topic><topic>Testing</topic><topic>User interfaces</topic><toplevel>online_resources</toplevel><creatorcontrib>Tonella, Paolo</creatorcontrib><creatorcontrib>Antoniol, Giuliano</creatorcontrib><creatorcontrib>Fiutem, Roberto</creatorcontrib><creatorcontrib>Merlo, Ettore</creatorcontrib><collection>IEEE Electronic Library (IEL) Conference Proceedings</collection><collection>IEEE Proceedings Order Plan All Online (POP All Online) 1998-present by volume</collection><collection>IEEE Xplore All Conference Proceedings</collection><collection>IEEE Electronic Library (IEL)</collection><collection>IEEE Proceedings Order Plans (POP All) 1998-Present</collection><collection>Computer and Information Systems 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></facets><delivery><delcategory>Remote Search Resource</delcategory><fulltext>fulltext_linktorsrc</fulltext></delivery><addata><au>Tonella, Paolo</au><au>Antoniol, Giuliano</au><au>Fiutem, Roberto</au><au>Merlo, Ettore</au><format>book</format><genre>proceeding</genre><ristype>CONF</ristype><atitle>Flow insensitive C++ pointers and polymorphism analysis and its application to slicing</atitle><btitle>Proceedings / International Conference on Software Engineering</btitle><stitle>ICSE</stitle><date>1997-01-01</date><risdate>1997</risdate><spage>433</spage><epage>443</epage><pages>433-443</pages><issn>0270-5257</issn><eissn>1558-1225</eissn><isbn>9780897919142</isbn><isbn>0897919149</isbn><abstract>Large software systems are difficult to understand and maintain. Code analysis tools can provide programmers with different views of the software which may help their understanding activity. To be applicable to real programs written in modern programming languages, these tools need to efficiently handle pointers. In the case of C++ analysis, object oriented peculiarities (like, e.g., polymorphism) have to be accounted for as well. We propose a flow insensitive, context insensitive points-to analysis capable of dealing with the features of the object oriented code. It is extremely promising because of the positive trade-off between complexity and accuracy. The integration of the points-to results with other analyses, such as reaching definitions and slicing, is also discussed in the context of our program understanding environment.</abstract><cop>New York, NY, USA</cop><pub>ACM</pub><doi>10.1145/253228.253371</doi><tpages>11</tpages><oa>free_for_read</oa></addata></record>
fulltext fulltext_linktorsrc
identifier ISSN: 0270-5257
ispartof Proceedings / International Conference on Software Engineering, 1997, p.433-443
issn 0270-5257
1558-1225
language eng
recordid cdi_ieee_primary_610312
source IEEE Electronic Library (IEL) Conference Proceedings
subjects Application software
Computer languages
Debugging
Permission
Programming profession
Reverse engineering
Social and professional topics -- Professional topics -- Management of computing and information systems -- Software management -- Software maintenance
Software and its engineering -- Software creation and management -- Software verification and validation -- Software defect analysis -- Software testing and debugging
Software and its engineering -- Software notations and tools -- General programming languages -- Language types
Software systems
Software tools
Testing
User interfaces
title Flow insensitive C++ pointers and polymorphism analysis and its application to slicing
url https://sfx.bib-bvb.de/sfx_tum?ctx_ver=Z39.88-2004&ctx_enc=info:ofi/enc:UTF-8&ctx_tim=2025-01-02T06%3A13%3A49IST&url_ver=Z39.88-2004&url_ctx_fmt=infofi/fmt:kev:mtx:ctx&rfr_id=info:sid/primo.exlibrisgroup.com:primo3-Article-proquest_6IE&rft_val_fmt=info:ofi/fmt:kev:mtx:book&rft.genre=proceeding&rft.atitle=Flow%20insensitive%20C++%20pointers%20and%20polymorphism%20analysis%20and%20its%20application%20to%20slicing&rft.btitle=Proceedings%20/%20International%20Conference%20on%20Software%20Engineering&rft.au=Tonella,%20Paolo&rft.date=1997-01-01&rft.spage=433&rft.epage=443&rft.pages=433-443&rft.issn=0270-5257&rft.eissn=1558-1225&rft.isbn=9780897919142&rft.isbn_list=0897919149&rft_id=info:doi/10.1145/253228.253371&rft_dat=%3Cproquest_6IE%3E26514742%3C/proquest_6IE%3E%3Curl%3E%3C/url%3E&disable_directlink=true&sfx.directlink=off&sfx.report_link=0&rft_id=info:oai/&rft_pqid=26514742&rft_id=info:pmid/&rft_ieee_id=610312&rfr_iscdi=true