Instrumentation-Driven Evolution-Aware Runtime Verification
Runtime verification (RV) found hundreds of bugs by monitoring passing tests against formal specifications (specs). RV first instruments a program to obtain relevant events, e.g., method calls, to monitor. A hindrance to RV adoption, especially in continuous integration, is its high overhead. So, pr...
Saved in:
Published in | Proceedings / International Conference on Software Engineering pp. 103 - 115 |
---|---|
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.00099 |
Cover
Loading…
Abstract | Runtime verification (RV) found hundreds of bugs by monitoring passing tests against formal specifications (specs). RV first instruments a program to obtain relevant events, e.g., method calls, to monitor. A hindrance to RV adoption, especially in continuous integration, is its high overhead. So, prior work proposed spec-driven evolution-aware techniques to speed up RV. They use complex analysis to re-monitor a subset of specs related to code impacted by changes. But, these techniques assume that RV overhead is dominated by monitoring time, and their designs often sacrifice safety (ability to find all new violations) for speed. We present IMOP, the first instrumentation-driven evolution-aware RV framework. IMOP leverages a recent observation that RV overhead during testing is often dominated by instrumentation, not monitoring. IMOP embodies a family of 14 techniques that aim to safely speed up RV by simply re-instrumenting only changed code. Instrumentation from the old revision is re-used for unchanged code, and all specs are re-monitored in the new revision. We implement IMOP as a Maven plugin and evaluate it on 2,028 revisions of 66 projects, using 160 specs of correct JDK API usage. IMOP is safe by design. It is up to 40.2x faster than re-running RV from scratch after each change, and 17.8x and 6.7x faster than safe and unsafe spec-driven techniques, respectively. IMOP is faster than just applying regression test selection to RV. |
---|---|
AbstractList | Runtime verification (RV) found hundreds of bugs by monitoring passing tests against formal specifications (specs). RV first instruments a program to obtain relevant events, e.g., method calls, to monitor. A hindrance to RV adoption, especially in continuous integration, is its high overhead. So, prior work proposed spec-driven evolution-aware techniques to speed up RV. They use complex analysis to re-monitor a subset of specs related to code impacted by changes. But, these techniques assume that RV overhead is dominated by monitoring time, and their designs often sacrifice safety (ability to find all new violations) for speed. We present IMOP, the first instrumentation-driven evolution-aware RV framework. IMOP leverages a recent observation that RV overhead during testing is often dominated by instrumentation, not monitoring. IMOP embodies a family of 14 techniques that aim to safely speed up RV by simply re-instrumenting only changed code. Instrumentation from the old revision is re-used for unchanged code, and all specs are re-monitored in the new revision. We implement IMOP as a Maven plugin and evaluate it on 2,028 revisions of 66 projects, using 160 specs of correct JDK API usage. IMOP is safe by design. It is up to 40.2x faster than re-running RV from scratch after each change, and 17.8x and 6.7x faster than safe and unsafe spec-driven techniques, respectively. IMOP is faster than just applying regression test selection to RV. |
Author | Legunsen, Owolabi Guan, Kevin |
Author_xml | – sequence: 1 givenname: Kevin surname: Guan fullname: Guan, Kevin email: kzg5@cornell.edu organization: Cornell University,Ithaca,NY,USA – sequence: 2 givenname: Owolabi surname: Legunsen fullname: Legunsen, Owolabi email: legunsen@cornell.edu organization: Cornell University,Ithaca,NY,USA |
BookMark | eNotj81Kw0AUhUdRsK19gy7yAonzn7m4KjHVQEFoi9symdzCSDORSVLx7Q3VxeGDw8eBMyd3oQtIyIrRjDEKT1WxL5USMs845SqjlALckCXkYIRgiioN7JbMmFImZZyrBzLv-89J0xJgRp6r0A9xbDEMdvBdSF-iv2BIykt3Hq_F-ttGTHZjGHyLyQdGf_Lu6j6S-5M997j854IcNuWheEu3769Vsd6mHsSQQiMtNryWYKcwKYHn1hie64aKWnHutK2dAEdrg4ZRzaVlygjQtWiccmJBVn-zHhGPX9G3Nv4cp_McQIP4BSONSmA |
CODEN | IEEPAD |
ContentType | Conference Proceeding |
DBID | 6IE 6IH CBEJK RIE RIO |
DOI | 10.1109/ICSE55347.2025.00099 |
DatabaseName | IEEE Electronic Library (IEL) Conference Proceedings IEEE Proceedings Order Plan (POP) 1998-present by volume IEEE Xplore All Conference Proceedings IEEE/IET 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 | 115 |
ExternalDocumentID | 11029969 |
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-9d4aed2b49ab49144927a88276d03b522c6abc39c0b8e810624a158396b3dc5c3 |
IEDL.DBID | RIE |
IngestDate | Wed Aug 27 01:40:13 EDT 2025 |
IsPeerReviewed | false |
IsScholarly | true |
Language | English |
LinkModel | DirectLink |
MergedId | FETCHMERGED-LOGICAL-i93t-9d4aed2b49ab49144927a88276d03b522c6abc39c0b8e810624a158396b3dc5c3 |
PageCount | 13 |
ParticipantIDs | ieee_primary_11029969 |
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.28956 |
Snippet | Runtime verification (RV) found hundreds of bugs by monitoring passing tests against formal specifications (specs). RV first instruments a program to obtain... |
SourceID | ieee |
SourceType | Publisher |
StartPage | 103 |
SubjectTerms | Codes Computer bugs Continuous integration Diversity reception Formal specifications Instruments Monitoring Runtime Safety Testing |
Title | Instrumentation-Driven Evolution-Aware Runtime Verification |
URI | https://ieeexplore.ieee.org/document/11029969 |
hasFullText | 1 |
inHoldings | 1 |
isFullTextHit | |
isPrint | |
link | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV1LSwMxEA62J0_1UfHNHrymTZNsHniS2mIFi2iV3kpeCyLdSmkV_PVOtmkVQfCwsCzL7uax830zyTeD0EXkwJYEj60zBHOVa2wKWWBnmWFKuo5RUeB8NxQ3T_x2nI-TWL3SwoQQqs1noRVPq7V8P3PLGCprA1SB9RS6hmrgua3EWhuzK4C7J21ch-j2oPvYy3PGJfiANMZNSEzv-qOCSgUg_QYarl-92jfy2loubMt9_srK-O9v20HNb61edr9BoV20Fco91FgXa8jSv7uPLgdVrthp0hqV-HoeDV3We0-TD199mHnIHmLtiGnInmFqFimg10Sjfm_UvcGpcgJ-0WyBtecmeGq5NnCAy6SpNEClpfCEWWBcThjrmHbEqqDAKaTcdHKgSsIy73LHDlC9nJXhEGVUW0_hHioB6-GpNhBZaKGsVVqSwI9QM_bF5G2VG2Oy7objP66foO04HnE9hopTVIeGhzOA9YU9r4bzC7CTouM |
linkProvider | IEEE |
linkToHtml | http://utb.summon.serialssolutions.com/2.0.0/link/0/eLvHCXMwjV3fS8MwED50PujT_DHxt33wNVuatEmDTzI3Nt2G6BTfRpKmILJOxqbgX--l66YIgg-FUkpbLul9313y3QFceA5sqEuJsZqSKIkV0ZnMiDVc80TaUCde4NwfiM5jdPMcP5di9UIL45wrNp-5uj8t1vLTiZ37VFkDoQq9p1DrsIHAH4cLudbK8Qpk76U6LqSq0W0-tOKYRxKjQOYzJ9QXeP3RQ6WAkHYVBsuXL3aOvNbnM1O3n7_qMv7767ah9q3WC-5WOLQDay7fheqyXUNQ_r17cNktqsWOS7VRTq6n3tUFrfdy-pGrDz11wb3vHjF2wRNOzqxM6dVg2G4Nmx1S9k4gL4rPiEoj7VJmIqXxwKBJMamRTEuRUm6Qc1mhjeXKUpO4BMNCFukwRrIkDE9tbPk-VPJJ7g4gYMqkDO9hEtEen2oclZkSiTGJktRFh1Dzthi9LapjjJZmOPrj-jlsdob93qjXHdwew5YfG786w8QJVNAI7hRBfmbOiqH9AmIppiw |
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=Instrumentation-Driven+Evolution-Aware+Runtime+Verification&rft.au=Guan%2C+Kevin&rft.au=Legunsen%2C+Owolabi&rft.date=2025-04-26&rft.pub=IEEE&rft.eissn=1558-1225&rft.spage=103&rft.epage=115&rft_id=info:doi/10.1109%2FICSE55347.2025.00099&rft.externalDocID=11029969 |