Swaminathan Jayaraman, D. KishorKamath, B. Jayaraman
{"title":"走向程序执行总结:从序列图派生状态图","authors":"Swaminathan Jayaraman, D. KishorKamath, B. Jayaraman","doi":"10.1109/IC3.2014.6897190","DOIUrl":null,"url":null,"abstract":"We propose a summarization technique that provides a clear and concise picture of the history of program execution with respect to entities of interest to a programmer. We develop our technique in the context of JIVE, a tool for Java execution visualization that renders execution states and history using UML object and sequence diagrams respectively. While these notations have been developed for specifying design-time decisions, the distinguishing aspect of our work is that we adapt their use for execution-time. Sequence diagrams tend to be long and unwieldy, and often exhibit a repetitive structure, hence we develop a novel procedure to summarize the sequence diagram in the form a state diagram with finite states. This summarization is user-driven, in that the user annotates the key variables of interest in the source code. This information together with an execution trace of the program for a particular input enables us to systematically construct a state diagram that summarizes the program behavior for that input. Using multiple execution traces, we show how an integrated state summarization can be obtained. Finally, by choosing different sets of variables, the user may view different summarizations, or perspectives, of the execution. This paper presents our technique along with experimental results from summarizing several different program executions in order to illustrate the benefit of our approach.","PeriodicalId":444918,"journal":{"name":"2014 Seventh International Conference on Contemporary Computing (IC3)","volume":"94 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2014-09-15","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"13","resultStr":"{\"title\":\"Towards program execution summarization: Deriving state diagrams from sequence diagrams\",\"authors\":\"Swaminathan Jayaraman, D. KishorKamath, B. Jayaraman\",\"doi\":\"10.1109/IC3.2014.6897190\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"We propose a summarization technique that provides a clear and concise picture of the history of program execution with respect to entities of interest to a programmer. We develop our technique in the context of JIVE, a tool for Java execution visualization that renders execution states and history using UML object and sequence diagrams respectively. While these notations have been developed for specifying design-time decisions, the distinguishing aspect of our work is that we adapt their use for execution-time. Sequence diagrams tend to be long and unwieldy, and often exhibit a repetitive structure, hence we develop a novel procedure to summarize the sequence diagram in the form a state diagram with finite states. This summarization is user-driven, in that the user annotates the key variables of interest in the source code. This information together with an execution trace of the program for a particular input enables us to systematically construct a state diagram that summarizes the program behavior for that input. Using multiple execution traces, we show how an integrated state summarization can be obtained. Finally, by choosing different sets of variables, the user may view different summarizations, or perspectives, of the execution. This paper presents our technique along with experimental results from summarizing several different program executions in order to illustrate the benefit of our approach.\",\"PeriodicalId\":444918,\"journal\":{\"name\":\"2014 Seventh International Conference on Contemporary Computing (IC3)\",\"volume\":\"94 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2014-09-15\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"13\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2014 Seventh International Conference on Contemporary Computing (IC3)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/IC3.2014.6897190\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2014 Seventh International Conference on Contemporary Computing (IC3)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/IC3.2014.6897190","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Towards program execution summarization: Deriving state diagrams from sequence diagrams
We propose a summarization technique that provides a clear and concise picture of the history of program execution with respect to entities of interest to a programmer. We develop our technique in the context of JIVE, a tool for Java execution visualization that renders execution states and history using UML object and sequence diagrams respectively. While these notations have been developed for specifying design-time decisions, the distinguishing aspect of our work is that we adapt their use for execution-time. Sequence diagrams tend to be long and unwieldy, and often exhibit a repetitive structure, hence we develop a novel procedure to summarize the sequence diagram in the form a state diagram with finite states. This summarization is user-driven, in that the user annotates the key variables of interest in the source code. This information together with an execution trace of the program for a particular input enables us to systematically construct a state diagram that summarizes the program behavior for that input. Using multiple execution traces, we show how an integrated state summarization can be obtained. Finally, by choosing different sets of variables, the user may view different summarizations, or perspectives, of the execution. This paper presents our technique along with experimental results from summarizing several different program executions in order to illustrate the benefit of our approach.