DocumentCode :
2516139
Title :
Identifying State Transitions and their Functions in Source Code
Author :
Walkinshaw, Neil ; Bogdanov, Kirill ; Holcombe, Mike
Author_Institution :
Dept. of Comput. Sci., Univ. of Sheffield
fYear :
2006
fDate :
29-31 Aug. 2006
Firstpage :
49
Lastpage :
58
Abstract :
Finite state machine specifications form the basis for a number of rigorous state-based testing techniques and can help to understand program behaviour. Unfortunately they are rarely maintained during software development, which means that these benefits can rarely be fully exploited. This paper describes a technique that, given a set of states that are of interest to a developer, uses symbolic execution to reverse-engineer state transitions from source code. A particularly novel aspect of our approach is that, besides determining whether or not a state transition can take place, it also precisely identifies the path(s) through the source code that govern a transition. The technique has been implemented as a prototype, enabling a preliminary evaluation of our technique with respect to real software systems
Keywords :
finite state machines; formal specification; program testing; program verification; reverse engineering; software maintenance; finite state machine specification; program behaviour understanding; reverse-engineering; software maintenance; source code analysis; state transition identification; state-based testing technique; symbolic execution; Automata; Binary search trees; Computer science; Electronic mail; Power system modeling; Programming; Reverse engineering; Software maintenance; Software prototyping; System testing;
fLanguage :
English
Publisher :
ieee
Conference_Titel :
Testing: Academic and Industrial Conference - Practice And Research Techniques, 2006. TAIC PART 2006. Proceedings
Conference_Location :
Windsor
Print_ISBN :
0-7695-2672-1
Type :
conf
DOI :
10.1109/TAIC-PART.2006.12
Filename :
1691669
Link To Document :
بازگشت