Analysis and testing of systems based on the goal/actors paradigm

The analysis of the implementation of the system leads to the definition of a number of state and interaction diagrams that can help the understanding of the system, explain the system evolution and allow for an assessment the traceability of the specifications. The test cases to be used for the system will be based on such diagrams and will be defined on the goal-actor based requirements.

We envisage the use of reverse-engineering techniques for the automated identification of the involved entities, specified in the system according to the goal/actor paradigm. Message passing and the dependency relations connecting these entities will be analyzed in order to obtain an explicit representation of the relations among the entities. We will also consider the state transitions of all the involved entities. The final result of this analysis will be of support in the program understanding tasks, by providing valuable high-level information. Our system, by adopting the methodology of reflexion models, will also allow for traceability and consistency analyses with respect to the specifications and the architectural description. The system models extracted from the code will be the starting point for the testing activity. On one side we will provide support for structural testing based on these models, while on the other side we will define techniques for test cases generation from the specifications. The test cases execution will also be tailored to our specific context. The presence of a community of actors with potentially conflicting goals might make the system less easily predictable. In order to overcome this potential problem, we will investigate testing techniques based on the system state and techniques tailored for concurrent systems so that, during the test phase, we can control the execution of the overall system and build, in a deterministic fashion, the oracle for the set of test cases.


ResearchWP1 - Methodology and processWP2 - Specification and analysisWP3 - Verification and ValidationWP4 - Automated planningWP5 - Natural languageWP6 - Analysis and testingWP7 - ToolWP8 - Case study