IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
UP-0818596
(2007-06-15)
|
등록번호 |
US-7680645
(2010-04-21)
|
발명자
/ 주소 |
- Li, Yantao
- Sun, Bing
- Ye, Shuguang
- Liu, Guowei
- Zhu, Wenli
- Zhang, Haidong
- Wang, Min
- Wang, Jian
|
출원인 / 주소 |
|
인용정보 |
피인용 횟수 :
3 인용 특허 :
13 |
초록
▼
Described is a technology by which software program feature usage is located within a sequence of commands collected during program usage sessions. For example, feature generally corresponds to a series of commands, such as copy and paste. A visual modeling component is controlled via drag-and-drop
Described is a technology by which software program feature usage is located within a sequence of commands collected during program usage sessions. For example, feature generally corresponds to a series of commands, such as copy and paste. A visual modeling component is controlled via drag-and-drop operations to describe a feature model, which is then compiled by a compiler into a finite state machine. Noise models may be used to exclude any command in the sequence that is irrelevant to the feature usage. A recognition process uses the finite state machine to locate program feature usage within the sequence of recorded commands by matching command sub-sequences corresponding to the feature model via the state machine. An analyzer may then use the located matches to provide an analysis report on feature usage.
대표청구항
▼
What is claimed is: 1. In a computing environment, a system comprising: a compiler receiving a feature model outputted by a modeling component, the feature model having been generated by user interactions with the modeling component to define the feature model, the feature model modeling user-invoc
What is claimed is: 1. In a computing environment, a system comprising: a compiler receiving a feature model outputted by a modeling component, the feature model having been generated by user interactions with the modeling component to define the feature model, the feature model modeling user-invocable commands of an application program that execute a feature of the application program, the compiler compiling the feature model into a finite state machine; a set of data collected during a session of use of the application program by a user, the set of data comprising information identifying commands of the application program interactively invoked by the user, the commands including commands that correspond to the feature, the information also indicating the order in which the commands were invoked by the user during the session; and a recognition process that, after completion of the session, uses the finite state machine to recognize sequences of user invocations of commands in the set of data that correspond to usages of the feature of the application program. 2. The system of claim 1 wherein the modeling component comprises a user interface by which the feature model is built from feature elements via drag-and-drop operations dragging the feature elements onto a graphical representation of the feature model, the feature elements corresponding to the user-invocable commands that execute the feature. 3. The system of claim 2 wherein the feature model is structured such that each feature element is related to at least one other feature element in accordance with their arrangement in the graphical representation. 4. The system of claim 1 wherein the feature model includes a plurality of elements representing the user-invocable commands, the feature model comprising at least a feature element and child elements comprising one or more of a command element, a select element, a repeat element, an enum element or a procedure element. 5. The system of claim 1 further comprising component that prevents processing by the recognition process of indicia of user-invocable commands in the data set determined to be noise according to a noise model used by the component. 6. The system of claim 1 wherein the noise model includes either a user-defined noise model or an undo noise model, or a menu noise model, or any combination of a user-defined noise model, an undo noise model and/or a menu noise model. 7. The system of claim 1 wherein the set of data comprises software quality metrics data. 8. The system of claim 1, wherein finite state machine comprises a start state and an end state and command states, each command state representing a different of the user invocable commands of the feature, a transition representing invocation of a first user invocable command followed by invocation of a second user-invocable command, wherein different paths from the start state to the end state correspond to different sequences of invocation of the user-invocable commands that execute the feature. 9. The system of claim 1 wherein the recognition process locates usages of the feature by determining if sequences of the commands in the dataset match the state machine. 10. The system of claim 9 wherein the recognition process selects, among overlapping sequences of commands in the data set, a longest sequence that matches the finite state machine. 11. The system of claim 1 further comprising an analyzer, wherein the feature usages are analyzed to output statistical information on how the feature is being used, including information comprising either: feature occurrence information corresponding to a number of times the feature occurred in the set of data, feature command count information corresponding to a number of commands in occurrences of the feature, noise command count information corresponding to commands in the located sequences feature that were not necessary to execute the feature, feature length information corresponding to a number of feature commands and noise commands per feature occurrence, session count information corresponding to a number of sessions in which the feature occurred, user count information corresponding to a number of users who used the feature, feature details information corresponding to a command count of each element of the feature, command details information corresponding to a command count of each command with each property, noise model details information corresponding to an exact match occurrence and what counts as noise, feature command paths information corresponding to a number of paths of feature, or feature length distribution information, or any combination of feature occurrence information, feature command count information, noise command count information, feature length information, session count information, user count information, feature details information, command details information, noise model details information, feature command paths information, or feature length distribution information. 12. At least one computer-readable storage medium having computer executable instructions, which when executed by a computing device perform steps comprising: processing a sequence of command invocation records recorded in previously captured sessions of use of a program to recognize a specified feature usage in the sequence, each command invocation record representing and having been generated in response to a user invoking any of a plurality of user commands of the program, the processing including changing states of a finite state machine in accordance with corresponding sequential occurrences of command invocation records, where states of the finite state machine represent respective user commands of the program including at least some of the commands represented by the command invocation records, and using the finite state machine to determine when a command invocation record in the sequence changes the state machine to a terminal state, and storing an indication that the state machine changed to the terminal state 13. The computer-readable storage medium of claim 12 the steps further comprising, continuing processing command invocation records after the state machine changes to the terminal state to attempt to find a longer match of command invocation records. 14. The computer-readable storage medium of claim 12 having further computer-executable instructions comprising, processing subsequent command invocation records in the sequence following the finding of a match. 15. The computer-readable storage medium of claim 12 having further computer-executable instructions comprising, applying at least one noise model to eliminate or skip over at least one command invocation record. 16. The computer-readable storage medium of claim 12 having further computer-executable instructions comprising, based on the finite state machine reaching the terminal state, determining that a feature of the program was executed by a user of the program. 17. A method implemented by a computing device, the method comprising: displaying a graphical user interface by which a feature of a program is described via user interaction with the graphical user interface, and outputting a feature model comprising a model of different combinations of user commands of the program that can be invoked to execute the feature of the program; using the feature model to generate a finite state machine comprised of states re resenting the user commands of the model and comprising transitions between the states according to the model; using the finite state machine to locate usage of the feature within a sequence of command records previously collected during program usage sessions; and applying a noise model to the command records previously collected during program usage to prevent processing of command records by the state machine that have been identified as noise by the noise model. 18. The method of claim 17 wherein the using the finite state machine comprises determining when a command record changes the state machine to a terminal state of the state machine. 19. The method of claim 17 wherein the feature model includes a plurality of elements, comprising at least a feature element and of either a command element, a select element, a repeat element, an enum element, and/or a procedure element. 20. The method of claim 19 wherein the feature model is structured such that each feature element is related to at least one other feature element by their relative positions, wherein the noise model includes at least one of a user-defined noise model, an undo noise model or a menu noise model, or any combination of a user-defined noise model, an undo noise model or a menu noise model, and wherein the compiler further checks for validity of the feature model, or normalizes the finite state machine, or both checks for validity of the feature model and normalizes the finite state machine. 21. One or more computer-readable storage storing information to configure a computer to perform a process, the process comprising: receiving a log of a completed session of user interactions with an application program having been comprised of features and associated interactive user interface elements each individually activatable by a user, the log comprising entries each sequentially indicating which of the user interface elements were activated by the user via a user interaction with the application program, each entry having been generated in response to user interaction with the user interface element identified thereby; processing the log of the completed session with an analysis program that parses the entries of the log and identifies which of the features occur in the log by identifying sequences of entries that the analysis program correlates to respective features thereby identifying same; and storing indicia of the identified features.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.