Cong Liu, B. V. Dongen, Nour Assy, Wil M.P. van der Aalst
{"title":"从软件执行数据中发现组件行为","authors":"Cong Liu, B. V. Dongen, Nour Assy, Wil M.P. van der Aalst","doi":"10.1109/SSCI.2016.7849947","DOIUrl":null,"url":null,"abstract":"Tremendous amounts of data can be recorded during software execution. This provides valuable information on software runtime analysis. Many crashes and exceptions may occur, and it is a real challenge to understand how software is behaving. Software is usually composed of various components. A component is a nearly independent part of software that full-fills a clear function. Process mining aims to discover, monitor and improve real processes by extracting knowledge from event logs. This paper presents an approach to utilize process mining as a tool to discover the real behavior of software and analyze it. The unstructured software execution data may be too complex, involving multiple interleaved components, etc. Applying existing process mining techniques results in spaghetti-like models with no clear structure and no valuable information that can be easily understood by end. In this paper, we start with the observation that software is composed of components and we use this information to decompose the problem into smaller independent ones by discovering a behavioral model per component. Through experimental analysis, we illustrate that the proposed approach facilitates the discovery of more understandable software models. All proposed approaches have been implemented in the open-source process mining toolkit ProM.","PeriodicalId":120288,"journal":{"name":"2016 IEEE Symposium Series on Computational Intelligence (SSCI)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2016-12-06","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"41","resultStr":"{\"title\":\"Component behavior discovery from software execution data\",\"authors\":\"Cong Liu, B. V. Dongen, Nour Assy, Wil M.P. van der Aalst\",\"doi\":\"10.1109/SSCI.2016.7849947\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Tremendous amounts of data can be recorded during software execution. This provides valuable information on software runtime analysis. Many crashes and exceptions may occur, and it is a real challenge to understand how software is behaving. Software is usually composed of various components. A component is a nearly independent part of software that full-fills a clear function. Process mining aims to discover, monitor and improve real processes by extracting knowledge from event logs. This paper presents an approach to utilize process mining as a tool to discover the real behavior of software and analyze it. The unstructured software execution data may be too complex, involving multiple interleaved components, etc. Applying existing process mining techniques results in spaghetti-like models with no clear structure and no valuable information that can be easily understood by end. In this paper, we start with the observation that software is composed of components and we use this information to decompose the problem into smaller independent ones by discovering a behavioral model per component. Through experimental analysis, we illustrate that the proposed approach facilitates the discovery of more understandable software models. All proposed approaches have been implemented in the open-source process mining toolkit ProM.\",\"PeriodicalId\":120288,\"journal\":{\"name\":\"2016 IEEE Symposium Series on Computational Intelligence (SSCI)\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2016-12-06\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"41\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2016 IEEE Symposium Series on Computational Intelligence (SSCI)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/SSCI.2016.7849947\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2016 IEEE Symposium Series on Computational Intelligence (SSCI)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SSCI.2016.7849947","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Component behavior discovery from software execution data
Tremendous amounts of data can be recorded during software execution. This provides valuable information on software runtime analysis. Many crashes and exceptions may occur, and it is a real challenge to understand how software is behaving. Software is usually composed of various components. A component is a nearly independent part of software that full-fills a clear function. Process mining aims to discover, monitor and improve real processes by extracting knowledge from event logs. This paper presents an approach to utilize process mining as a tool to discover the real behavior of software and analyze it. The unstructured software execution data may be too complex, involving multiple interleaved components, etc. Applying existing process mining techniques results in spaghetti-like models with no clear structure and no valuable information that can be easily understood by end. In this paper, we start with the observation that software is composed of components and we use this information to decompose the problem into smaller independent ones by discovering a behavioral model per component. Through experimental analysis, we illustrate that the proposed approach facilitates the discovery of more understandable software models. All proposed approaches have been implemented in the open-source process mining toolkit ProM.