Abstract
Inferring behavioral models (e.g., state machines) of software systems is an important element of re-engineering activities. Model inference techniques can be categorized as active or passive learning, constructing models by (dynamically) interacting with systems or (statically) analyzing traces, respectively. Application of those techniques in the industry is, however, hindered by the trade-off between learning time and completeness achieved (active learning) or by incomplete input logs (passive learning). We investigate the learning time/completeness achieved trade-off of active learning with a pilot study at ASML, provider of lithography systems for the semiconductor industry. To resolve the trade-off we advocate extending active learning with execution logs and passive learning results.We apply the extended approach to eighteen components used in ASML TWINSCAN lithography machines. Compared to traditional active learning, our approach significantly reduces the active learning time. Moreover, it is capable of learning the behavior missed by the traditional active learning approach.
Original language | English |
---|---|
Title of host publication | 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering (SANER 2019) |
Editors | Emad Shihab, David Lo, Xinyu Wang |
Place of Publication | Piscataway |
Publisher | Institute of Electrical and Electronics Engineers |
Pages | 253-263 |
Number of pages | 11 |
ISBN (Electronic) | 9781728105918 |
DOIs | |
Publication status | Published - 15 Mar 2019 |
Event | 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019 - Hangzhou, China Duration: 24 Feb 2019 → 27 Feb 2019 Conference number: 26 |
Conference
Conference | 26th IEEE International Conference on Software Analysis, Evolution, and Reengineering, SANER 2019 |
---|---|
Abbreviated title | SANER |
Country/Territory | China |
City | Hangzhou |
Period | 24/02/19 → 27/02/19 |
Keywords
- active learning
- equivalence oracle
- model inference
- passive learning
- reverse engineering
- runtime logs