compatibility testing

Systematically testing software components across platforms, languages, and solver backends to ensure functional correctness and safe interoperability; includes designing backtesting and property-based tests that allow easy swapping of implementations while preserving expected behavior and aiding reproducibility.

compatibilitytesting

12-Month Skill Trend

Momentum and market value over time
Trending
Score
+20 in 12 mo
96
12 mo agoNow
Career
Value
+$12K in 12 mo
$42K/year
12 mo agoNow

Recommended Survey Paper

Quick overview of the field
View more

Must-Read Papers

Most classic and influential ideas
View more

Type-Based Incorrectness Reasoning

Sep 01, 2025
ZZ
Zhe Zhou
🏛️ Purdue University

This work addresses the lack of type-theoretic support for under-approximation reasoning in functional program verification. Methodologically, it pioneers the integration of incorrectness logic with refinement types and coverage types, yielding an extended instantiation type system that supports *necessity-guaranteeing* under-approximation reasoning. By encoding incorrectness assertions directly into the type system, the approach enables provable characterization of erroneous program behaviors and synergizes with property-based testing frameworks to jointly verify both the safety and completeness of test generators. The contributions are threefold: (1) it establishes the first formal theoretical bridge between incorrectness logic and typed systems; (2) it enhances the completeness and verifiability of test generation and static analysis for functional programs; and (3) it provides a novel, constructively definable foundation for under-approximation reasoning in program verification tools.

Develop coverage types for underapproximate must-style reasoningEnhance testing frameworks with completeness and safety verificationIntegrate incorrectness logic into refinement type systems

Testing Compositionality

Jul 06, 2024
GV
G. V. Cuyck
🏛️ Radboud University | TNO-ESI

This paper addresses the compositional verification challenge in model-driven testing: whether component-level testing guarantees system-level correctness. We propose a novel paradigm grounded in mutual acceptance and environment consistency. First, we formally define environment consistency and apply it to black-box compositional testing. Second, we design the first decidable mutual acceptance verification algorithm, accompanied by a sound and complete testing procedure. Third, we establish a model-driven theoretical framework that enables rigorous derivation of system-wide correctness from component-level test outcomes. Our approach preserves testing completeness while substantially reducing the complexity of verifying large-scale systems. By bridging formal semantics with practical testability, it provides a feasible, verifiable pathway for high-assurance system validation. (124 words)

Develop testing procedure for black-box implementationsOptimize testing using multiple specification constraintsVerify mutual acceptance for compositional model-based testing

This work proposes a novel paradigm that bridges the long-standing divide between testing and formal verification in traditional software validation, enabling them to synergistically enhance both efficiency and quality. Grounded in Design by Contract, the approach leverages the counterexample generation capability of SMT solvers to transform formal verification tools into an integrated engine for automated testing and repair. Within a unified framework, the method simultaneously achieves three key objectives: automatic generation of test cases for faulty programs, construction of regression test suites with full coverage for correct programs, and correctness-guaranteed program repair. This represents the first integration of verification, testing, and repair into a single cohesive methodology.

automatic program repairformal proofsoftware maintenance

This work addresses the challenge of applying equivalence class partitioning—a testing requirement under ISO 26262—to legacy embedded firmware in the absence of complete specification documents. The authors propose a binary-level method that automatically infers output-oriented equivalence classes by reconstructing control flow and performing guided symbolic execution to analyze function behavior. Execution paths are clustered based on observable outputs, such as return values and output parameters, and the resulting equivalence classes are represented in a human-readable form to support test design. To the best of the authors’ knowledge, this is the first approach capable of inferring equivalence classes directly from binaries without source code or documentation for safety-critical embedded software. Industrial case studies demonstrate that the inferred classes align closely with expert expectations and offer both high readability and practical utility, effectively aiding functional comprehension and compliance testing of legacy firmware.

equivalence class partitioningISO 26262legacy embedded binaries

Covering All the Bases: Type-Based Verification of Test Input Generators

Apr 06, 2023
ZZ
Zhe-Wei Zhou
🏛️ Purdue University | Indian Institute of Technology Hyderabad

Verifying coverage completeness of input generators in property-based testing remains challenging. Method: This paper proposes a static verification approach based on a “must-style” refinement type system, reformulating conventional “may-produce” type semantics into “must-produce” semantics. It formally defines full coverage for higher-order functions and inductive data types, enabling fully automated verification of generator completeness. Contribution/Results: To our knowledge, this is the first refinement type system provably guaranteeing generation of all inputs satisfying both type and constraint specifications. Experimental evaluation demonstrates substantial improvements in detecting coverage gaps across diverse complex generators, while significantly reducing manual verification effort.

Ensures generators produce all required input valuesSupports polymorphism for real-world PBT frameworksValidates test generator coverage using refinement types

Latest Papers

What's happening recently
View more

This study addresses the imbalance in the test pyramid—characterized by an overreliance on coarse-grained integration and system tests, which leads to difficulties in fault localization and slow execution—by proposing, for the first time, a method to automatically generate unit tests from existing integration tests. The approach combines static and dynamic analysis to automatically isolate component dependencies and enhance coverage at the unit level. Implemented as a Node.js tool and evaluated on twelve open-source JavaScript projects, the technique produces high-quality unit tests that significantly improve test suite structure, thereby increasing both testing efficiency and maintainability.

fault localizationintegration testtest pyramid

Existing property-based testing frameworks, such as Hedgehog, lack compositional semantics, making it difficult to formally verify the correctness of generator optimizations. This work develops a formal semantic model for such frameworks, revealing that their distributional semantics are inherently non-compositional. To address this, we propose Hedgehog→, a restricted variant based on arrow calculus, which trades modest expressiveness for compositional distributional semantics. This design enables, for the first time in property-based testing, compositional formal proofs of generator equivalence. We implement a Haskell prototype of Hedgehog→ and demonstrate that it retains sufficient expressiveness to encode practical test generators while providing a rigorous, compositional foundation for reasoning about generator optimizations.

compositional semanticsformal verificationgenerator equivalence

This study addresses the challenges of high cost, error-proneness, and defect propagation in cross-repository code and test reuse during software refactoring. Through action research, the authors conduct bidirectional empirical analyses on real-world cases such as Soot/SootUp and FindBugs/SpotBugs, identifying for the first time the bidirectional reuse requirements and semantic reuse patterns inherent in refactoring scenarios. They propose a semantic alignment–based code mapping approach coupled with a hierarchical, extensible clone detection mechanism. Experimental results demonstrate that their method reduces irrelevant clones by 33%–99% on average and achieves a benchmark precision of 86%. The practical impact is further evidenced by five reported issues and ten pull requests submitted to open-source communities, eight of which have already been merged, confirming the approach’s effectiveness and applicability.

clone detectioncode reusecross-repository migration

This study addresses the long-standing lack of effective evaluation of sustainability in scientific open-source software. It proposes a data-driven approach to systematically uncover, for the first time, the relationships among code quality, test coverage, and software sustainability. By analyzing code structure, measuring test coverage, and modeling code–test correlations, the authors classify and compare projects within the CASS software portfolio. The findings reveal that sustainable projects consistently exhibit higher and more stable test coverage, along with clearer mappings between code and tests. In contrast, scientific software as a whole demonstrates generally low test coverage, and high code complexity coupled with strong coupling significantly impairs its testability.

code qualityopen-sourcescientific software

Hot Scholars

CF

Chunrong Fang

Software Institute, Nanjing University
Software TestingSoftware EngineeringComputer Science
ZZ

Zibin Zheng

IEEE Fellow, Highly Cited Researcher, Sun Yat-sen University, China
BlockchainSmart ContractServices ComputingSoftware Reliability
XX

Xiaofei Xie

Singapore Management University
Software EngineeringLoop AnalysisTestingDeep Learning
DL

David Lo

Professor of Computer Science, Singapore Management University
AI4SESoftware AnalyticsSE4AISoftware Maintenance
MR

Michael R. Lyu

Professor of Computer Science & Engineering, The Chinese University of Hong Kong
software engineeringsoftware reliabilityfault tolerancemachine learning