{"title":"基于状态设计模式的符号执行软件系统测试方法","authors":"C. Tudose, Radu Opria","doi":"10.1109/SEFM.2010.20","DOIUrl":null,"url":null,"abstract":"The paper reports a new testing method working with state pattern designed software systems. The tests are performed in terms of symbolic execution aiming to identify conditions and values of some input parameters that violate assertions at runtime. The state based architecture of such systems allows a direct mapping of the methods to the transitions of the underlying finite state machine (FSM). In order to identify the methods that contain failing assertions, the Java Path Finder Symbolic Execution framework extension (JPF-SE) is used for an out of context execution of each method. We propose a new algorithm to compute a transition path from the initial state of the system to each faulty transition. The computation is carried out using a backward traversal scheme of the FSM support graph where the JPF-SE symbolically executes each transition of the path. The transition execution performed by JPF-SE yields to the backward propagation of the conditions imposed on the input parameters. The overall capabilities of the proposed algorithm are illustrated with an example.","PeriodicalId":211760,"journal":{"name":"2010 8th IEEE International Conference on Software Engineering and Formal Methods","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2010-09-13","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"A Method for Testing Software Systems Based on State Design Pattern Using Symbolic Execution\",\"authors\":\"C. Tudose, Radu Opria\",\"doi\":\"10.1109/SEFM.2010.20\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"The paper reports a new testing method working with state pattern designed software systems. The tests are performed in terms of symbolic execution aiming to identify conditions and values of some input parameters that violate assertions at runtime. The state based architecture of such systems allows a direct mapping of the methods to the transitions of the underlying finite state machine (FSM). In order to identify the methods that contain failing assertions, the Java Path Finder Symbolic Execution framework extension (JPF-SE) is used for an out of context execution of each method. We propose a new algorithm to compute a transition path from the initial state of the system to each faulty transition. The computation is carried out using a backward traversal scheme of the FSM support graph where the JPF-SE symbolically executes each transition of the path. The transition execution performed by JPF-SE yields to the backward propagation of the conditions imposed on the input parameters. The overall capabilities of the proposed algorithm are illustrated with an example.\",\"PeriodicalId\":211760,\"journal\":{\"name\":\"2010 8th IEEE International Conference on Software Engineering and Formal Methods\",\"volume\":\"1 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2010-09-13\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2010 8th IEEE International Conference on Software Engineering and Formal Methods\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SEFM.2010.20\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2010 8th IEEE International Conference on Software Engineering and Formal Methods","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SEFM.2010.20","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
A Method for Testing Software Systems Based on State Design Pattern Using Symbolic Execution
The paper reports a new testing method working with state pattern designed software systems. The tests are performed in terms of symbolic execution aiming to identify conditions and values of some input parameters that violate assertions at runtime. The state based architecture of such systems allows a direct mapping of the methods to the transitions of the underlying finite state machine (FSM). In order to identify the methods that contain failing assertions, the Java Path Finder Symbolic Execution framework extension (JPF-SE) is used for an out of context execution of each method. We propose a new algorithm to compute a transition path from the initial state of the system to each faulty transition. The computation is carried out using a backward traversal scheme of the FSM support graph where the JPF-SE symbolically executes each transition of the path. The transition execution performed by JPF-SE yields to the backward propagation of the conditions imposed on the input parameters. The overall capabilities of the proposed algorithm are illustrated with an example.