Lightweight Concolic Testing via Path-Condition Synthesis for Deep Learning Libraries

Many techniques have been recently developed for testing deep learning (DL) libraries. Although these techniques have effectively improved API and code coverage and detected unknown bugs, they rely on blackbox fuzzing for input generation. Concolic testing (also known as dynamic symbolic execution)...

Full description

Saved in:
Bibliographic Details
Published inProceedings / International Conference on Software Engineering pp. 2957 - 2969
Main Authors Kim, Sehoon, Kim, Yonghyeon, Park, Dahyeon, Jeon, Yuseok, Yi, Jooyong, Kim, Mijung
Format Conference Proceeding
LanguageEnglish
Published IEEE 26.04.2025
Subjects
Online AccessGet full text
ISSN1558-1225
DOI10.1109/ICSE55347.2025.00202

Cover

Loading…
Abstract Many techniques have been recently developed for testing deep learning (DL) libraries. Although these techniques have effectively improved API and code coverage and detected unknown bugs, they rely on blackbox fuzzing for input generation. Concolic testing (also known as dynamic symbolic execution) can be more effective in exploring diverse execution paths, but applying it to DL libraries is extremely challenging due to their inherent complexity. In this paper, we introduce the first concolic testing technique for DL libraries. Our technique offers a lightweight approach that significantly reduces the heavy overhead associated with traditional concolic testing. While symbolic execution maintains symbolic expressions for every variable with non-concrete values to build a path condition, our technique computes approximate path conditions by inferring branch conditions via inductive program synthesis. Despite potential imprecision from approximation, our method's light overhead allows for effective exploration of diverse execution paths within the complex implementations of DL libraries. We have implemented our tool, Pathfinder, and evaluated it on PyTorch and TensorFlow. Our results show that Pathfinder outperforms existing API-level DL library fuzzers by achieving 67% more branch coverage on average; up to 63% higher than TitanFuzz and 120% higher than FreeFuzz. Pathfinder is also effective in bug detection, uncovering 61 crash bugs, 59 of which were confirmed by developers as previously unknown, with 32 already fixed.
AbstractList Many techniques have been recently developed for testing deep learning (DL) libraries. Although these techniques have effectively improved API and code coverage and detected unknown bugs, they rely on blackbox fuzzing for input generation. Concolic testing (also known as dynamic symbolic execution) can be more effective in exploring diverse execution paths, but applying it to DL libraries is extremely challenging due to their inherent complexity. In this paper, we introduce the first concolic testing technique for DL libraries. Our technique offers a lightweight approach that significantly reduces the heavy overhead associated with traditional concolic testing. While symbolic execution maintains symbolic expressions for every variable with non-concrete values to build a path condition, our technique computes approximate path conditions by inferring branch conditions via inductive program synthesis. Despite potential imprecision from approximation, our method's light overhead allows for effective exploration of diverse execution paths within the complex implementations of DL libraries. We have implemented our tool, Pathfinder, and evaluated it on PyTorch and TensorFlow. Our results show that Pathfinder outperforms existing API-level DL library fuzzers by achieving 67% more branch coverage on average; up to 63% higher than TitanFuzz and 120% higher than FreeFuzz. Pathfinder is also effective in bug detection, uncovering 61 crash bugs, 59 of which were confirmed by developers as previously unknown, with 32 already fixed.
Author Yi, Jooyong
Kim, Sehoon
Park, Dahyeon
Jeon, Yuseok
Kim, Yonghyeon
Kim, Mijung
Author_xml – sequence: 1
  givenname: Sehoon
  surname: Kim
  fullname: Kim, Sehoon
  email: sehoon@unist.ac.kr
  organization: UNIST,South Korea
– sequence: 2
  givenname: Yonghyeon
  surname: Kim
  fullname: Kim, Yonghyeon
  email: yonghyeon@unist.ac.kr
  organization: UNIST,South Korea
– sequence: 3
  givenname: Dahyeon
  surname: Park
  fullname: Park, Dahyeon
  email: tryness@unist.ac.kr
  organization: UNIST,South Korea
– sequence: 4
  givenname: Yuseok
  surname: Jeon
  fullname: Jeon, Yuseok
  email: jsjeon@unist.ac.kr
  organization: Korea University,South Korea
– sequence: 5
  givenname: Jooyong
  surname: Yi
  fullname: Yi, Jooyong
  email: jooyong@unist.ac.kr
  organization: UNIST,South Korea
– sequence: 6
  givenname: Mijung
  surname: Kim
  fullname: Kim, Mijung
  email: mijungk@unist.ac.kr
  organization: UNIST,South Korea
BookMark eNotkNtKw0AYhFdRsK19g17sC6TuMcl_KbFqIaDQeF328KdZqZuSDUrf3hS9me9ihoGZObmJfURCVpytOWfwsK12G62lKtaCCb1mbMIVWUIBpZRcM50DvyYzrnWZcSH0HZmn9MkYyxXAjHzU4dCNP3hRWvXR9cfgaINpDPFAv4Oh72bsssnxYQx9pLtzHDtMIdG2H-gT4onWaIZ4idfBDmYImO7JbWuOCZf_XJDmedNUr1n99rKtHussgBwzb4QH75x1DLlSmINCVaLiAq1yeetNK1tnofBaMOUlWLDFNMhKL1rGC7kgq7_agIj70xC-zHDeT7cIAAbyF0-kVGk
CODEN IEEPAD
ContentType Conference Proceeding
DBID 6IE
6IH
CBEJK
RIE
RIO
DOI 10.1109/ICSE55347.2025.00202
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 9798331505691
EISSN 1558-1225
EndPage 2969
ExternalDocumentID 11029909
Genre orig-research
GroupedDBID -~X
.4S
.DC
29O
5VS
6IE
6IF
6IH
6IK
6IL
6IM
6IN
8US
AAJGR
AAWTH
ABLEC
ADZIZ
ALMA_UNASSIGNED_HOLDINGS
ARCSS
AVWKF
BEFXN
BFFAM
BGNUA
BKEBE
BPEOZ
CBEJK
CHZPO
EDO
FEDTE
I-F
IEGSK
IJVOP
IPLJI
M43
OCL
RIE
RIL
RIO
ID FETCH-LOGICAL-i93t-da2d9dccbc0e144e694e48e412eb4c6fdaf3fcb97d5204d39b9b7056b3d2f0173
IEDL.DBID RIE
IngestDate Wed Aug 27 01:40:27 EDT 2025
IsPeerReviewed false
IsScholarly true
Language English
LinkModel DirectLink
MergedId FETCHMERGED-LOGICAL-i93t-da2d9dccbc0e144e694e48e412eb4c6fdaf3fcb97d5204d39b9b7056b3d2f0173
PageCount 13
ParticipantIDs ieee_primary_11029909
PublicationCentury 2000
PublicationDate 2025-April-26
PublicationDateYYYYMMDD 2025-04-26
PublicationDate_xml – month: 04
  year: 2025
  text: 2025-April-26
  day: 26
PublicationDecade 2020
PublicationTitle Proceedings / International Conference on Software Engineering
PublicationTitleAbbrev ICSE
PublicationYear 2025
Publisher IEEE
Publisher_xml – name: IEEE
SSID ssj0006499
Score 2.2896411
Snippet Many techniques have been recently developed for testing deep learning (DL) libraries. Although these techniques have effectively improved API and code...
SourceID ieee
SourceType Publisher
StartPage 2957
SubjectTerms Closed box
Codes
Complexity theory
Computer bugs
Concolic Testing
Deep learning
Deep Learning Libraries
Fuzzing
Libraries
Software engineering
Testing
Title Lightweight Concolic Testing via Path-Condition Synthesis for Deep Learning Libraries
URI https://ieeexplore.ieee.org/document/11029909
hasFullText 1
inHoldings 1
isFullTextHit
isPrint
link http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LawIxEA7VU0_2YembHHpdNZvHbs5WaYsVQQVvsnmJFFapa0v76zuJu7YUCr2FXcIuCZOZbzLfNwjdMSUccTqNHDEOAAqMUpaqKDZUE0VoliaenPw8FA9T9jTjs5KsHrgw1tpQfGZbfhju8s1Kb32qrA2uyp-esoZqgNx2ZK39sSsgdi-5caQj24_dcY9zyhLAgHHIm_jMyY8OKsGB9BtoWH16Vzfy0toWqqU_f6ky_vvfjlDzm6uHR3svdIwObH6CGlWzBlza7imaDjwMfw-ZUAxztRcExhMvspEv8NsywyMIBiN4Y0IVFx5_5BAcbpYbDHEtvrd2jUsx1gUeVCC7iSb93qT7EJU9FaKlpEVksthIo7XSHQtQygrJLEstI7FVTAtnMkedVjIxPO4wQ6WSKoEYSVETOzBeeobq-Sq35whTQ5wQjvLEapZJnhKWSJFQzogByzYXqOlXab7eqWbMqwW6_OP5FTr0O-VvamJxjerF69begMMv1G3Y6C9LUqwa
linkProvider IEEE
linkToHtml http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1ba8IwFA6be9ie3MWx-_Kw16ppLm2enaJbFUEF36S5iQyqzLqx_folsXVjMNhbaAktCSfnfCfn-w4AD0Qwg4yMA4OUsQDFjmISiyBUWCKBcBpHjpzcH7DuhDxN6bQgq3sujNbaF5_puhv6u3y1lBuXKmtYV-VOT74PDqzjp2hL19odvMxG7wU7DjV5o9catSnFJLIoMPSZE5c7-dFDxbuQThUMyo9vK0de6ptc1OXnL13Gf__dMah9s_XgcOeHTsCezk5BtWzXAAvrPQOTxAHxd58LhXaudJLAcOxkNrI5fFukcGjDwcC-Ub6OC44-MhserhdraCNb-Kj1ChZyrHOYlDC7Bsad9rjVDYquCsGC4zxQaai4klLIprZgSjNONIk1QaEWRDKjUoONFDxSNGwShbngIrJRksAqNNZ88TmoZMtMXwCIFTKMGUwjLUnKaYxIxFmEKUHK2ra6BDW3SrPVVjdjVi7Q1R_P78Fhd9xPZklv8HwNjtyuuXubkN2ASv660bfW_efizm_6F3Ssr2M
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=Lightweight+Concolic+Testing+via+Path-Condition+Synthesis+for+Deep+Learning+Libraries&rft.au=Kim%2C+Sehoon&rft.au=Kim%2C+Yonghyeon&rft.au=Park%2C+Dahyeon&rft.au=Jeon%2C+Yuseok&rft.date=2025-04-26&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=2957&rft.epage=2969&rft_id=info:doi/10.1109%2FICSE55347.2025.00202&rft.externalDocID=11029909