首页 > 最新文献

2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)最新文献

英文 中文
The iMPAcT Tool: Testing UI Patterns on Mobile Applications 影响工具:在移动应用上测试UI模式
Ines Coimbra Morgado, A. C. Paiva
This paper presents the iMPAcT tool that tests recurring behaviour, i.e., UI Patterns, on mobile applications. This tool is implemented in Java and makes use of Android's APIs UI Automator and UiAutomation. The tool automatically explores a mobile application in order to automatically identify and test UI Patterns. Each UI Pattern has a test strategy, Test Patterns, associated, which is applied when an UI Pattern is found. The approach works on top of a catalogue of UI Patterns, which determines which UI Patterns are to be tested, and what should their correct behaviour be, and may be used for any application.
本文介绍了iMPAcT工具,用于测试移动应用程序上的重复行为,即UI模式。这个工具是用Java实现的,并利用了Android的api UI Automator和UiAutomation。该工具自动探索移动应用程序,以便自动识别和测试UI模式。每个UI模式都有一个相关联的测试策略test Patterns,当发现UI模式时应用该策略。该方法在UI模式目录之上工作,该目录决定了要测试哪些UI模式,以及它们的正确行为应该是什么,并且可以用于任何应用程序。
{"title":"The iMPAcT Tool: Testing UI Patterns on Mobile Applications","authors":"Ines Coimbra Morgado, A. C. Paiva","doi":"10.1109/ASE.2015.96","DOIUrl":"https://doi.org/10.1109/ASE.2015.96","url":null,"abstract":"This paper presents the iMPAcT tool that tests recurring behaviour, i.e., UI Patterns, on mobile applications. This tool is implemented in Java and makes use of Android's APIs UI Automator and UiAutomation. The tool automatically explores a mobile application in order to automatically identify and test UI Patterns. Each UI Pattern has a test strategy, Test Patterns, associated, which is applied when an UI Pattern is found. The approach works on top of a catalogue of UI Patterns, which determines which UI Patterns are to be tested, and what should their correct behaviour be, and may be used for any application.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"37 1","pages":"876-881"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73191232","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 30
A Message-Passing Architecture without Public Ids Using Send-to-Behavior 使用发送到行为的没有公共id的消息传递体系结构
E. Wang, Z. Dang
We explore a novel model of computation based on nodes that have no public addresses (ids). We define nodes as concurrent, message-passing computational entities in an abstract communication medium, similar to the Actor model, but with all public node ids elided. Instead, drawing inspiration from biological systems, we postulate a send-to-behavior language construct to enable anonymous one-way communication. A behavior, defined as a function of input to actions, is also an intensional definition of the subset of nodes that express it. Sending to a behavior is defined to deliver the message to one or more nodes that implement that behavior.
我们探索了一种基于没有公共地址(id)的节点的新型计算模型。我们将节点定义为抽象通信介质中并发的、传递消息的计算实体,类似于Actor模型,但省略了所有公共节点id。相反,从生物系统中汲取灵感,我们假设了一种发送到行为的语言结构,以实现匿名的单向通信。行为被定义为动作输入的函数,也是表达它的节点子集的一个内涵定义。发送到行为的定义是将消息传递到实现该行为的一个或多个节点。
{"title":"A Message-Passing Architecture without Public Ids Using Send-to-Behavior","authors":"E. Wang, Z. Dang","doi":"10.1109/ASE.2015.79","DOIUrl":"https://doi.org/10.1109/ASE.2015.79","url":null,"abstract":"We explore a novel model of computation based on nodes that have no public addresses (ids). We define nodes as concurrent, message-passing computational entities in an abstract communication medium, similar to the Actor model, but with all public node ids elided. Instead, drawing inspiration from biological systems, we postulate a send-to-behavior language construct to enable anonymous one-way communication. A behavior, defined as a function of input to actions, is also an intensional definition of the subset of nodes that express it. Sending to a behavior is defined to deliver the message to one or more nodes that implement that behavior.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"72 1","pages":"902-905"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74065013","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 0
Combining Deep Learning with Information Retrieval to Localize Buggy Files for Bug Reports (N) 结合深度学习和信息检索技术在Bug报告中定位Bug文件(N)
A. Lam, A. Nguyen, H. Nguyen, T. Nguyen
Bug localization refers to the automated process of locating the potential buggy files for a given bug report. To help developers focus their attention to those files is crucial. Several existing automated approaches for bug localization from a bug report face a key challenge, called lexical mismatch, in which the terms used in bug reports to describe a bug are different from the terms and code tokens used in source files. This paper presents a novel approach that uses deep neural network (DNN) in combination with rVSM, an information retrieval (IR) technique. rVSM collects the feature on the textual similarity between bug reports and source files. DNN is used to learn to relate the terms in bug reports to potentially different code tokens and terms in source files and documentation if they appear frequently enough in the pairs of reports and buggy files. Our empirical evaluation on real-world projects shows that DNN and IR complement well to each other to achieve higher bug localization accuracy than individual models. Importantly, our new model, HyLoc, with a combination of the features built from DNN, rVSM, and project's bug-fixing history, achieves higher accuracy than the state-of-the-art IR and machine learning techniques. In half of the cases, it is correct with just a single suggested file. Two out of three cases, a correct buggy file is in the list of three suggested files.
Bug本地化指的是为给定的Bug报告定位潜在Bug文件的自动化过程。帮助开发人员将注意力集中在这些文件上是至关重要的。从bug报告中定位bug的几种现有的自动化方法面临着一个关键的挑战,称为词法不匹配,即bug报告中用于描述bug的术语与源文件中使用的术语和代码标记不同。本文提出了一种将深度神经网络(DNN)与信息检索(IR)技术rVSM相结合的新方法。rVSM收集bug报告和源文件之间的文本相似性特性。DNN用于学习将错误报告中的术语与源文件和文档中可能不同的代码令牌和术语联系起来,如果它们在报告和错误文件对中出现得足够频繁的话。我们对现实世界项目的经验评估表明,DNN和IR可以很好地相互补充,以实现比单个模型更高的bug定位精度。重要的是,我们的新模型HyLoc结合了DNN、rVSM和项目bug修复历史的特征,比最先进的IR和机器学习技术实现了更高的准确性。在一半的情况下,只有一个建议文件是正确的。三分之二的情况下,正确的有bug的文件在三个建议文件的列表中。
{"title":"Combining Deep Learning with Information Retrieval to Localize Buggy Files for Bug Reports (N)","authors":"A. Lam, A. Nguyen, H. Nguyen, T. Nguyen","doi":"10.1109/ASE.2015.73","DOIUrl":"https://doi.org/10.1109/ASE.2015.73","url":null,"abstract":"Bug localization refers to the automated process of locating the potential buggy files for a given bug report. To help developers focus their attention to those files is crucial. Several existing automated approaches for bug localization from a bug report face a key challenge, called lexical mismatch, in which the terms used in bug reports to describe a bug are different from the terms and code tokens used in source files. This paper presents a novel approach that uses deep neural network (DNN) in combination with rVSM, an information retrieval (IR) technique. rVSM collects the feature on the textual similarity between bug reports and source files. DNN is used to learn to relate the terms in bug reports to potentially different code tokens and terms in source files and documentation if they appear frequently enough in the pairs of reports and buggy files. Our empirical evaluation on real-world projects shows that DNN and IR complement well to each other to achieve higher bug localization accuracy than individual models. Importantly, our new model, HyLoc, with a combination of the features built from DNN, rVSM, and project's bug-fixing history, achieves higher accuracy than the state-of-the-art IR and machine learning techniques. In half of the cases, it is correct with just a single suggested file. Two out of three cases, a correct buggy file is in the list of three suggested files.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"47 1","pages":"476-481"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"73519776","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 173
Mutation-Based Fault Localization for Real-World Multilingual Programs (T) 基于突变的多语言程序故障定位(T)
Shin Hong, Byeongcheol Lee, Taehoon Kwak, Yiru Jeon, Bongsuk Ko, Yunho Kim, Moonzoo Kim
Programmers maintain and evolve their software in a variety of programming languages to take advantage of various control/data abstractions and legacy libraries. The programming language ecosystem has diversified over the last few decades, and non-trivial programs are likely to be written in more than a single language. Unfortunately, language interfaces such as Java Native Interface and Python/C are difficult to use correctly and the scope of fault localization goes beyond language boundaries, which makes debugging multilingual bugs challenging. To overcome the aforementioned limitations, we propose a mutation-based fault localization technique for real-world multilingual programs. To improve the accuracy of locating multilingual bugs, we have developed and applied new mutation operators as well as conventional mutation operators. The results of the empirical evaluation for six non-trivial real-world multilingual bugs are promising in that the proposed technique identifies the buggy statements as the most suspicious statements for all six bugs.
程序员用各种编程语言维护和发展他们的软件,以利用各种控制/数据抽象和遗留库。在过去的几十年里,编程语言的生态系统变得多样化了,重要的程序很可能用不止一种语言编写。不幸的是,像Java Native Interface和Python/C这样的语言接口很难正确使用,并且错误定位的范围超出了语言界限,这使得调试多语言错误变得非常困难。为了克服上述局限性,我们提出了一种基于突变的多语言程序故障定位技术。为了提高多语言错误定位的准确性,我们开发并应用了新的变异算子和传统的变异算子。对六个重要的现实世界多语言bug的经验评估结果是有希望的,因为所提出的技术将有bug的语句识别为所有六个bug中最可疑的语句。
{"title":"Mutation-Based Fault Localization for Real-World Multilingual Programs (T)","authors":"Shin Hong, Byeongcheol Lee, Taehoon Kwak, Yiru Jeon, Bongsuk Ko, Yunho Kim, Moonzoo Kim","doi":"10.1109/ASE.2015.14","DOIUrl":"https://doi.org/10.1109/ASE.2015.14","url":null,"abstract":"Programmers maintain and evolve their software in a variety of programming languages to take advantage of various control/data abstractions and legacy libraries. The programming language ecosystem has diversified over the last few decades, and non-trivial programs are likely to be written in more than a single language. Unfortunately, language interfaces such as Java Native Interface and Python/C are difficult to use correctly and the scope of fault localization goes beyond language boundaries, which makes debugging multilingual bugs challenging. To overcome the aforementioned limitations, we propose a mutation-based fault localization technique for real-world multilingual programs. To improve the accuracy of locating multilingual bugs, we have developed and applied new mutation operators as well as conventional mutation operators. The results of the empirical evaluation for six non-trivial real-world multilingual bugs are promising in that the proposed technique identifies the buggy statements as the most suspicious statements for all six bugs.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"50 1","pages":"464-475"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81128724","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 53
FLYAQ: Enabling Non-expert Users to Specify and Generate Missions of Autonomous Multicopters FLYAQ:使非专家用户能够指定和生成自主多直升机的任务
D. Bozhinoski, D. D. Ruscio, I. Malavolta, Patrizio Pelliccione, Massimo Tivoli
Multicopters are increasingly popular since they promise to simplify a myriad of everyday tasks. Currently, vendors provide low-level APIs and basic primitives to program multicopters, making mission development a task-specific and error-prone activity. As a consequence, current approaches are affordable only for users that have a strong technical expertise. Then, software engineering techniques are needed to support the definition, development, and realization of missions at the right level of abstraction and involving teams of autonomous multicopters that guarantee the safety today's users expect. In this paper we describe a tool that enables end-users with no technical expertise, e.g., firefighters and rescue workers, to specify missions for a team of multicopters. The detailed flight plan that each multicopter must perform to accomplish the specified mission is automatically generated by preventing collisions between multicopters and obstacles, and ensuring the preservation of no-fly zones.
多翼直升机越来越受欢迎,因为它们承诺简化无数的日常任务。目前,供应商提供低级api和基本原语来编程多直升机,使任务开发成为特定于任务且容易出错的活动。因此,目前的方法只有具有强大技术专长的用户才能负担得起。然后,需要软件工程技术来支持任务的定义、开发和实现,在正确的抽象层次上,并涉及到保证当今用户期望的安全的自主多旋翼机团队。在本文中,我们描述了一种工具,可以使没有技术专长的最终用户,例如消防员和救援人员,为多架直升机团队指定任务。自动生成多旋翼机为完成指定任务而必须执行的详细飞行计划,以防止多旋翼机与障碍物的碰撞,并确保禁飞区的保留。
{"title":"FLYAQ: Enabling Non-expert Users to Specify and Generate Missions of Autonomous Multicopters","authors":"D. Bozhinoski, D. D. Ruscio, I. Malavolta, Patrizio Pelliccione, Massimo Tivoli","doi":"10.1109/ASE.2015.104","DOIUrl":"https://doi.org/10.1109/ASE.2015.104","url":null,"abstract":"Multicopters are increasingly popular since they promise to simplify a myriad of everyday tasks. Currently, vendors provide low-level APIs and basic primitives to program multicopters, making mission development a task-specific and error-prone activity. As a consequence, current approaches are affordable only for users that have a strong technical expertise. Then, software engineering techniques are needed to support the definition, development, and realization of missions at the right level of abstraction and involving teams of autonomous multicopters that guarantee the safety today's users expect. In this paper we describe a tool that enables end-users with no technical expertise, e.g., firefighters and rescue workers, to specify missions for a team of multicopters. The detailed flight plan that each multicopter must perform to accomplish the specified mission is automatically generated by preventing collisions between multicopters and obstacles, and ensuring the preservation of no-fly zones.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"5 5 1","pages":"801-806"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81225528","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 44
Tracking and Analyzing Cross-Cutting Activities in Developers' Daily Work (N) 跟踪和分析开发人员日常工作中的横切活动(N)
Lingfeng Bao, Zhenchang Xing, Xinyu Wang, Bo Zhou
Developers use many software applications to process large amounts of diverse information in their daily work. The information is usually meaningful beyond the context of an application that manages it. However, as different applications function independently, developers have to manually track, correlate and re-find cross-cutting information across separate applications. We refer to this difficulty as information fragmentation problem. In this paper, we present ActivitySpace, an interapplication activity tracking and analysis framework for tackling information fragmentation problem in software development. ActivitySpace can monitor the developer's activity in many applications at a low enough level to obviate application-specific support while accounting for the ways by which low-level activity information can be effectively aggregated to reflect the developer's activity at higher-level of abstraction. A system prototype has been implemented on Microsoft Windows. Our preliminary user study showed that the ActivitySpace system is promising in supporting interapplication information needs in developers' daily work.
开发人员在日常工作中使用许多软件应用程序来处理大量不同的信息。这些信息通常在管理它的应用程序的上下文中是有意义的。然而,由于不同的应用程序独立运行,开发人员必须手动跟踪、关联和重新查找跨不同应用程序的横切信息。我们把这种困难称为信息碎片问题。在本文中,我们提出了ActivitySpace,一个用于解决软件开发中的信息碎片化问题的应用程序间活动跟踪和分析框架。ActivitySpace可以在足够低的级别上监视许多应用程序中的开发人员活动,以避免特定于应用程序的支持,同时考虑到可以有效地聚合低级活动信息以反映高级抽象级别上的开发人员活动的方法。系统原型已在Microsoft Windows上实现。我们的初步用户研究表明,ActivitySpace系统在支持开发人员日常工作中的应用程序间信息需求方面很有希望。
{"title":"Tracking and Analyzing Cross-Cutting Activities in Developers' Daily Work (N)","authors":"Lingfeng Bao, Zhenchang Xing, Xinyu Wang, Bo Zhou","doi":"10.1109/ASE.2015.43","DOIUrl":"https://doi.org/10.1109/ASE.2015.43","url":null,"abstract":"Developers use many software applications to process large amounts of diverse information in their daily work. The information is usually meaningful beyond the context of an application that manages it. However, as different applications function independently, developers have to manually track, correlate and re-find cross-cutting information across separate applications. We refer to this difficulty as information fragmentation problem. In this paper, we present ActivitySpace, an interapplication activity tracking and analysis framework for tackling information fragmentation problem in software development. ActivitySpace can monitor the developer's activity in many applications at a low enough level to obviate application-specific support while accounting for the ways by which low-level activity information can be effectively aggregated to reflect the developer's activity at higher-level of abstraction. A system prototype has been implemented on Microsoft Windows. Our preliminary user study showed that the ActivitySpace system is promising in supporting interapplication information needs in developers' daily work.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"1 1","pages":"277-282"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"83866198","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 14
Static Window Transition Graphs for Android (T) Android的静态窗口转换图(T)
Shengqian Yang, Hailong Zhang, Haowei Wu, Yan Wang, Dacong Yan, A. Rountev
This work develops a static analysis to create a model of the behavior of an Android application's GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the careful modeling of the stack of currently-active windows, the changes to this stack, and the effects of callbacks related to these changes. To the best of our knowledge, this is the first detailed study of this important static analysis problem for Android. We develop novel analysis algorithms for WTG construction and traversal, based on this modeling of the window stack. We also describe an application of the WTG for GUI test generation, using path traversals. The evaluation of the proposed algorithms indicates their effectiveness and practicality.
这项工作开发了一个静态分析来创建一个Android应用程序GUI的行为模型。我们提出了窗口转换图(WTG),一个表示可能的GUI窗口序列及其相关事件和回调的模型。我们工作的一个关键组成部分和贡献是仔细建模当前活动窗口的堆栈、对该堆栈的更改以及与这些更改相关的回调的影响。据我们所知,这是第一次详细研究这个重要的Android静态分析问题。基于窗口堆栈的建模,我们开发了新的WTG构建和遍历分析算法。我们还描述了使用路径遍历生成GUI测试的WTG应用程序。对算法的评价表明了算法的有效性和实用性。
{"title":"Static Window Transition Graphs for Android (T)","authors":"Shengqian Yang, Hailong Zhang, Haowei Wu, Yan Wang, Dacong Yan, A. Rountev","doi":"10.1109/ASE.2015.76","DOIUrl":"https://doi.org/10.1109/ASE.2015.76","url":null,"abstract":"This work develops a static analysis to create a model of the behavior of an Android application's GUI. We propose the window transition graph (WTG), a model representing the possible GUI window sequences and their associated events and callbacks. A key component and contribution of our work is the careful modeling of the stack of currently-active windows, the changes to this stack, and the effects of callbacks related to these changes. To the best of our knowledge, this is the first detailed study of this important static analysis problem for Android. We develop novel analysis algorithms for WTG construction and traversal, based on this modeling of the window stack. We also describe an application of the WTG for GUI test generation, using path traversals. The evaluation of the proposed algorithms indicates their effectiveness and practicality.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"16 1","pages":"658-668"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"88189785","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 69
A Generic Framework for Concept-Based Exploration of Semi-Structured Software Engineering Data 半结构化软件工程数据基于概念探索的通用框架
Gillian J. Greene
Software engineering meta-data (SE data), such as revision control data, Github project data or test reports, is typically semi-structured, it comprises a mixture of formatted and free-text fields and is often self-describing. Semi-structured SE data cannot be queried in a SQL-like manner because of its lack of structure. Consequently, there are a variety of customized tools built to analyze specific datasets but these do not generalize. We propose to develop a generic framework for exploration and querying of semi-structured SE data. Our approach investigates the use of a formal concept lattice as a universal data structure and a tag cloud as an intuitive interface to support data exploration.
软件工程元数据(SE数据),例如修订控制数据、Github项目数据或测试报告,通常是半结构化的,它包含格式化和自由文本字段的混合,并且通常是自描述的。半结构化SE数据不能以类似sql的方式查询,因为它缺乏结构。因此,有各种定制的工具来分析特定的数据集,但这些工具并不能泛化。我们建议开发一个通用的框架来探索和查询半结构化的SE数据。我们的方法研究了形式化概念格作为通用数据结构和标签云作为支持数据探索的直观界面的使用。
{"title":"A Generic Framework for Concept-Based Exploration of Semi-Structured Software Engineering Data","authors":"Gillian J. Greene","doi":"10.1109/ASE.2015.34","DOIUrl":"https://doi.org/10.1109/ASE.2015.34","url":null,"abstract":"Software engineering meta-data (SE data), such as revision control data, Github project data or test reports, is typically semi-structured, it comprises a mixture of formatted and free-text fields and is often self-describing. Semi-structured SE data cannot be queried in a SQL-like manner because of its lack of structure. Consequently, there are a variety of customized tools built to analyze specific datasets but these do not generalize. We propose to develop a generic framework for exploration and querying of semi-structured SE data. Our approach investigates the use of a formal concept lattice as a universal data structure and a tag cloud as an intuitive interface to support data exploration.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"41 1","pages":"894-897"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77122921","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 6
Divide-and-Conquer Approach for Multi-phase Statistical Migration for Source Code (T) 分而治之的源代码多阶段统计迁移方法(T)
A. Nguyen, T. Nguyen, T. Nguyen
Prior research shows that directly applying phrase-based SMT on lexical tokens to migrate Java to C# produces much semantically incorrect code. A key limitation is the use of sequences in phrase-based SMT to model and translate source code with well-formed structures. We propose mppSMT, a divide-and-conquer technique to address that with novel training and migration algorithms using phrase-based SMT in three phases. First, mppSMT treats a program as a sequence of syntactic units and maps/translates such sequences in two languages to one another. Second, with a syntax-directed fashion, it deals with the tokens within syntactic units by encoding them with semantic symbols to represent their data and token types. This encoding via semantic symbols helps better migration of API usages. Third, the lexical tokens corresponding to each sememe are mapped or migrated. The resulting sequences of tokens are merged together to form the final migrated code. Such divide-and-conquer and syntax-direction strategies enable phrase-based SMT to adapt well to syntactical structures in source code, thus, improving migration accuracy. Our empirical evaluation on several real-world systems shows that 84.8 -- 97.9% and 70 -- 83% of the migrated methods are syntactically and semantically correct, respectively. 26.3 -- 51.2% of total migrated methods are exactly matched to the human-written C# code in the oracle. Compared to Java2CSharp, a rule-based migration tool, it achieves higher semantic accuracy from 6.6 -- 57.7% relatively. Importantly, it does not require manual labeling for training data or manual definition of rules.
先前的研究表明,直接在词法标记上应用基于短语的SMT将Java迁移到c#会产生许多语义上不正确的代码。一个关键的限制是在基于短语的SMT中使用序列来建模和翻译具有良好结构的源代码。我们提出了mppSMT,一种分而治之的技术,通过使用基于短语的SMT分三个阶段的新颖训练和迁移算法来解决这一问题。首先,mppSMT将程序视为语法单元序列,并用两种语言将这些序列相互映射/翻译。其次,使用语法导向的方式,它处理语法单元中的标记,方法是用语义符号对它们进行编码,以表示它们的数据和标记类型。这种通过语义符号进行的编码有助于更好地迁移API用法。第三,对每个义素对应的词法记号进行映射或迁移。生成的令牌序列合并在一起,形成最终的迁移代码。这种分而治之和语法方向策略使基于短语的SMT能够很好地适应源代码中的语法结构,从而提高迁移的准确性。我们在几个实际系统上的经验评估表明,迁移的方法分别有84.8—97.9%和70—83%是语法和语义正确的。26.3—51.2%的迁移方法与oracle中人工编写的c#代码完全匹配。与基于规则的迁移工具Java2CSharp相比,它实现了更高的语义准确度,相对而言为6.6—57.7%。重要的是,它不需要手动标记训练数据或手动定义规则。
{"title":"Divide-and-Conquer Approach for Multi-phase Statistical Migration for Source Code (T)","authors":"A. Nguyen, T. Nguyen, T. Nguyen","doi":"10.1109/ASE.2015.74","DOIUrl":"https://doi.org/10.1109/ASE.2015.74","url":null,"abstract":"Prior research shows that directly applying phrase-based SMT on lexical tokens to migrate Java to C# produces much semantically incorrect code. A key limitation is the use of sequences in phrase-based SMT to model and translate source code with well-formed structures. We propose mppSMT, a divide-and-conquer technique to address that with novel training and migration algorithms using phrase-based SMT in three phases. First, mppSMT treats a program as a sequence of syntactic units and maps/translates such sequences in two languages to one another. Second, with a syntax-directed fashion, it deals with the tokens within syntactic units by encoding them with semantic symbols to represent their data and token types. This encoding via semantic symbols helps better migration of API usages. Third, the lexical tokens corresponding to each sememe are mapped or migrated. The resulting sequences of tokens are merged together to form the final migrated code. Such divide-and-conquer and syntax-direction strategies enable phrase-based SMT to adapt well to syntactical structures in source code, thus, improving migration accuracy. Our empirical evaluation on several real-world systems shows that 84.8 -- 97.9% and 70 -- 83% of the migrated methods are syntactically and semantically correct, respectively. 26.3 -- 51.2% of total migrated methods are exactly matched to the human-written C# code in the oracle. Compared to Java2CSharp, a rule-based migration tool, it achieves higher semantic accuracy from 6.6 -- 57.7% relatively. Importantly, it does not require manual labeling for training data or manual definition of rules.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"48 1","pages":"585-596"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"74093855","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 58
TCA: An Efficient Two-Mode Meta-Heuristic Algorithm for Combinatorial Test Generation (T) TCA:一种有效的组合测试生成(T)的双模式元启发式算法
Jinkun Lin, Chuan Luo, Shaowei Cai, Kaile Su, Dan Hao, Lu Zhang
Covering arrays (CAs) are often used as test suites for combinatorial interaction testing to discover interaction faults of real-world systems. Most real-world systems involve constraints, so improving algorithms for covering array generation (CAG) with constraints is beneficial. Two popular methods for constrained CAG are greedy construction and meta-heuristic search. Recently, a meta-heuristic framework called two-mode local search has shown great success in solving classic NPhard problems. We are interested whether this method is also powerful in solving the constrained CAG problem. This work proposes a two-mode meta-heuristic framework for constrained CAG efficiently and presents a new meta-heuristic algorithm called TCA. Experiments show that TCA significantly outperforms state-of-the-art solvers on 3-way constrained CAG. Further experiments demonstrate that TCA also performs much better than its competitors on 2-way constrained CAG.
覆盖阵列(ca)通常用作组合交互测试的测试套件,以发现现实系统的交互故障。大多数现实世界的系统都涉及到约束,因此改进算法,用约束覆盖阵列生成(CAG)是有益的。求解约束CAG的两种常用方法是贪心构造和元启发式搜索。最近,一种称为双模式局部搜索的元启发式框架在解决经典NPhard问题方面取得了巨大成功。我们感兴趣的是,该方法在求解约束CAG问题方面是否也很强大。本文提出了一种有效的约束CAG双模式元启发式框架,并提出了一种新的元启发式算法TCA。实验表明,在3路约束CAG上,TCA显著优于最先进的求解器。进一步的实验表明,TCA在双向约束CAG上也比竞争对手表现得更好。
{"title":"TCA: An Efficient Two-Mode Meta-Heuristic Algorithm for Combinatorial Test Generation (T)","authors":"Jinkun Lin, Chuan Luo, Shaowei Cai, Kaile Su, Dan Hao, Lu Zhang","doi":"10.1109/ASE.2015.61","DOIUrl":"https://doi.org/10.1109/ASE.2015.61","url":null,"abstract":"Covering arrays (CAs) are often used as test suites for combinatorial interaction testing to discover interaction faults of real-world systems. Most real-world systems involve constraints, so improving algorithms for covering array generation (CAG) with constraints is beneficial. Two popular methods for constrained CAG are greedy construction and meta-heuristic search. Recently, a meta-heuristic framework called two-mode local search has shown great success in solving classic NPhard problems. We are interested whether this method is also powerful in solving the constrained CAG problem. This work proposes a two-mode meta-heuristic framework for constrained CAG efficiently and presents a new meta-heuristic algorithm called TCA. Experiments show that TCA significantly outperforms state-of-the-art solvers on 3-way constrained CAG. Further experiments demonstrate that TCA also performs much better than its competitors on 2-way constrained CAG.","PeriodicalId":6586,"journal":{"name":"2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)","volume":"4 1","pages":"494-505"},"PeriodicalIF":0.0,"publicationDate":"2015-11-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"80280013","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
引用次数: 56
期刊
2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1