kth.sePublications KTH
Change search
Link to record
Permanent link

Direct link
Publications (3 of 3) Show all publications
Reyes García, F., Gamage, Y., Skoglund, G., Baudry, B. & Monperrus, M. (2024). BUMP: A Benchmark of Reproducible Breaking Dependency Updates. In: Proceedings - 2024 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2024: . Paper presented at 31st IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2024, Rovaniemi, Finland, Mar 12 2024 - Mar 15 2024 (pp. 159-170). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>BUMP: A Benchmark of Reproducible Breaking Dependency Updates
Show others...
2024 (English)In: Proceedings - 2024 IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2024, Institute of Electrical and Electronics Engineers (IEEE) , 2024, p. 159-170Conference paper, Published paper (Refereed)
Abstract [en]

Third-party dependency updates can cause a build to fail if the new dependency version introduces a change that is incompatible with the usage: this is called a breaking dependency update. Research on breaking dependency updates is active, with works on characterization, understanding, automatic repair of breaking updates, and other software engineering aspects. All such research projects require a benchmark of breaking updates that has the following properties: 1) it contains real-world breaking updates; 2) the breaking updates can be executed; 3) the benchmark provides stable scientific artifacts of breaking updates over time, a property we call 'reproducibility'. To the best of our knowledge, such a benchmark is missing. To address this problem, we present BUMP, a new benchmark that contains reproducible breaking dependency updates in the context of Java projects built with the Maven build system. BUMP contains 571 breaking dependency updates collected from 153 Java projects. BUMP ensures long-term reproducibility of dependency updates on different platforms, guaranteeing consistent build failures. We categorize the different causes of build breakage in BUMP, providing novel insights for future work on breaking update engineering. To our knowledge, BUMP is the first of its kind, providing hundreds of real-world breaking updates that have all been made reproducible.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Keywords
Benchmark, Breaking dependency updates, Dependency engineering, Java, Maven, Reproducibility
National Category
Computer Sciences Software Engineering
Identifiers
urn:nbn:se:kth:diva-351755 (URN)10.1109/SANER60148.2024.00024 (DOI)001505450800018 ()2-s2.0-85199750992 (Scopus ID)
Conference
31st IEEE International Conference on Software Analysis, Evolution and Reengineering, SANER 2024, Rovaniemi, Finland, Mar 12 2024 - Mar 15 2024
Funder
Swedish Foundation for Strategic Research, Chains
Note

 Part of ISBN 9798350330663

QC 20240823

Available from: 2024-08-13 Created: 2024-08-13 Last updated: 2025-12-05Bibliographically approved
Baudry, B., Etemadi, K., Fang, S., Gamage, Y., Liu, Y., Liu, Y., . . . Tiwari, D. (2024). Generative AI to Generate Test Data Generators. IEEE Software, 41(6), 55-64
Open this publication in new window or tab >>Generative AI to Generate Test Data Generators
Show others...
2024 (English)In: IEEE Software, ISSN 0740-7459, E-ISSN 1937-4194, Vol. 41, no 6, p. 55-64Article in journal (Refereed) Published
Abstract [en]

High quality data is essential for designing effective software test suites. We propose three original methods for using large language models to generate representative test data, which fit to the domain of the program under test and are culturally adequate.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
Keywords
Generators, Cultural differences, Testing, Libraries, Java, Codes, Vectors
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-355309 (URN)10.1109/MS.2024.3418570 (DOI)001329864000010 ()2-s2.0-85197039632 (Scopus ID)
Funder
Wallenberg AI, Autonomous Systems and Software Program (WASP)Swedish Foundation for Strategic Research, chains
Note

QC 20241030

Available from: 2024-10-30 Created: 2024-10-30 Last updated: 2024-12-10Bibliographically approved
Tiwari, D., Gamage, Y., Monperrus, M. & Baudry, B. (2024). PROZE: Generating Parameterized Unit Tests Informed by Runtime Data. In: Proceedings - 2024 IEEE International Conference on Source Code Analysis and Manipulation, SCAM 2024: . Paper presented at 24th IEEE International Conference on Source Code Analysis and Manipulation, SCAM 2024, Flagstaff, United States of America, Oct 7 2024 - Oct 8 2024 (pp. 166-176). Institute of Electrical and Electronics Engineers (IEEE)
Open this publication in new window or tab >>PROZE: Generating Parameterized Unit Tests Informed by Runtime Data
2024 (English)In: Proceedings - 2024 IEEE International Conference on Source Code Analysis and Manipulation, SCAM 2024, Institute of Electrical and Electronics Engineers (IEEE), 2024, p. 166-176Conference paper, Published paper (Refereed)
Abstract [en]

Typically, a conventional unit test (CUT) verifies the expected behavior of the unit under test through one specific input / output pair. In contrast, a parameterized unit test (PUT) receives a set of inputs as arguments, and contains assertions that are expected to hold true for all these inputs. PUTs increase test quality, as they assess correctness on a broad scope of inputs and behaviors. However, defining assertions over a set of inputs is a hard task for developers, which limits the adoption of PUTs in practice. In this paper, we address the problem of finding oracles for PUTs that hold over multiple inputs. We design a system called PROZE, that generates PUTs by identifying developer-written assertions that are valid for more than one test input. We implement our approach as a two-step methodology: first, at runtime, we collect inputs for a target method that is invoked within a CUT; next, we isolate the valid assertions of the CUT to be used within a PUT. We evaluate our approach against 5 real-world Java modules, and collect valid inputs for 128 target methods, from test and field executions. We generate 2,287 PUTs, which invoke the target methods with a significantly larger number of test inputs than the original CUTs. We execute the PUTs and find 217 that provably demonstrate that their oracles hold for a larger range of inputs than envisioned by the developers. From a testing theory perspective, our results show that developers express assertions within CUTs, which actually hold beyond one particular input.

Place, publisher, year, edition, pages
Institute of Electrical and Electronics Engineers (IEEE), 2024
National Category
Software Engineering
Identifiers
urn:nbn:se:kth:diva-356174 (URN)10.1109/SCAM63643.2024.00025 (DOI)2-s2.0-85215285513 (Scopus ID)
Conference
24th IEEE International Conference on Source Code Analysis and Manipulation, SCAM 2024, Flagstaff, United States of America, Oct 7 2024 - Oct 8 2024
Note

Part of ISBN 9798331528508

QC 20241111

Available from: 2024-11-09 Created: 2024-11-09 Last updated: 2025-03-12Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0009-0000-7537-4961

Search in DiVA

Show all publications