Collective program analysis

Popularity of data-driven software engineering has led to an increasing demand on the infrastructures to support efficient execution of tasks that require deeper source code analysis. While task optimization and parallelization are the adopted solutions, other research directions are less explored....

Full description

Saved in:
Bibliographic Details
Published in2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE) pp. 620 - 631
Main Authors Upadhyaya, Ganesha, Rajan, Hridesh
Format Conference Proceeding
LanguageEnglish
Published New York, NY, USA ACM 27.05.2018
SeriesACM Conferences
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Popularity of data-driven software engineering has led to an increasing demand on the infrastructures to support efficient execution of tasks that require deeper source code analysis. While task optimization and parallelization are the adopted solutions, other research directions are less explored. We present collective program analysis (CPA), a technique for scaling large scale source code analyses, especially those that make use of control and data flow analysis, by leveraging analysis specific similarity. Analysis specific similarity is about, whether two or more programs can be considered similar for a given analysis. The key idea of collective program analysis is to cluster programs based on analysis specific similarity, such that running the analysis on one candidate in each cluster is sufficient to produce the result for others. For determining analysis specific similarity and clustering analysis-equivalent programs, we use a sparse representation and a canonical labeling scheme. Our evaluation shows that for a variety of source code analyses on a large dataset of programs, substantial reduction in the analysis time can be achieved; on average a 69% reduction when compared to a baseline and on average a 36% reduction when compared to a prior technique. We also found that a large amount of analysis-equivalent programs exists in large datasets.
AbstractList Popularity of data-driven software engineering has led to an increasing demand on the infrastructures to support efficient execution of tasks that require deeper source code analysis. While task optimization and parallelization are the adopted solutions, other research directions are less explored. We present collective program analysis (CPA), a technique for scaling large scale source code analyses, especially those that make use of control and data flow analysis, by leveraging analysis specific similarity. Analysis specific similarity is about, whether two or more programs can be considered similar for a given analysis. The key idea of collective program analysis is to cluster programs based on analysis specific similarity, such that running the analysis on one candidate in each cluster is sufficient to produce the result for others. For determining analysis specific similarity and clustering analysis-equivalent programs, we use a sparse representation and a canonical labeling scheme. Our evaluation shows that for a variety of source code analyses on a large dataset of programs, substantial reduction in the analysis time can be achieved; on average a 69% reduction when compared to a baseline and on average a 36% reduction when compared to a prior technique. We also found that a large amount of analysis-equivalent programs exists in large datasets.
Author Rajan, Hridesh
Upadhyaya, Ganesha
Author_xml – sequence: 1
  givenname: Ganesha
  surname: Upadhyaya
  fullname: Upadhyaya, Ganesha
  email: ganeshau@iastate.edu
  organization: Iowa State University
– sequence: 2
  givenname: Hridesh
  surname: Rajan
  fullname: Rajan, Hridesh
  email: hridesh@iastate.edu
  organization: Iowa State University
BookMark eNqNkDtPwzAUhc1LooTMDF06siT4-pWbEUXlIVVigdly7BsUSJoqrpD670nVTEzoDGf4js7w3bDL7bAlxu6A5wBKP0hADlrnxxZanLG0LHACXGojEc7ZYqKYgRD64g-7ZmmMX5xzYVAhmAVbVkPXkd-3P7TajcPn6PqV27ruENt4y64a10VK507Yx9P6vXrJNm_Pr9XjJnMCcZ8hFSQ1mqB4o0rjjamxEUI5FUQdoPDaSwWEQnuSZXA16WCMCIGw0Q0YmbDl6bclIrsb296NB4tKS5iSsPsTdb639TB8RwvcHk3Y2YSdTUzT_J9TW48tNfIXTt1ZXg
CODEN IEEPAD
ContentType Conference Proceeding
Copyright 2018 ACM
Copyright_xml – notice: 2018 ACM
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1145/3180155.3180252
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Xplore Digital Library
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList

Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Xplore Digital Library
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781450356381
1450356389
EISSN 1558-1225
EndPage 631
ExternalDocumentID 8453131
Genre orig-research
GroupedDBID 6IE
6IF
6IG
6IL
6IM
6IN
AAJGR
ABLEC
ABQGA
ACM
ADPZR
ALMA_UNASSIGNED_HOLDINGS
APO
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
GUFHI
IEGSK
IJVOP
LHSKQ
OCL
RIB
RIC
RIE
RIL
RIO
-~X
.4S
.DC
123
23M
29O
5VS
6IH
6IK
8US
ADZIZ
AFFNX
ARCSS
AVWKF
CHZPO
EDO
FEDTE
I-F
I07
IPLJI
JC5
M43
RIG
RNS
XOL
ID FETCH-LOGICAL-a288t-8e7e3586d40f496c66b8f224a4d2bd17c5c341e825ce39dabe5d662dde8f5f163
IEDL.DBID RIE
ISBN 9781450356381
1450356389
IngestDate Wed Jun 26 19:27:13 EDT 2024
Fri Sep 13 11:04:35 EDT 2024
IsDoiOpenAccess false
IsOpenAccess true
IsPeerReviewed false
IsScholarly true
Keywords Boa
source code analysis
clustering
Language English
License Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Permissions@acm.org.
LinkModel DirectLink
MeetingName ICSE '18: 40th International Conference on Software Engineering
MergedId FETCHMERGED-LOGICAL-a288t-8e7e3586d40f496c66b8f224a4d2bd17c5c341e825ce39dabe5d662dde8f5f163
OpenAccessLink https://dl.acm.org/doi/pdf/10.1145/3180155.3180252
PageCount 12
ParticipantIDs acm_books_10_1145_3180155_3180252_brief
acm_books_10_1145_3180155_3180252
ieee_primary_8453131
PublicationCentury 2000
PublicationDate 20180527
2018-May
PublicationDateYYYYMMDD 2018-05-27
2018-05-01
PublicationDate_xml – month: 05
  year: 2018
  text: 20180527
  day: 27
PublicationDecade 2010
PublicationPlace New York, NY, USA
PublicationPlace_xml – name: New York, NY, USA
PublicationSeriesTitle ACM Conferences
PublicationTitle 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE)
PublicationTitleAbbrev ICSE
PublicationYear 2018
Publisher ACM
Publisher_xml – name: ACM
SSID ssj0002684816
ssj0006499
Score 2.122541
Snippet Popularity of data-driven software engineering has led to an increasing demand on the infrastructures to support efficient execution of tasks that require...
SourceID ieee
acm
SourceType Publisher
StartPage 620
SubjectTerms Analytical models
Boa
Cloning
Clustering
Labeling
Software and its engineering -- Software creation and management -- Software verification and validation -- Formal software verification
Software and its engineering -- Software notations and tools -- Software maintenance tools
Software engineering
Source code analysis
Syntactics
Task analysis
Transfer functions
Title Collective program analysis
URI https://ieeexplore.ieee.org/document/8453131
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3fS8NADA7bnnyauolzKhUEX2zXH3e367M4hqD44GBv5e6agoibzPbFv96k7SaKoE8t5QpHmku-pMkXgMsQE0thR-Irpvokj09nLpTOF0ZTHBcZJizhaosHNV-Iu6VcduB61wuDiHXxGQZ8W__Lz9eu4lTZRAvSGG6a7k7TtOnV2uVTmLVEM9RprbAiKN9S-URCTkh1GR0EfI25y6hr3Ou3iSq1Q5n14X67laaO5CWoShu4jx8sjf_d6z4Mv1r3vMedUzqADq4Oob-d3eC1R3kA4zpjUBs7Xs81Wt6WoGQIi9nt083cbwcl-CbWuvQ1TjGRWuUiLESqnFJWF-Sbjchjm0dTJx05K6Rg0GGS5saizJWKybLpQhaEyI6gt1qv8Bg8eo0CCOnSJNSiUJE1Wlv6yhTnFAStcAQXJLiMI4D3rGlqllkr3KwV7giu_lyT2c0zFiMYsOSyt4ZZI2uFdvL74zHsEVzRTbnhKfTKTYVnBAlKe17rwid9iK0p
link.rule.ids 310,311,783,787,792,793,799,27937,55086
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LS8NAEB5qPeipaivW-oggeDFpHrvb7VmUqm3x0EJvy-5mAyK2UtOLv96ZJK0ogp4SwgaWyezMN5OZbwAuQ5cYDDsSXxDVJ3p8PHMhtz7TEuO4SBNhCVVbjMVgyh5mfFaD600vjHOuKD5zAd0W__LThV1RqqwrGWoMNU1vI66WouzW2mRUiLdEEtip7LBAMF-R-USMd1F5CR8EdI2pz2hL29dvM1UKl3LXgNF6M2UlyUuwyk1gP37wNP53t3vQ-mre8542bmkfam5-AI319AavOsxN6BQ5g8Lc0Xqq0vLWFCUtmN7dTm4GfjUqwdexlLkvXc8lXIqUhRnrCyuEkRl6Z83S2KRRz3KL7sphOGhd0k-1cTwVIkbbJjOeISY7hPp8MXdH4OFrGEJw209CyTIRGS2lwe-MkU6G4Mq14QIFpygGeFdlWzNXlXBVJdw2XP25Rpnls8va0CTJqbeSW0NVQjv-_fE57Awmo6Ea3o8fO7CL4EWWxYcnUM-XK3eKACE3Z4VefALB7rB0
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%3Abook&rft.genre=proceeding&rft.title=2018+IEEE%2FACM+40th+International+Conference+on+Software+Engineering+%28ICSE%29&rft.atitle=Collective+Program+Analysis&rft.au=Upadhyaya%2C+Ganesha&rft.au=Rajan%2C+Hridesh&rft.date=2018-05-01&rft.pub=ACM&rft.eissn=1558-1225&rft.spage=620&rft.epage=631&rft_id=info:doi/10.1145%2F3180155.3180252&rft.externalDocID=8453131
thumbnail_l http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/lc.gif&client=summon&freeimage=true
thumbnail_m http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/mc.gif&client=summon&freeimage=true
thumbnail_s http://covers-cdn.summon.serialssolutions.com/index.aspx?isbn=9781450356381/sc.gif&client=summon&freeimage=true