procedural program
Data-driven Verification of Procedural Programs with Integer Arrays
Bouajjani, Ahmed, Boutglay, Wael-Amine, Habermehl, Peter
We address the problem of verifying automatically procedural programs manipulating parametric-size arrays of integers, encoded as a constrained Horn clauses solving problem. We propose a new algorithmic method for synthesizing loop invariants and procedure pre/post-conditions represented as universally quantified first-order formulas constraining the array elements and program variables. We adopt a data-driven approach that extends the decision tree Horn-ICE framework to handle arrays. We provide a powerful learning technique based on reducing a complex classification problem of vectors of integer arrays to a simpler classification problem of vectors of integers . The obtained classifier is generalized to get universally quantified invariants and procedure pre/post-conditions. We have implemented our method and shown its efficiency and competitiveness w.r.t.
On the Testability of BDI Agent Systems (Extended Abstract)
Winikoff, Michael (University of Otago) | Cranefield, Stephen (University of Otago)
Before deploying a software system we need to assure ourselves (and stakeholders) that the system will behave correctly. This assurance is usually done by testing the system. However, it is intuitively obvious that adaptive systems, including agent-based systems, can exhibit complex behaviour, and are thus harder to test. In this paper we examine this "obvious intuition" in the case of Belief-Desire-Intention (BDI) agents, by analysing the number of paths through BDI goal-plan trees. Our analysis confirms quantitatively that BDI agents are hard to test, sheds light on the role of different parameters, and highlights the enormous difference made by failure handling.