Integrating Profiling into Debugging
暂无分享,去创建一个
Integration of tests and validation into the development process of MAS Outline of the presentation Introduction Agents metaphor and software debugging The agent level Group Level Social level ACLAnalyser INGENIAS Our proposal Conclusions Bibliography Integration of tests and validation into the development process of MAS Introduction Defects in software What are defects? undesired behavior that we want to detect and solve, caused by imperfect code It is not correct to always blame the programmer when bugs are found in the code Software is very complex, there are many sources of error The Y2K problem Faults in run time at systems like CORBA or RMI Dialogues between agents Integration of tests and validation into the development process of MAS Introduction Defect, fault, infection Integration of tests and validation into the development process of MAS Introduction Testing as a mean to discover defects in the code With testing it is possible for a code to behave properly but it still may have defects The goal of testing a code is not to demonstrate that it behaves as expected: it is to demonstrate that software has errors!! Following Meyers [Mye79], almost all times it is impossible to demonstrate that a code has no errors (the rest of the times, it is theorically but not practically) We have to find a level of guarantee enough to assume that the code will behave as expected Integration of tests and validation into the development process of MAS Introduction Two approaches for testing Depending on how we see the software Black box The only tests set that may offer some guarantee of detecting a right behavior is the one that includes all possible inputs to the program White box Tests should follow all possible data flows within the code. Integration of tests and validation into the development process of MAS Introduction Typical elements in software tests Tests usually are perfomed by hand Regression tests it consists on the test done after performing some correction to the software of a functional improvement, and so try to detect some collateral effect [Mye79] Example of non structured approachd: JUnit Example of a structured approach: included in MDD (Model Driven Development) Integration of tests and validation into the development process of MAS Introduction Structured software tests The notion refers to tests integrated into the development process and assistes by a methodology Model Driven Development (MDD) is being the base platform for …