VLDB 2026 Research / reviewers in the wild / expert
Cyrille Artho
dblp:21/6330 · also Cyrille Valentin Artho
· DBLP profile ↗
69ranked-venue papers
30as first author
20since 2021 · last 2026
0000-0002-3656-1614ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 60 · 29 first-author · 16 since 2021Security and privacy · 5 · 2 since 2021Theory of computation · 5 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 2 first-authorDatabases, data management, data science and information retrieval · 2 · 1 first-author · 1 since 2021Systems, architecture and hardware · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | PhantomRun: Auto Repair of Compilation Errors in Embedded Open Source SoftwareabstractContinuous integration (CI) pipelines for embedded software sometimes fail during compilation, consuming significant developer time for debugging. We study four major open-source embedded system projects, spanning over 4,000 build failures from the project’s CI runs. We find that hardware dependencies account for the majority of compilation failures, followed by syntax errors and build-script issues. Most repairs need relatively small changes, making automated repair potentially suitable as long as the diverse setups and lack of test data can be handled. Andreas Ermedahl, Sigrid Eldh, Kristian Wiklund, Philipp Haller, Cyrille Artho |
MSR | 6 |
| 2026 | Model to mitigate: Using DCR graphs to prevent vulnerabilities in smart contractsabstractWe propose a ‘Model to Mitigate’ methodology: designing a platform-agnostic model of smart contract business logic and analyzing it before implementation. Using Dynamic Condition Response (DCR) graphs, originally developed for modeling business processes, we formally specify smart contracts and introduce a trace-conformance notion that links DCR-level guarantees to Solidity execution traces. Our method captures high-level properties such as event ordering, role-based access control, and time constraints, enabling the identification of design-rooted vulnerabilities through the discipline of explicit modeling. The DCR formalism requires developers to make concrete decisions about access control, preconditions, initial states, and event ordering-decisions that, when left implicit until implementation, are a documented source of vulnerabilities. Our analysis of real-world exploited and audited smart contracts yields six key insights, demonstrating how DCR-based modeling can enhance smart contract security by surfacing design flaws before they reach deployment. While we validate the approach on existing smart contracts with known flaws (i. e., post-implementation scenarios), the proposed methodology is applicable during design time (pre-development). Mojtaba Eshghie, Wolfgang Ahrendt, Cyrille Artho, Thomas T. Hildebrandt, Gerardo Schneider |
J. Log. Algebraic Methods Program. | 3 |
| 2025 | Leveraging Petri Nets for Workflow Anomaly Detection in Microservice Architectures
Priyanka Kamboj, Cyrille Artho, Roberto Guanciale, Reyhaneh Jabbarvand Behrouz, Brighten Godfrey |
Petri Nets | 2 |
| 2025 | Auto-repair without test cases: How LLMs fix compilation errors in large industrial embedded codeabstractThe co-development of hardware and software in industrial embedded systems frequently leads to compilation errors during continuous integration (CI). Automated repair of such failures is promising, but existing techniques rely on test cases, which are not available for non-compilable code. We employ an automated repair approach for compilation errors driven by large language models (LLMs). Our study encompasses the collection of more than 40000 commits from the product’s source code. We assess the performance of an industrial CI system enhanced by four state-of-the-art LLMs, comparing their outcomes with manual corrections provided by human programmers. LLM-equipped CI systems can resolve up to 63 % of the compilation errors in our baseline dataset. Among the fixes associated with successful CI builds, 83 % are deemed reasonable. Moreover, LLMs significantly reduce debugging time, with the majority of successful cases completed within 8 minutes, compared to hours typically required for manual debugging. Sigrid Eldh, Kristian Wiklund, Andreas Ermedahl, Philipp Haller, Cyrille Artho |
DSD | 6 |
| 2025 | Trust and Verify: Formally Verified and Upgradable Trusted FunctionsabstractComputation over sensitive data requires that the computation function is secure and trusted. Existing approaches either do not enforce formal verification, require the user to verify the proof, or lack secure attestation guarantees. In addition, neither addresses the issue of having users once again inspect the application after upgrading the code running in the enclave. We propose an approach that uses a formal specification to guarantee that the behavior of the computation function conforms to the desired functionality. By combining automated verification with attestation on a trusted execution environment, we ensure that only conformant applications are executed. At the same time, we allow updates of the computation function without changing the attestation response, as long as the formal specification still holds. We implement and evaluate the system on several functions; our results show an average overhead of only 50 %. Finally, we demonstrate the validity of the system using a real-world application, Dafny-EVM. Marcus Birgersson, Cyrille Artho, Musard Balliu |
ICSME | 2 |
| 2025 | ContractViz: Extending Eclipse Trace Compass for Smart Contract Transaction AnalysisabstractThe complexity of the Ethereum smart contracts makes it challenging to avoid security flaws. This problem led to many code analysis tools, which detect potential flaws and report them textually. However, the lack of context and visual information in these reports hinders the stakeholders' under-standing of the detailed information. Visualization can assist a developer in grasping such context, but current state-of-the-art visualization tools provide only fixed and limited visualization types. To this end, we present Contract Viz, based on the versatile platform Eclipse Trace Compass (TC), which supports various views and analyses in parallel. Our contribution enables TC to visualize Ethereum transaction traces using flame charts and gas consumption plots. This reveals information on account activities and provides insights into the correct or possibly flawed behaviors. GitHub repo-https://github.com/AisXiaolinlContractViz You Tube video-https://aisxiaolin.github.io/VideoDemo/ Adel Belkhiri, Mónica Jin, Yi Li 0008, Cyrille Artho |
SANER | 5 |
| 2025 | Specification Mining for Smart Contracts with Trace Slicing and Predicate AbstractionabstractSmart contracts are computer programs running on blockchains to implement Decentralized Applications. The absence of contract specifications hinders routine tasks, such as contract understanding and testing. In this work, we propose a specification mining approach to infer contract specifications from past transaction histories. Our approach derives high-level behavioral automata of function invocations, accompanied by program invariants statistically inferred from the transaction histories. We implemented our approach as tool SMCON and evaluated it on eleven well-studied Azure benchmark smart contracts and six popular real-world DApp smart contracts. The experiments show that SMCON mines reasonably accurate specifications that can be used to enhance symbolic analysis of smart contracts achieving higher code coverage and up to 56 % speedup, and facilitate DApp developers in maintaining high-quality documentation and test suites. Ye Liu 0012, Yi Li 0008, Cyrille Artho |
SANER | 4 |
| 2024 | Activity Recognition Protection for IoT Trigger-Action PlatformsabstractSmart home devices collect and transmit user data to smart home Trigger Action Platforms (TAPs) for processing and executing automation rules. However, this data can also be used to infer user activities or other sensitive information. In this paper, we propose PTAP, a privacy-preserving approach based on adversarial example attacks. PTAP injects targeted perturbations into time-series sensor data, effectively confounding potentially malicious TAP classifiers. Our approach significantly reduces the chance of user activity recognition for a malicious TAP while preserving the essential information for automation rule execution, thus safeguarding TAP utility. We evaluated PTAP using a real-world smart-home dataset and examined its effectiveness in preserving utility through the execution of various IoT applications. Our results demonstrate that PTAP effectively preserves user privacy (reducing the accuracy of a malicious classifier 91 to 6 percent) while maintaining automation rule integrity, providing a practical and effective solution to protect user privacy in smart-home environments. Mahmoud Aghvamipanah, Morteza Amini, Cyrille Artho, Musard Balliu |
EuroS&P | 3 |
| 2024 | In Industrial Embedded Software, are Some Compilation Errors Easier to Localize and Fix than Others?abstractIndustrial embedded systems often require special-ized hardware. However, software engineers have access to such domain-specific hardware only at the continuous integration (CI) stage and have to use simulated hardware otherwise. This results in a higher proportion of compilation errors at the CI stage than in other types of systems, warranting a deeper study. To this end, we create a CI diagnostics solution called “Shadow Job” that analyzes our industrial CI system. We collected over 40000 builds from 4 projects from the product source code and categorized the compilation errors into 14 error types, showing that the five most common ones comprise 89 % of all compilation errors. Additionally, we analyze the resolution time, size, and distance for each error type, to see if different types of compilation errors are easier to localize or repair than others. Our results show that the resolution time, size, and distance are independent of each other. Our research also provides insights into the human effort required to fix the most common industrial compilation errors. We also identify the most promising directions for future research on fault localization. Sigrid Eldh, Kristian Wiklund, Andreas Ermedahl, Philipp Haller, Cyrille Artho |
ICST | 6 |
| 2024 | Oracle-Guided Vulnerability Diversity and Exploit Synthesis of Smart Contracts Using LLMsabstractMany smart contracts are prone to exploits, which has given rise to analysis tools that try to detect and fix vulnerabilities. Such analysis tools are often trained and evaluated on limited data sets, which has the following drawbacks: 1. The ground truth is often based on the verdict of related tools rather than an actual verification result; 2. Data sets focus on low-level vulnerabilities like reentrancy and overflow; 3. Data sets lack concrete exploit examples. To address these shortcomings, we introduce XploGen, which uses a model-based oracle specification of the business logic of the smart contracts to synthesize valid exploits using LLMs. Our experiments, involving 104 synthesized vulnerability-exploit pairs, demonstrated a 57% success rate in exploiting targeted aspects of the contract. They achieved exploit efficiency with an average of only 3.5 transactions per exploit, highlighting the effectiveness of our methodology. Mojtaba Eshghie, Cyrille Artho |
ASE | 2 |
| 2024 | HighGuard: Cross-Chain Business Logic Monitoring of Smart ContractsabstractLogical flaws in smart contracts are often exploited, leading to significant financial losses. Our tool, HighGuard, detects transactions that violate business logic specifications of smart contracts. HighGuard employs dynamic condition response (DCR) graph models as formal specifications to verify contract execution against these models. It is capable of operating in a cross-chain environment for detecting business logic flaws across different blockchain platforms. We demonstrate HighGuard's effectiveness in identifying deviations from specified behaviors in smart contracts without requiring code instrumentation or incurring additional gas costs. By using precise specifications in the monitor, HighGuard achieves detection without false positives. Our evaluation, involving 54 exploits, confirms HighGuard's effectiveness in detecting business logic vulnerabilities. Mojtaba Eshghie, Cyrille Artho, Hans Stammler, Wolfgang Ahrendt, Thomas T. Hildebrandt, Gerardo Schneider |
ASE | 2 |
| 2024 | JPF: From 2003 to 2023abstractAbstract We give an account of JPF’s current architecture as it has evolved over the last 20 years. Key changes include a modular, extensible design, and Java 11 support. Java 11 brought with it fundamental changes in the language and its runtime, in particular, a new modular library system, different compilation of string expressions to bootstrap methods, and changes in many internal interfaces that allow access to the loaded code and the virtual machine state. These changes required numerous adaptations in JPF to ensure a successful compilation and correct behavior under Java 11. Cyrille Artho, Pavel Parízek, Daohan Qu, Varadraj Galgali, Pu Yi 0001 |
TACAS (2) | 1 |
| 2024 | Preface Formal Techniques for Safety-Critical Systems (FTSCS 2022)
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2023 | Capturing Smart Contract Design with DCR Graphs
Mojtaba Eshghie, Wolfgang Ahrendt, Cyrille Artho, Thomas T. Hildebrandt, Gerardo Schneider |
SEFM | 3 |
| 2022 | Finding permission bugs in smart contracts with role miningabstractSmart contracts deployed on permissionless blockchains, such as Ethereum, are accessible to any user in a trustless environment. Therefore, most smart contract applications implement access control policies to protect their valuable assets from unauthorized accesses. A difficulty in validating the conformance to such policies, i.e., whether the contract implementation adheres to the expected behaviors, is the lack of policy specifications. In this paper, we mine past transactions of a contract to recover a likely access control model, which can then be checked against various information flow policies and identify potential bugs related to user permissions. We implement our role mining and security policy validation in tool SPCon. The experimental evaluation on labeled smart contract role mining benchmark demonstrates that SPCon effectively mines more accurate user roles compared to the state-of-the-art role mining tools. Moreover, the experimental evaluation on real-world smart contract benchmark and access control CVEs indicates SPCon effectively detects potential permission bugs while having better scalability and lower false-positive rate compared to the state-of-the-art security tools, finding 11 previously unknown bugs and detecting six CVEs that no other tool can find. Ye Liu 0012, Yi Li 0008, Shangwei Lin 0001, Cyrille Artho |
ISSTA | 4 |
| 2022 | Oracle-Supported Dynamic Exploit Generation for Smart ContractsabstractDespite the high stakes involved in smart contracts, they are often developed in an undisciplined manner, leaving the security and reliability of blockchain transactions at risk. In this article, we introduce ContraMaster—an oracle-supported dynamic exploit generation framework for smart contracts. Existing approaches mutate only single transactions; ContraMaster exceeds these by mutating the transaction sequences. ContraMaster uses data-flow, control-flow, and the dynamic contract state to guide its mutations. It then monitors the executions of target contract programs, and validates the results against a general-purpose semantic test oracle to discover vulnerabilities. Being a dynamic technique, it guarantees that each discovered vulnerability is a violation of the test oracle and is able to generate the attack script to exploit this vulnerability. In contrast to rule-based approaches, ContraMaster has not shown any false positives, and it easily generalizes to unknown types of vulnerabilities (e.g., logic errors). We evaluate ContraMaster on 218 vulnerable smart contracts. The experimental results confirm its practical applicability and advantages over the state-of-the-art techniques, and also reveal three new types of attacks. Haijun Wang 0002, Ye Liu 0012, Yi Li 0008, Shangwei Lin 0001, Cyrille Artho, Lei Ma 0003, Yang Liu 0003 |
IEEE Trans. Dependable Secur. Comput. | 5 |
| 2021 | Dynamic Vulnerability Detection on Smart Contracts Using Machine LearningabstractIn this work we propose Dynamit, a monitoring framework to detect reentrancy vulnerabilities in Ethereum smart contracts. The novelty of our framework is that it relies only on transaction metadata and balance data from the blockchain system; our approach requires no domain knowledge, code instrumentation, or special execution environment. Dynamit extracts features from transaction data and uses a machine learning model to classify transactions as benign or harmful. Therefore, not only can we find the contracts that are vulnerable to reentrancy attacks, but we also get an execution trace that reproduces the attack. Using a random forest classifier, our model achieved more than 90 percent accuracy on 105 transactions, showing the potential of our technique. Mojtaba Eshghie, Cyrille Artho, Dilian Gurov |
EASE | 2 |
| 2021 | Test Benchmarks: Which One Now and in Future?abstractTo evaluate software testing and program analysis tools, the research community relies on collections of sample programs (benchmarks) containing realistic code examples with defects. We investigated 23 benchmark projects for test generation in common programming languages and looked at how they can be categorized according to attributes such as programming language, number of programs and defects, license, and size. From our studies, it is evident that the development and especially maintenance of benchmarks are a big challenge. Out of the 23 benchmark projects we investigated, only four are still active as of today, and only nine have been updated after their initial release. With the underlying programming languages and platforms constantly evolving (often without full backward compatibility), this creates a challenge when comparing new tools to older ones. To exacerbate the situation, many benchmarks do not fully track the provenance and license of the code they include. Sustainable benchmark collections share these key factors: Open hosting of complete (actual) data allowing community involvement, systematic maintenance of license and authorship data, and a unified machine-readable format for such data. Cyrille Artho, Adam Benali, Rudolf Ramler |
QRS | 1 |
| 2021 | Security-Aware Multi-User Architecture for IoTabstractIoT systems, such as in smart cities or hospitals, generate data that may be subject to different security classifications, privacy regulations, and access rights. However, popular IoT platforms do not consider data classification and security-aware data analysis. In this paper, we present a novel architecture based on open-source solutions that handles the issue of collecting and classifying data at the source and presents the data analysis to users at different authorization levels. Our architecture consists of three layers: a layer for exposing collected and classified data to a middleware, the middleware to handle storage and analysis of the data and expose it to a dashboard, and the dashboard responsible for authenticating users and visualizing data according to the users’ classification level. Our solution distinguishes itself by focusing on data classification rather than data collection, supporting fine-grained access control and declassification. Our implementation, using the Web of Things API, Node-RED and Grafana, demonstrates the security benefits of our design on use cases in the smart city and healthcare domains. Marcus Birgersson, Cyrille Artho, Musard Balliu |
QRS | 2 |
| 2021 | Formal Techniques for Safety-Critical Systems (FTSCS 2018)
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2020 | Multi-objective Search for Model-based TestingabstractThis paper presents a search-based approach relying on multi-objective reinforcement learning and optimization for test case generation in model-based software testing. Our approach considers test case generation as an exploration versus exploitation dilemma, and we address this dilemma by implementing a particular strategy of multi-objective multi-armed bandits with multiple rewards. After optimizing our strategy using the jMetal multi-objective optimization framework, the resulting parameter setting is then used by an extended version of the Modbat tool for model-based testing. We experimentally evaluate our search-based approach on a collection of examples, such as the ZooKeeper distributed service and PostgreSQL database system, by comparing it to the use of random search for test case generation. Our results show that test cases generated using our search-based approach can obtain more predictable and better state/transition coverage, find failures earlier, and provide improved path coverage. Rui Wang 0048, Cyrille Artho, Lars Michael Kristensen, Volker Stolz |
QRS | 2 |
| 2020 | Model-based testing of Apache ZooKeeper: Fundamental API usage and watchersabstractSummary In this paper, we extend work on model‐based testing for Apache ZooKeeper, to handle watchers (triggers) and improve scalability. In a distributed asynchronous shared storage like ZooKeeper, watchers deliver notifications on state changes. They are difficult to test because watcher notifications involve an initial action that sets the watcher, followed by another action that changes the previously seen state. We show how to generate test cases for concurrent client sessions executing against ZooKeeper with the tool Modbat. The tests are verified against an oracle that takes into account all possible timings of network communication. The oracle has to verify that there exists a chain of events that triggers both the initial callback and the subsequent watcher notification. We show in detail how the oracle computes whether watch triggers are correct and how the model was adapted and improved to handle these features. Together with a new search improvement that increases both speed and accuracy, we are able to verify large test setups and confirm several defects with our model. Cyrille Artho, Kazuaki Banzai, Quentin Gros, Guillaume Rousset, Lei Ma 0003, Takashi Kitamura 0001, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto |
Softw. Test. Verification Reliab. | 1 |
| 2019 | Model-based Network Fault Injection for IoT ProtocolsabstractIoT devices operate in environments where networks may be unstable. They rely on transport protocols to deliver data with given quality-of-service settings. To test an implementation of the popular MQTT protocol thoroughly, we extend the model-based test framework “Modbat” to simulate unstable networks by taking into account delays and transmission failures. Our proxy-based technology requires no changes to the IoT software, while the model allows the user to define stateless or stateful types or fault patterns. We evaluate our methods on a client-server library for MQTT, a transport protocol designed for IoT. Jun Yoneyama, Cyrille Artho, Yoshinori Tanabe, Masami Hagiya |
ENASE | 2 |
| 2019 | Visualization and Abstractions for Execution Paths in Model-Based Software Testing
Rui Wang 0048, Cyrille Artho, Lars Michael Kristensen, Volker Stolz |
IFM | 2 |
| 2019 | Visual Analytics for Concurrent Java ExecutionsabstractAnalyzing executions of concurrent software is very difficult. Even if a trace is available, such traces are very hard to read and interpret. A textual trace contains a lot of data, most of which is not relevant to the issue at hand. Past visualization attempts either do not show concurrent behavior, or result in a view that is overwhelming for the user. We provide a visual analytics tool, VA4JVM, for error traces produced by either the Java Virtual Machine, or by Java Pathfinder. Its key features are a layout that spatially associates events with threads, a zoom function, and the ability to filter event data in various ways. We show in examples how filtering and zooming in can highlight a problem without having to read lengthy textual data. Cyrille Artho, Monali Pande, Qiyi Tang 0001 |
ASE | 1 |
| 2019 | Java Pathfinder at SV-COMP 2019 (Competition Contribution)abstractThis paper gives a brief overview of Java Pathfinder, or jpf-core. We describe the architecture of JPF, its strengths, and how it was set up for SV-COMP 2019. Cyrille Artho, Willem Visser |
TACAS (3) | 1 |
| 2019 | Formal Techniques for Safety-Critical Systems (FTSCS 2016)
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2018 | Optimal Test Suite Generation for Modified Condition Decision Coverage Using SAT Solving
Takashi Kitamura 0001, Quentin Maissonneuve, Eun-Hye Choi, Cyrille Artho, Angelo Gargantini |
SAFECOMP | 4 |
| 2018 | Formal Techniques for Safety-Critical Systems (FTSCS 2015)
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2018 | Specification and verification of synchronization with condition variables
Pedro de Carvalho Gomes, Dilian Gurov, Marieke Huisman, Cyrille Artho |
Sci. Comput. Program. | 4 |
| 2017 | Model-Based API Testing of Apache ZooKeeperabstractApache ZooKeeper is a distributed data storage that is highly concurrent and asynchronous due to network communication, testing such a system is very challenging. Our solution using the tool "Modbat" generates test cases for concurrent client sessions, and processes results from synchronous and asynchronous callbacks. We use an embedded model checker to compute the test oracle for non-deterministic outcomes, the oracle model evolves dynamically with each new test step. Our work has detected multiple previously unknown defects in ZooKeeper. Finally, a thorough coverage evaluation of the core classes show how code and branch coverage strongly relate to feature coverage in the model, and hence modeling effort. Cyrille Artho, Quentin Gros, Guillaume Rousset, Kazuaki Banzai, Lei Ma 0003, Takashi Kitamura 0001, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto |
ICST | 1 |
| 2017 | Classification Tree Method with Parameter Shielding
Takashi Kitamura 0001, Akihisa Yamada 0002, Goro Hatayama, Shinya Sakuragi, Eun-Hye Choi, Cyrille Artho |
SAFECOMP | 6 |
| 2017 | Formal Techniques for Safety-Critical Systems (FTSCS 2014)
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2016 | Verifying Nested Lock Priority Inheritance in RTEMS with Java Pathfinder
Saurabh Gadia, Cyrille Artho, Gedare Bloom |
ICFEM | 2 |
| 2016 | Distance-Integrated Combinatorial TestingabstractThis paper proposes a novel approach to combinatorial test generation, which achieves an increase of not only the number of new combinations but also the distance between test cases. We applied our distance-integrated approach to a state-of-the-art greedy algorithm for traditional combinatorial test generation by using two distance metrics, Hamming distance, and a modified chi-square distance. Experimental results using numerous benchmark models show that combinatorial test suites generated by our approach using both distance metrics can improve interaction coverage for higher interaction strengths with low computational overhead. Eun-Hye Choi, Cyrille Artho, Takashi Kitamura 0001, Osamu Mizuno, Akihisa Yamada 0002 |
ISSRE | 2 |
| 2016 | Greedy combinatorial test case generation using unsatisfiable coresabstractCombinatorial testing aims at covering the interactions of parameters in a system under test, while some combinations may be forbidden by given constraints (forbidden tuples). In this paper, we illustrate that such forbidden tuples correspond to unsatisfiable cores, a widely understood notion in the SAT solving community. Based on this observation, we propose a technique to detect forbidden tuples lazily during a greedy test case generation, which significantly reduces the number of required SAT solving calls. We further reduce the amount of time spent in SAT solving by essentially ignoring constraints while constructing each test case, but then “amending” it to obtain a test case that satisfies the constraints, again using unsatisfiable cores. Finally, to complement a disturbance due to ignoring constraints, we implement an efficient approximative SAT checking function in the SAT solver Lingeling. Through experiments we verify that our approach significantly improves the efficiency of constraint handling in our greedy combinatorial testing algorithm. Akihisa Yamada 0002, Armin Biere, Cyrille Artho, Takashi Kitamura 0001, Eun-Hye Choi |
ASE | 3 |
| 2016 | Test Effectiveness Evaluation of Prioritized Combinatorial Testing: A Case StudyabstractCombinatorial testing is a widely-used technique to detect system interaction failures. To improve test effectiveness with given priority weights of parameter values in a system under test, prioritized combinatorial testing constructs test suites where highly weighted parameter values appear earlier or more frequently. Such order-focused and frequency-focused combinatorial test generation algorithms have been evaluated using metrics called weight coverage and KL divergence but not sufficiently with fault detection effectiveness so far. We evaluate the fault detection effectiveness on a collection of open source utilities, applying prioritized combinatorial test generation and investigating its correlation with weight coverage and KL divergence. Eun-Hye Choi, Shunya Kawabata, Osamu Mizuno, Cyrille Artho, Takashi Kitamura 0001 |
QRS | 4 |
| 2016 | Runtime Monitoring for Concurrent Systems
Yoriyuki Yamagata, Cyrille Artho, Masami Hagiya, Jun Inoue 0001, Lei Ma 0003, Yoshinori Tanabe, Mitsuharu Yamamoto |
RV | 2 |
| 2015 | Priority Integration for Weighted Combinatorial TestingabstractPriorities (weights) for parameter values can improve the effectiveness of combinatorial testing. Previous approaches have employed weights to derive high-priority test cases either earlier or more frequently. Our approach integrates these order-focused and frequency-focused prioritizations. We show that our priority integration realizes a small test suite providing high-priority test cases early and frequently in a good balance. We also propose two algorithms that apply our priority integration to existing combinatorial test generation algorithms. Experimental results using numerous test models show that our approach improves the existing approaches w.r.t. Order-focused and frequency-focused metrics, while overheads in the size and generation time of test suites are small. Eun-Hye Choi, Takashi Kitamura 0001, Cyrille Artho, Akihisa Yamada 0002, Yutaka Oiwa |
COMPSAC | 3 |
| 2015 | Domain-Specific Languages with Scala
Cyrille Artho, Klaus Havelund, Rahul Kumar 0001, Yoriyuki Yamagata |
ICFEM | 1 |
| 2015 | Optimization of Combinatorial Testing by Incremental SAT SolvingabstractCombinatorial testing aims at reducing the cost of software and system testing by reducing the number of test cases to be executed. We propose an approach for combinatorial testing that generates a set of test cases that is as small as possible, using incremental SAT solving. We present several search-space pruning techniques that further improve our approach. Experiments show a significant improvement of our approach over other SAT-based approaches, and considerable reduction of the number of test cases over other combinatorial testing tools. Akihisa Yamada 0002, Takashi Kitamura 0001, Cyrille Artho, Eun-Hye Choi, Yutaka Oiwa, Armin Biere |
ICST | 3 |
| 2015 | Model-Based Testing of Stateful APIs with ModbatabstractModbat makes testing easier by providing a user-friendly modeling language to describe the behavior of systems, from such a model, test cases are generated and executed. Modbat's domain-specific language is based on Scala, its features include probabilistic and non-deterministic transitions, component models with inheritance, and exceptions. We demonstrate the versatility of Modbat by finding a confirmed defect in the currently latest version of Java, and by testing SAT solvers. Cyrille Artho, Martina Seidl, Quentin Gros, Eun-Hye Choi, Takashi Kitamura 0001, Akira Mori, Rudolf Ramler, Yoriyuki Yamagata |
ASE | 1 |
| 2015 | GRT: Program-Analysis-Guided Random Testing (T)abstractWe propose Guided Random Testing (GRT), which uses static and dynamic analysis to include information on program types, data, and dependencies in various stages of automated test generation. Static analysis extracts knowledge from the system under test. Test coverage is further improved through state fuzzing and continuous coverage analysis. We evaluated GRT on 32 real-world projects and found that GRT outperforms major peer techniques in terms of code coverage (by 13 %) and mutation score (by 9 %). On the four studied benchmarks of Defects4J, which contain 224 real faults, GRT also shows better fault detection capability than peer techniques, finding 147 faults (66 %). Furthermore, in an in-depth evaluation on the latest versions of ten popular real-world projects, GRT successfully detects over 20 unknown defects that were confirmed by developers. Lei Ma 0003, Cyrille Artho, Hiroyuki Sato 0002, Johannes Gmeiner, Rudolf Ramler |
ASE | 2 |
| 2015 | GRT: An Automated Test Generator Using Orchestrated Program AnalysisabstractWhile being highly automated and easy to use, existing techniques of random testing suffer from low code coverage and defect detection ability for practical software applications. Most tools use a pure black-box approach, which does not use knowledge specific to the software under test. Mining and leveraging the information of the software under test can be promising to guide random testing to overcome such limitations. Guided Random Testing (GRT) implements this idea. GRT performs static analysis on software under test to extract relevant knowledge and further combines the information extracted at run-time to guide the whole test generation procedure. GRT is highly configurable, with each of its six program analysis components implemented as a pluggable module whose parameters can be adjusted. Besides generating test cases, GRT also automatically creates a test coverage report. We show our experience in GRT tool development and demonstrate its practical usage using two concrete application scenarios. Lei Ma 0003, Cyrille Artho, Hiroyuki Sato 0002, Johannes Gmeiner, Rudolf Ramler |
ASE | 2 |
| 2015 | Combinatorial Testing for Tree-Structured Test Models with ConstraintsabstractIn this paper, we develop a combinatorial testing technique for tree-structured test models. First, we generalize our previous test models for combinatorial testing based on and-xor trees with constraints limited to a syntactic subset of propositional logic, to allow for constraints in full propositional logic. We prove that the generalized test models are strictly more expressive than the limited ones. Then we develop an algorithm for combinatorial testing for the generalized models, and show its correctness and computational complexity. We apply a tool based on our algorithm to an actual ticket gate system that is used by several large transportation companies in Japan. Experimental results show that our technique outperforms existing techniques. Takashi Kitamura 0001, Akihisa Yamada 0002, Goro Hatayama, Cyrille Artho, Eun-Hye Choi, Thi Bich Ngoc Do, Yutaka Oiwa, Shinya Sakuragi |
QRS | 4 |
| 2015 | Cardinality of UDP Transmission Outcomes
Franz Weitl, Nazim Sebih, Cyrille Artho, Masami Hagiya, Yoshinori Tanabe, Yoriyuki Yamagata, Mitsuharu Yamamoto |
SETTA | 3 |
| 2015 | Preface
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2015 | Preface
Cyrille Artho, Peter Csaba Ölveczky |
Sci. Comput. Program. | 1 |
| 2014 | Efficient testing of software product lines via centralization (short paper)abstractSoftware product line~(SPL) engineering manages families of software products that share common features. However, cost-effective test case generation for an SPL is challenging. Applying existing test case generation techniques to each product variant separately may test common code in a redundant way. Moreover, it is difficult to share the test results among multiple product variants. In this paper, we propose the use of centralization, which combines multiple product variants from the same SPL and generates test cases for the entire system. By taking into account all variants, our technique generally avoids generating redundant test cases for common software components. Our case study on three SPLs shows that compared with testing each variant independently, our technique is more efficient and achieves higher test coverage. Lei Ma 0003, Cyrille Artho, Hiroyuki Sato 0002 |
GPCE | 2 |
| 2014 | Design of Prioritized N-Wise Testing
Eun-Hye Choi, Takashi Kitamura 0001, Cyrille Artho, Yutaka Oiwa |
ICTSS | 3 |
| 2014 | Modular Software Model Checking for Distributed SystemsabstractDistributed systems are complex, being usually composed of several subsystems running in parallel. Concurrent execution and inter-process communication in these systems are prone to errors that are difficult to detect by traditional testing, which does not cover every possible program execution. Unlike testing, model checking can detect such faults in a concurrent system by exploring every possible state of the system. However, most model-checking techniques require that a system be described in a modeling language. Although this simplifies verification, faults may be introduced in the implementation. Recently, some model checkers verify program code at runtime but tend to be limited to stand-alone programs. This paper proposes cache-based model checking, which relaxes this limitation to some extent by verifying one process at a time and running other processes in another execution environment. This approach has been implemented as an extension of Java PathFinder, a Java model checker. It is a scalable and promising technique to handle distributed systems. To support a larger class of distributed systems, a checkpointing tool is also integrated into the verification system. Experimental results on various distributed systems show the capability and scalability of cache-based model checking. Watcharin Leungwattanakit, Cyrille Artho, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto, Koichi Takahashi |
IEEE Trans. Software Eng. | 2 |
| 2013 | The Quest for Precision: A Layered Approach for Data Race Detection in Static Analysis
Jakob Mund, Ralf Huuck, Ansgar Fehnker, Cyrille Artho |
ATVA | 4 |
| 2013 | Software model checking for distributed systems with selector-based, non-blocking communicationabstractMany modern software systems are implemented as client/server architectures, where a server handles multiple clients concurrently. Testing does not cover the outcomes of all possible thread and communication schedules reliably. Software model checking, on the other hand, covers all possible outcomes but is often limited to subsets of commonly used protocols and libraries. Earlier work in cache-based software model checking handles implementations using socket-based TCP/IP networking, with one thread per client connection using blocking input/output. Recently, servers using non-blocking, selector-based input/output have become prevalent. This paper describes our work extending the Java PathFinder extension net-iocache to such software, and the application of our tool to modern server software. Cyrille Artho, Masami Hagiya, Richard Potter, Yoshinori Tanabe, Franz Weitl, Mitsuharu Yamamoto |
ASE | 1 |
| 2012 | Why do software packages conflict?abstractDetermining whether two or more packages cannot be installed together is an important issue in the quality assurance process of package-based distributions. Unfortunately, the sheer number of different configurations to test makes this task particularly challenging, and hundreds of such incompatibilities go undetected by the normal testing and distribution process until they are later reported by a user as bugs that we call “conflict defects”. We performed an extensive case study of conflict defects extracted from the bug tracking systems of Debian and Red Hat. According to our results, conflict defects can be grouped into five main categories. We show that with more detailed package meta-data, about 30 % of all conflict defects could be prevented relatively easily, while another 30 % could be found by targeted testing of packages that share common resources or characteristics. These results allow us to make precise suggestions on how to prevent and detect conflict defects in the future. Cyrille Artho, Kuniyasu Suzaki, Roberto Di Cosmo, Ralf Treinen, Stefano Zacchiroli |
MSR | 1 |
| 2011 | Model checking distributed systems by combining caching and process checkpointingabstractVerification of distributed software systems by model checking is not a straightforward task due to inter-process communication. Many software model checkers only explore the state space of a single multi-threaded process. Recent work proposes a technique that applies a cache to capture communication between the main process and its peers, and allows the model checker to complete state-space exploration. Although previous work handles non-deterministic output in the main process, any peer program is required to produce deterministic output. This paper introduces a process checkpointing tool. The combination of caching and process checkpointing makes it possible to handle non-determinism on both sides of communication. Peer states are saved as checkpoints and restored when the model checker backtracks and produces a request not available in the cache. We also introduce the concept of strategies to control the creation of checkpoints and the overhead caused by the checkpointing tool. Watcharin Leungwattanakit, Cyrille Artho, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto |
ASE | 2 |
| 2011 | Iterative delta debugging
Cyrille Artho |
Int. J. Softw. Tools Technol. Transf. | 1 |
| 2010 | Run-Time Verification of Networked Software
Cyrille Artho |
RV | 1 |
| 2010 | Moving from Logical Sharing of Guest OS to Physical Sharing of Deduplication on Virtual Machine
Kuniyasu Suzaki, Toshiki Yagi, Kengo Iijima, Anh-Quynh Nguyen, Cyrille Artho, Yoshihito Watanebe |
HotSec | 5 |
| 2009 | Cache-Based Model Checking of Networked Applications: From Linear to Branching TimeabstractMany applications are concurrent and communicate over a network. The non-determinism in the thread and communication schedules makes it desirable to model check such systems. However, a simple state space exploration scheme is not applicable, as backtracking results in repeated communication operations. A cache-based approach solves this problem by hiding redundant communication operations from the environment. In this work, we propose a change from a linear-time to a branching-time cache, allowing us to relax restrictions in previous work regarding communication traces that differ between schedules. We successfully applied the new algorithm to real-life programs where a previous solution is not applicable. Cyrille Artho, Watcharin Leungwattanakit, Masami Hagiya, Yoshinori Tanabe, Mitsuharu Yamamoto |
ASE | 1 |
| 2007 | AOP-based automated unit test classification of large benchmarksabstractDespite the availability of a variety of program analysis tools, evaluation of these tools is difficult, as only few benchmark suites exist. Existing benchmark suites lack the uniformity needed for automation of experiments. We introduce the design of a uniform build/installation platform, which constitutes an important part of the solution. This platform is used to manage the build and test process, which is enhanced by a tool that analyzes the structure of unit tests. Benchmark applications lack detailed information about unit tests. Such knowledge is useful: For analysis algorithms that target specific program features, it is desirable to analyze only relevant tests. Using aspect-oriented programming, we wrap test execution and implement a tool providing coverage data of individual unit tests. Furthermore, the wrapper provides a front-end for the selection of subsets of a test suite. We successfully applied our tool to several large programs. This evaluation also gave us interesting insights about the quality of different test suites. Cyrille Artho, Zhongwei Chen, Shinichi Honiden |
COMPSAC (2) | 1 |
| 2007 | Visualization of Concurrent Program ExecutionsabstractVarious program analysis techniques are efficient at discovering failures and properties. However, it is often difficult to evaluate results, such as program traces. This calls for abstraction and visualization tools. We propose an approach based on UML sequence diagrams, addressing shortcomings of such diagrams for concurrency. The resulting visualization is expressive and provides all the necessary information at a glance. Cyrille Artho, Klaus Havelund, Shinichi Honiden |
COMPSAC (2) | 1 |
| 2007 | Model Checking Networked Programs in the Presence of Transmission FailuresabstractSoftware model checkers work directly on single-process programs, but not on multiple processes. Conversion of processes into threads, combined with a network model, allows for model checking distributed applications, but does not cover potential communication failures. This paper contributes a fault model for model checking networked programs. If a naive fault model is used, spurious deadlocks may appear, because certain processes are terminated before they can complete a necessary action. Such spurious deadlocks have to be suppressed, as implemented in our model checker extension. Our approach found several faults in existing applications, and scales well because exceptions generated by our tool can be checked individually. Cyrille Artho, Christian Sommer 0001, Shinichi Honiden |
TASE | 1 |
| 2006 | Enforcer - Efficient Failure Injection
Cyrille Artho, Armin Biere, Shinichi Honiden |
FM | 1 |
| 2006 | Accurate Centralization for Applying Model Checking on Networked ApplicationsabstractSoftware model checkers can be applied directly to single-process programs, which typically are multithreaded. Multi-process applications cannot be model checked directly. While multiple processes can be merged manually into a single one, this process is very labor-intensive and a major obstacle towards model checking of client-server applications. Previous work has automated the merging of multiple applications but mostly omitted network communication. Remote procedure calls were simply mined, creating similar results for simple cases while removing much of the inherent complexities involved. Our goal is a fully transparent replacement of network communication. Other language features were also modeled more precisely than in previous work, resulting in a program that is much closer to the original. This makes our approach suitable for testing, debugging, and software model checking. Due to the increased faithfulness of our approach, we can treat a much larger range of applications than before Cyrille Artho, Pierre-Loïc Garoche |
ASE | 1 |
| 2005 | Combining test case generation and runtime verification
Cyrille Artho, Howard Barringer, Allen Goldberg, Klaus Havelund, Sarfraz Khurshid, Michael R. Lowry, Corina Pasareanu, Grigore Rosu, Koushik Sen, Willem Visser, Richard Washington |
Theor. Comput. Sci. | 1 |
| 2004 | Using Block-Local Atomicity to Detect Stale-Value Concurrency Errors
Cyrille Artho, Klaus Havelund, Armin Biere |
ATVA | 1 |
| 2004 | JNuke: Efficient Dynamic Analysis for Java
Cyrille Artho, Viktor Schuppan, Armin Biere, Pascal Eugster, Marcel Baur, Boris Zweimüller |
CAV | 1 |
| 2004 | Applying Jlint to Space Exploration Software
Cyrille Artho, Klaus Havelund |
VMCAI | 1 |
| 2003 | High-level data racesabstractAbstract Data races are a common problem in concurrent and multi‐threaded programming. Experience shows that the classical notion of a data race is not powerful enough to capture certain types of inconsistencies occurring in practice. This paper investigates data races on a higher abstraction layer. This enables detection of inconsistent uses of shared variables, even if no classical race condition occurs. For example, a data structure representing a coordinate pair may have to be treated atomically. By lifting the meaning of a data race to a higher level, such problems can now be covered. The paper defines the concepts ‘view’ and ‘view consistency’ to give a notation for this novel kind of property. It describes what kinds of errors can be detected with this new definition, and where its limitations are. It also gives a formal guideline for using data structures in a multi‐threaded environment. © US Government copyright Cyrille Artho, Klaus Havelund, Armin Biere |
Softw. Test. Verification Reliab. | 1 |