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)...
Saved in:
Published in | Proceedings / International Conference on Software Engineering pp. 2957 - 2969 |
---|---|
Main Authors | , , , , , |
Format | Conference Proceeding |
Language | English |
Published |
IEEE
26.04.2025
|
Subjects | |
Online Access | Get full text |
ISSN | 1558-1225 |
DOI | 10.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 |