Could I Have a Stack Trace to Examine the Dependency Conflict Issue?

Intensive use of libraries in Java projects brings potential risk of dependency conflicts, which occur when a project directly or indirectly depends on multiple versions of the same library or class. When this happens, JVM loads one version and shadows the others. Runtime exceptions can occur when m...

Full description

Saved in:
Bibliographic Details
Published inProceedings / International Conference on Software Engineering pp. 572 - 583
Main Authors Wang, Ying, Wen, Ming, Wu, Rongxin, Liu, Zhenwei, Tan, Shin Hwei, Zhu, Zhiliang, Yu, Hai, Cheung, Shing-Chi
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.05.2019
Subjects
Online AccessGet full text

Cover

Loading…
Abstract Intensive use of libraries in Java projects brings potential risk of dependency conflicts, which occur when a project directly or indirectly depends on multiple versions of the same library or class. When this happens, JVM loads one version and shadows the others. Runtime exceptions can occur when methods in the shadowed versions are referenced. Although project management tools such as Maven are able to give warnings of potential dependency conflicts when a project is built, developers often ask for crashing stack traces before examining these warnings. It motivates us to develop Riddle, an automated approach that generates tests and collects crashing stack traces for projects subject to risk of dependency conflicts. Riddle, built on top of Asm and Evosuite, combines condition mutation, search strategies and condition restoration. We applied Riddle on 19 real-world Java projects with duplicate libraries or classes. We reported 20 identified dependency conflicts including their induced crashing stack traces and the details of generated tests. Among them, 15 conflicts were confirmed by developers as real issues, and 10 were readily fixed. The evaluation results demonstrate the effectiveness and usefulness of Riddle.
AbstractList Intensive use of libraries in Java projects brings potential risk of dependency conflicts, which occur when a project directly or indirectly depends on multiple versions of the same library or class. When this happens, JVM loads one version and shadows the others. Runtime exceptions can occur when methods in the shadowed versions are referenced. Although project management tools such as Maven are able to give warnings of potential dependency conflicts when a project is built, developers often ask for crashing stack traces before examining these warnings. It motivates us to develop Riddle, an automated approach that generates tests and collects crashing stack traces for projects subject to risk of dependency conflicts. Riddle, built on top of Asm and Evosuite, combines condition mutation, search strategies and condition restoration. We applied Riddle on 19 real-world Java projects with duplicate libraries or classes. We reported 20 identified dependency conflicts including their induced crashing stack traces and the details of generated tests. Among them, 15 conflicts were confirmed by developers as real issues, and 10 were readily fixed. The evaluation results demonstrate the effectiveness and usefulness of Riddle.
Author Tan, Shin Hwei
Cheung, Shing-Chi
Liu, Zhenwei
Wang, Ying
Wen, Ming
Wu, Rongxin
Zhu, Zhiliang
Yu, Hai
Author_xml – sequence: 1
  givenname: Ying
  surname: Wang
  fullname: Wang, Ying
  organization: Northeastern University
– sequence: 2
  givenname: Ming
  surname: Wen
  fullname: Wen, Ming
  organization: The Hong Kong University of Science and Technology
– sequence: 3
  givenname: Rongxin
  surname: Wu
  fullname: Wu, Rongxin
  organization: The Hong Kong University of Science and Technology
– sequence: 4
  givenname: Zhenwei
  surname: Liu
  fullname: Liu, Zhenwei
  organization: Northeastern University
– sequence: 5
  givenname: Shin Hwei
  surname: Tan
  fullname: Tan, Shin Hwei
  organization: Southern University of Science and Technology
– sequence: 6
  givenname: Zhiliang
  surname: Zhu
  fullname: Zhu, Zhiliang
  organization: Northeastern University
– sequence: 7
  givenname: Hai
  surname: Yu
  fullname: Yu, Hai
  organization: Northeastern University
– sequence: 8
  givenname: Shing-Chi
  surname: Cheung
  fullname: Cheung, Shing-Chi
  organization: The Hong Kong University of Science and Technology
BookMark eNotjrFOwzAURQ0CibZ0ZmDxDyQ8O3ZsTwilgUaqxNAyV6_2iwikTpWkiP49RTDdMxwd3Sm7il0kxu4EpEKAe6iKdZlKEC4FgNxesLkzVhhpBdjc2Us2EVrbREipb9h0GD5-NeXchC2K7tgGXvElfhFHvh7Rf_JNj5742PHyG_dNPOM78QUdKAaK_sSLLtZt40deDcORHm_ZdY3tQPP_nbG353JTLJPV60tVPK0SlMqMicPa5LkBSRkoNFoHt6tztF6DVLugjVMqO9-SPjgUOgQAyp3OgiZ0tcBsxu7_ug0RbQ99s8f-tLVWSCFt9gNZOEpD
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1109/ICSE.2019.00068
DatabaseName IEEE Electronic Library (IEL) Conference Proceedings
IEEE Proceedings Order Plan (POP) 1998-present by volume
IEEE Xplore All Conference Proceedings
IEEE Electronic Library (IEL)
IEEE Proceedings Order Plans (POP) 1998-present
DatabaseTitleList
Database_xml – sequence: 1
  dbid: RIE
  name: IEEE Electronic Library (IEL)
  url: https://proxy.k.utb.cz/login?url=https://ieeexplore.ieee.org/
  sourceTypes: Publisher
DeliveryMethod fulltext_linktorsrc
Discipline Computer Science
EISBN 9781728108698
1728108691
EISSN 1558-1225
EndPage 583
ExternalDocumentID 8812128
Genre orig-research
GroupedDBID -~X
.4S
.DC
123
23M
29O
5VS
6IE
6IF
6IH
6IK
6IL
6IM
6IN
8US
AAJGR
AAWTH
ABLEC
ADZIZ
AFFNX
ALMA_UNASSIGNED_HOLDINGS
APO
ARCSS
AVWKF
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
EDO
FEDTE
I-F
I07
IEGSK
IJVOP
IPLJI
M43
OCL
RIE
RIL
RIO
RNS
XOL
ID FETCH-LOGICAL-a247t-9af766702e304a755d9bf6a8c5024bd5794436492cd9a15dd00e6953d5ea9f1a3
IEDL.DBID RIE
IngestDate Wed Aug 27 02:46:33 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-a247t-9af766702e304a755d9bf6a8c5024bd5794436492cd9a15dd00e6953d5ea9f1a3
PageCount 12
ParticipantIDs ieee_primary_8812128
PublicationCentury 2000
PublicationDate 2019-May
PublicationDateYYYYMMDD 2019-05-01
PublicationDate_xml – month: 05
  year: 2019
  text: 2019-May
PublicationDecade 2010
PublicationTitle Proceedings / International Conference on Software Engineering
PublicationTitleAbbrev ICSE
PublicationYear 2019
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0006499
Score 2.2436423
Snippet Intensive use of libraries in Java projects brings potential risk of dependency conflicts, which occur when a project directly or indirectly depends on...
SourceID ieee
SourceType Publisher
StartPage 572
SubjectTerms Computer crashes
Java
Libraries
mutation
Runtime
Static analysis
test generation
Test pattern generators
third party-library
Title Could I Have a Stack Trace to Examine the Dependency Conflict Issue?
URI https://ieeexplore.ieee.org/document/8812128
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LSwMxEB5aT56qtuKbHDy6bbabx-bkYdvSChVBC72VvPZSbEW2ov56J7vbKuLBWwiEhAnJN5PMfB_AteWpdQh1kVRGY4AiRZRylkeC5dSmFkPokkxnei_GM3Y35_MG3OxqYbz3ZfKZ74Zm-Zfv1nYTnsp6KaIR3qdNaGLgVtVq7W5dga57Td0TU9WbZI_DkLgV2Chp4FH9oZ1SQseoBdPtpFXGyLK7KUzXfv7iY_zvqg6g812kRx528HMIDb86gtZWpYHUh7YNgyyoWJMJGes3TzRB99IuCWIUji_WZPiun9HTJOgIkkGtiGs_SFaXi5BSnu-2A7PR8CkbR7V2QqT7TBaR0rkUQtK-TyjTknOnTC50ajmCsnEcjyFL0GZ965SOuXOUeqF44rjXKo91cgx7q_XKnwCxVnBulXaUeWYYM5JRTb3RsZU5jfNTaAejLF4qeoxFbY-zv7vPYT9sS5UzeAF7xevGXyKuF-aq3NAve6Ohog
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LTwIxEJ4gHvSECsa3PXh0ocv2sT154JFFgZgICTfS116IYMxi1F9vu7ugMR68NU2aNtNMv2k7830AN5rG2jioC7hQ0l1QOAtiStKAkRTrWLsrdE6mMxqzZEruZ3RWgdttLYy1Nk8-s03fzP_yzUqv_VNZK3Zo5M7THdh1uE_Dolpre-4yF7yX5D0hFq1B56nnU7c8HyX2TKo_1FNy8OjXYLSZtsgZWTTXmWrqz1-MjP9d1wE0vsv00OMWgA6hYpdHUNvoNKDSbevQ7XgdazRAiXyzSCIXYOoFcijlxmcr1HuXzy7WRC4URN1SE1d_oE5ZMIJygb67Bkz7vUknCUr1hEC2Cc8CIVPOGMdtG2EiOaVGqJTJWFMHy8pQ54gkcjZrayNkSI3B2DJBI0OtFGkoo2OoLldLewJIa0apFtJgYokiRHGCJbZKhpqnOExPoe6NMn8pCDLmpT3O_u6-hr1kMhrOh4Pxwzns-y0qMggvoJq9ru2lQ_lMXeWb-wUcfaTr
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=Proceedings+%2F+International+Conference+on+Software+Engineering&rft.atitle=Could+I+Have+a+Stack+Trace+to+Examine+the+Dependency+Conflict+Issue%3F&rft.au=Wang%2C+Ying&rft.au=Wen%2C+Ming&rft.au=Wu%2C+Rongxin&rft.au=Liu%2C+Zhenwei&rft.date=2019-05-01&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=572&rft.epage=583&rft_id=info:doi/10.1109%2FICSE.2019.00068&rft.externalDocID=8812128