| |||||||||||||||||||||||||||||||||
סמינר על נושאים במודלים של תוכנה
Seminar |
0368-3349 | ||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
מדעים מדויקים | |||||||||||||||||||||||||||||||||
|
Seminar on Topics in Models of Software Systems
We consider the use of models in software engineering throughout the software development lifecycle. The seminar on Topics in Models of Software Systems will focus on two topics: (1) model inference from execution logs, and (2) combinatorial test design.
(1) Model inference from execution logs: We will study works that intend to infer models of a system, such as finite-state machines, from its execution logs. The extracted models can be used for tasks such as program comprehension and test generation. We will survey selected works in the field of model inference, with a specific focus on models of behavior.
(2) Combinatorial test design: Combinatorial test design is widely used test design methodology supported by many tools. CTD is based on a combinatorial model, consisting of a set of parameters, their respective values, and constraints on the value combinations. A valid test in the test space is dened to be an assignment of one value to each parameter that satises the constraints. A CTD
algorithm automatically constructs a test plan, consisting of a (small) subset of the set of valid tests that covers all valid value combinations of every t parameters, where t is usually a user input. The effectiveness of CTD is based on empirical data that shows that in most cases, the occurrence
of a bug depends on the interaction between a small number of features of the system under test. We will study works dealing with CTD algorithms and with the use of CTD in the context of software evolution.
Attendance is mandatory.