首页 > 最新文献

Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering最新文献

英文 中文
From software engineering to software systems (invited talk) 从软件工程到软件系统(特邀演讲)
A. Wolf
I began my career in software engineering research and now find myself working more in software systems research. Is there a difference? In this talk I reflect on this question by recalling the stream of ideas, students, and colleagues that have shaped my path. I present an overview of the current projects in which I am involved to understand at a technical level where the two research communities, software engineering and software systems, connect and diverge.
我的职业生涯是从软件工程研究开始的,现在我发现自己更多地从事软件系统研究。有区别吗?在这次演讲中,我通过回忆那些塑造了我人生道路的思想、学生和同事来反思这个问题。我将对我参与的当前项目进行概述,以便在技术层面上理解软件工程和软件系统这两个研究社区之间的联系和分歧。
{"title":"From software engineering to software systems (invited talk)","authors":"A. Wolf","doi":"10.1145/2635868.2684427","DOIUrl":"https://doi.org/10.1145/2635868.2684427","url":null,"abstract":"I began my career in software engineering research and now find myself working more in software systems research. Is there a difference? In this talk I reflect on this question by recalling the stream of ideas, students, and colleagues that have shaped my path. I present an overview of the current projects in which I am involved to understand at a technical level where the two research communities, software engineering and software systems, connect and diverge.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122645350","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
Sherlock: scalable deadlock detection for concurrent programs Sherlock:并发程序的可伸缩死锁检测
Mahdi Eslamimehr, J. Palsberg
We present a new technique to find real deadlocks in concurrent programs that use locks. For 4.5 million lines of Java, our technique found almost twice as many real deadlocks as four previous techniques combined. Among those, 33 deadlocks happened after more than one million computation steps, including 27 new deadlocks. We first use a known technique to find 1275 deadlock candidates and then we determine that 146 of them are real deadlocks. Our technique combines previous work on concolic execution with a new constraint-based approach that iteratively drives an execution towards a deadlock candidate.
我们提出了一种在使用锁的并发程序中发现真正死锁的新技术。对于450万行Java代码,我们的技术发现的真正死锁数量几乎是之前四种技术总和的两倍。其中,33个死锁发生在超过100万计算步骤之后,包括27个新死锁。我们首先使用一种已知的技术找到1275个死锁候选者,然后确定其中146个是真正的死锁。我们的技术结合了先前在concolic执行方面的工作和一种新的基于约束的方法,该方法迭代地推动对死锁候选者的执行。
{"title":"Sherlock: scalable deadlock detection for concurrent programs","authors":"Mahdi Eslamimehr, J. Palsberg","doi":"10.1145/2635868.2635918","DOIUrl":"https://doi.org/10.1145/2635868.2635918","url":null,"abstract":"We present a new technique to find real deadlocks in concurrent programs that use locks. For 4.5 million lines of Java, our technique found almost twice as many real deadlocks as four previous techniques combined. Among those, 33 deadlocks happened after more than one million computation steps, including 27 new deadlocks. We first use a known technique to find 1275 deadlock candidates and then we determine that 146 of them are real deadlocks. Our technique combines previous work on concolic execution with a new constraint-based approach that iteratively drives an execution towards a deadlock candidate.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116846970","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}
引用次数: 62
A tool suite for the model-driven software engineering of cyber-physical systems 一套用于网络物理系统模型驱动软件工程的工具
Stefan Dziwok, Christopher Gerking, Steffen Becker, Sebastian Thiele, Christian Heinzemann, Uwe Pohlmann
Cyber-physical systems, e.g., autonomous cars or trains, interact with their physical environment. As a consequence, they commonly have to coordinate with other systems via complex message communication while realizing safety-critical and real-time tasks. As a result, those systems should be correct by construction. Software architects can achieve this by using the MechatronicUML process and language. This paper presents the MechatronicUML Tool Suite that offers unique features to support the MechatronicUML modeling and analyses tasks.
网络物理系统,如自动驾驶汽车或火车,与其物理环境相互作用。因此,它们通常必须通过复杂的消息通信与其他系统进行协调,同时实现对安全至关重要的实时任务。因此,这些系统的构造应该是正确的。软件架构师可以通过使用MechatronicUML过程和语言来实现这一点。本文介绍了机电一体化uml工具套件,它提供了独特的特性来支持机电一体化uml建模和分析任务。
{"title":"A tool suite for the model-driven software engineering of cyber-physical systems","authors":"Stefan Dziwok, Christopher Gerking, Steffen Becker, Sebastian Thiele, Christian Heinzemann, Uwe Pohlmann","doi":"10.1145/2635868.2661665","DOIUrl":"https://doi.org/10.1145/2635868.2661665","url":null,"abstract":"Cyber-physical systems, e.g., autonomous cars or trains, interact with their physical environment. As a consequence, they commonly have to coordinate with other systems via complex message communication while realizing safety-critical and real-time tasks. As a result, those systems should be correct by construction. Software architects can achieve this by using the MechatronicUML process and language. This paper presents the MechatronicUML Tool Suite that offers unique features to support the MechatronicUML modeling and analyses tasks.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114231989","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}
引用次数: 13
Detecting and preventing the architectural roots of bugs 检测和防止bug的架构根源
Lu Xiao
Numerous techniques have been proposed to locate buggy files in a code base, but the problem of fixing one bug unexpectedly affecting other files is persistent and prevailing. Our recent study revealed that buggy files are usually architecturally connected by architecture issues such as unstable interfaces and modularity violations. We aim to detect and prevent these architecture issues that are the root causes of defects. Our contributions include (1) a new architecture model, Design Rule Space (DRSpace), that can express structural relations, quality, and evolutionary information simultaneously; (2) a method of automatically extracting defect-prone architecture roots by combining static architecture analysis with software revision history data mining. The preliminary application of our approach to dozens of open source and industry projects has demonstrated its significant potential to inform developers about how software defects should be discovered, examined, and handled.
已经提出了许多技术来定位代码库中的错误文件,但是修复一个意外影响其他文件的错误的问题一直存在并且普遍存在。我们最近的研究表明,有bug的文件通常是由架构问题(如不稳定的接口和模块化违反)在架构上连接起来的。我们的目标是检测并防止这些作为缺陷根源的架构问题。我们的贡献包括:(1)一个新的架构模型,设计规则空间(DRSpace),它可以同时表达结构关系、质量和进化信息;(2)将静态架构分析与软件修订历史数据挖掘相结合,自动提取易出现缺陷的架构根的方法。我们的方法在几十个开放源码和工业项目中的初步应用已经证明了它在告知开发人员应该如何发现、检查和处理软件缺陷方面的重要潜力。
{"title":"Detecting and preventing the architectural roots of bugs","authors":"Lu Xiao","doi":"10.1145/2635868.2661679","DOIUrl":"https://doi.org/10.1145/2635868.2661679","url":null,"abstract":"Numerous techniques have been proposed to locate buggy files in a code base, but the problem of fixing one bug unexpectedly affecting other files is persistent and prevailing. Our recent study revealed that buggy files are usually architecturally connected by architecture issues such as unstable interfaces and modularity violations. We aim to detect and prevent these architecture issues that are the root causes of defects. Our contributions include (1) a new architecture model, Design Rule Space (DRSpace), that can express structural relations, quality, and evolutionary information simultaneously; (2) a method of automatically extracting defect-prone architecture roots by combining static architecture analysis with software revision history data mining. The preliminary application of our approach to dozens of open source and industry projects has demonstrated its significant potential to inform developers about how software defects should be discovered, examined, and handled.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114729012","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}
引用次数: 2
Tsmart-GalsBlock: a toolkit for modeling, validation, and synthesis of multi-clocked embedded systems Tsmart-GalsBlock:一个用于多时钟嵌入式系统建模、验证和综合的工具包
Yu Jiang, Hehua Zhang, Huafeng Zhang, Xinyan Zhao, Han Liu, Chengnian Sun, Xiaoyu Song, M. Gu, Jiaguang Sun
The key challenges of the model-driven approach to designing multi-clocked embedded systems are three-fold: (1) how to model local synchronous components and asynchronous communication between components in a single framework, (2) how to ensure the correctness of the model, and (3) how to maintain the consistency between the model and the implementation of the system. In this paper, we present Tsmart, a self-contained toolkit to address these three challenges. Tsmart seamlessly integrates (1) a graphical editor to facilitate the modeling of the complex behaviors and structures in an embedded system, (2) a simulator for interactive graphical simulation to understand and debug the system model, (3) a verication engine to verify the correctness of the system design, and (4) a synthesis engine to automatically generate ecient executable VHDL code from the model. The toolkit has been successfully applied to designing the main control system of a train communication controller, and the system has already been deployed and in operation. The evaluation of Tsmart on this real industrial application demonstrates the eectiveness and the potential of the toolkit.
模型驱动方法设计多时钟嵌入式系统的主要挑战有三个方面:(1)如何在单个框架中对本地同步组件和组件之间的异步通信进行建模;(2)如何确保模型的正确性;(3)如何保持模型与系统实现之间的一致性。在本文中,我们提出了Tsmart,一个独立的工具包来解决这三个挑战。Tsmart无缝集成了(1)图形化编辑器,便于对嵌入式系统中的复杂行为和结构进行建模;(2)交互式图形化仿真模拟器,用于理解和调试系统模型;(3)验证引擎,用于验证系统设计的正确性;(4)合成引擎,用于从模型中自动生成高效的可执行VHDL代码。该工具包已成功应用于列车通信控制器主控系统的设计,并已投入使用。在实际工业应用中对Tsmart的评估表明了该工具包的有效性和潜力。
{"title":"Tsmart-GalsBlock: a toolkit for modeling, validation, and synthesis of multi-clocked embedded systems","authors":"Yu Jiang, Hehua Zhang, Huafeng Zhang, Xinyan Zhao, Han Liu, Chengnian Sun, Xiaoyu Song, M. Gu, Jiaguang Sun","doi":"10.1145/2635868.2661664","DOIUrl":"https://doi.org/10.1145/2635868.2661664","url":null,"abstract":"The key challenges of the model-driven approach to designing multi-clocked embedded systems are three-fold: (1) how to model local synchronous components and asynchronous communication between components in a single framework, (2) how to ensure the correctness of the model, and (3) how to maintain the consistency between the model and the implementation of the system. In this paper, we present Tsmart, a self-contained toolkit to address these three challenges. Tsmart seamlessly integrates (1) a graphical editor to facilitate the modeling of the complex behaviors and structures in an embedded system, (2) a simulator for interactive graphical simulation to understand and debug the system model, (3) a verication engine to verify the correctness of the system design, and (4) a synthesis engine to automatically generate ecient executable VHDL code from the model. The toolkit has been successfully applied to designing the main control system of a train communication controller, and the system has already been deployed and in operation. The evaluation of Tsmart on this real industrial application demonstrates the eectiveness and the potential of the toolkit.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"17 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125635246","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}
引用次数: 10
Solving complex path conditions through heuristic search on induced polytopes 基于诱导多面体的启发式搜索求解复杂路径条件
Peter Dinges, G. Agha
Test input generators using symbolic and concolic execution must solve path conditions to systematically explore a program and generate high coverage tests. However, path conditions may contain complicated arithmetic constraints that are infeasible to solve: a solver may be unavailable, solving may be computationally intractable, or the constraints may be undecidable. Existing test generators either simplify such constraints with concrete values to make them decidable, or rely on strong but incomplete constraint solvers. Unfortunately, simplification yields coarse approximations whose solutions rarely satisfy the original constraint. Moreover, constraint solvers cannot handle calls to native library methods. We show how a simple combination of linear constraint solving and heuristic search can overcome these limitations. We call this technique Concolic Walk. On a corpus of 11 programs, an instance of our Concolic Walk algorithm using tabu search generates tests with two- to three-times higher coverage than simplification-based tools while being up to five-times as efficient. Furthermore, our algorithm improves the coverage of two state-of-the-art test generators by 21% and 32%. Other concolic and symbolic testing tools could integrate our algorithm to solve complex path conditions without having to sacrifice any of their own capabilities, leading to higher overall coverage.
使用符号和集合执行的测试输入生成器必须解决路径条件,以便系统地探索程序并生成高覆盖率的测试。然而,路径条件可能包含复杂的算术约束,这些约束是不可行的:求解器可能不可用,求解可能在计算上难以处理,或者约束可能不可确定。现有的测试生成器要么用具体的值简化这些约束,使其可确定,要么依赖于强大但不完整的约束求解器。不幸的是,简化产生了粗糙的近似,其解很少满足原始约束。此外,约束求解器不能处理对本机库方法的调用。我们展示了线性约束求解和启发式搜索的简单组合如何克服这些限制。我们称这种技术为Concolic Walk。在11个程序的语料库上,使用禁忌搜索的Concolic Walk算法的一个实例生成的测试覆盖率比基于简化的工具高两到三倍,而效率是基于简化的工具的五倍。此外,我们的算法将两个最先进的测试生成器的覆盖率提高了21%和32%。其他concolic和符号测试工具可以集成我们的算法来解决复杂的路径条件,而不必牺牲任何自己的能力,从而获得更高的总体覆盖率。
{"title":"Solving complex path conditions through heuristic search on induced polytopes","authors":"Peter Dinges, G. Agha","doi":"10.1145/2635868.2635889","DOIUrl":"https://doi.org/10.1145/2635868.2635889","url":null,"abstract":"Test input generators using symbolic and concolic execution must solve path conditions to systematically explore a program and generate high coverage tests. However, path conditions may contain complicated arithmetic constraints that are infeasible to solve: a solver may be unavailable, solving may be computationally intractable, or the constraints may be undecidable. Existing test generators either simplify such constraints with concrete values to make them decidable, or rely on strong but incomplete constraint solvers. Unfortunately, simplification yields coarse approximations whose solutions rarely satisfy the original constraint. Moreover, constraint solvers cannot handle calls to native library methods. We show how a simple combination of linear constraint solving and heuristic search can overcome these limitations. We call this technique Concolic Walk. On a corpus of 11 programs, an instance of our Concolic Walk algorithm using tabu search generates tests with two- to three-times higher coverage than simplification-based tools while being up to five-times as efficient. Furthermore, our algorithm improves the coverage of two state-of-the-art test generators by 21% and 32%. Other concolic and symbolic testing tools could integrate our algorithm to solve complex path conditions without having to sacrifice any of their own capabilities, leading to higher overall coverage.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121865839","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}
引用次数: 33
Automatic generation of release notes 自动生成发布说明
Laura Moreno, G. Bavota, M. D. Penta, R. Oliveto, Andrian Marcus, G. Canfora
This paper introduces ARENA (Automatic RElease Notes generAtor), an approach for the automatic generation of release notes. ARENA extracts changes from the source code, summarizes them, and integrates them with information from versioning systems and issue trackers. It was designed based on the manual analysis of 1,000 existing release notes. To evaluate the quality of the ARENA release notes, we performed three empirical studies involving a total of 53 participants (45 professional developers and 8 students). The results indicate that the ARENA release notes are very good approximations of those produced by developers and often include important information that is missing in the manually produced release notes.
本文介绍了一种自动生成发行说明的方法ARENA (Automatic RElease Notes generAtor)。ARENA从源代码中提取变更,总结它们,并将它们与来自版本控制系统和问题跟踪器的信息集成在一起。它是基于对1,000个现有发行说明的手工分析而设计的。为了评估ARENA发行说明的质量,我们进行了三项涉及53名参与者(45名专业开发人员和8名学生)的实证研究。结果表明,ARENA发布说明与开发人员制作的发布说明非常接近,并且经常包含手工制作的发布说明中缺少的重要信息。
{"title":"Automatic generation of release notes","authors":"Laura Moreno, G. Bavota, M. D. Penta, R. Oliveto, Andrian Marcus, G. Canfora","doi":"10.1145/2635868.2635870","DOIUrl":"https://doi.org/10.1145/2635868.2635870","url":null,"abstract":"This paper introduces ARENA (Automatic RElease Notes generAtor), an approach for the automatic generation of release notes. ARENA extracts changes from the source code, summarizes them, and integrates them with information from versioning systems and issue trackers. It was designed based on the manual analysis of 1,000 existing release notes. To evaluate the quality of the ARENA release notes, we performed three empirical studies involving a total of 53 participants (45 professional developers and 8 students). The results indicate that the ARENA release notes are very good approximations of those produced by developers and often include important information that is missing in the manually produced release notes.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"84 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130279996","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}
引用次数: 94
Software developers' perceptions of productivity 软件开发人员对生产力的看法
André N. Meyer, Thomas Fritz, G. Murphy, Thomas Zimmermann
The better the software development community becomes at creating software, the more software the world seems to demand. Although there is a large body of research about measuring and investigating productivity from an organizational point of view, there is a paucity of research about how software developers, those at the front-line of software construction, think about, assess and try to improve their productivity. To investigate software developers' perceptions of software development productivity, we conducted two studies: a survey with 379 professional software developers to help elicit themes and an observational study with 11 professional software developers to investigate emergent themes in more detail. In both studies, we found that developers perceive their days as productive when they complete many or big tasks without significant interruptions or context switches. Yet, the observational data we collected shows our participants performed significant task and activity switching while still feeling productive. We analyze such apparent contradictions in our findings and use the analysis to propose ways to better support software developers in a retrospection and improvement of their productivity through the development of new tools and the sharing of best practices.
软件开发社区在创建软件方面做得越好,世界对软件的需求似乎就越多。尽管有大量的研究是从组织的角度来衡量和调查生产力,但是关于软件开发人员(那些处于软件构建第一线的人)如何思考、评估和尝试提高他们的生产力的研究却很少。为了调查软件开发人员对软件开发生产力的看法,我们进行了两项研究:一项是对379名专业软件开发人员的调查,以帮助引出主题;另一项是对11名专业软件开发人员的观察研究,以更详细地调查突发主题。在这两项研究中,我们都发现,当开发人员在没有明显中断或上下文切换的情况下完成许多或大任务时,他们认为自己的日子是富有成效的。然而,我们收集的观察数据显示,我们的参与者在完成重要的任务和活动转换的同时仍然感到富有成效。我们在我们的发现中分析了这些明显的矛盾,并使用分析来提出更好地支持软件开发人员的方法,通过开发新工具和分享最佳实践来回顾和改进他们的生产力。
{"title":"Software developers' perceptions of productivity","authors":"André N. Meyer, Thomas Fritz, G. Murphy, Thomas Zimmermann","doi":"10.1145/2635868.2635892","DOIUrl":"https://doi.org/10.1145/2635868.2635892","url":null,"abstract":"The better the software development community becomes at creating software, the more software the world seems to demand. Although there is a large body of research about measuring and investigating productivity from an organizational point of view, there is a paucity of research about how software developers, those at the front-line of software construction, think about, assess and try to improve their productivity. To investigate software developers' perceptions of software development productivity, we conducted two studies: a survey with 379 professional software developers to help elicit themes and an observational study with 11 professional software developers to investigate emergent themes in more detail. In both studies, we found that developers perceive their days as productive when they complete many or big tasks without significant interruptions or context switches. Yet, the observational data we collected shows our participants performed significant task and activity switching while still feeling productive. We analyze such apparent contradictions in our findings and use the analysis to propose ways to better support software developers in a retrospection and improvement of their productivity through the development of new tools and the sharing of best practices.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"30 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"117065668","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}
引用次数: 184
Enablers, inhibitors, and perceptions of testing in novice software teams 新手软件团队中测试的推动者、抑制者和感知
Raphael Pham, Stephan Kiesling, Olga Liskin, Leif Singer, K. Schneider
There are many different approaches to testing software, with different benefits for software quality and the development process. Yet, it is not well understood what developers struggle with when getting started with testing - and why some do not test at all or not as much as would be good for their project. This missing understanding keeps us from improving processes and tools to help novices adopt proper testing practices. We conducted a qualitative study with 97 computer science students. Through interviews, we explored their experiences and attitudes regarding testing in a collaborative software project. We found enabling and inhibiting factors for testing activities, the different testing strategies they used, and novices’ perceptions and attitudes of testing. Students push test automation to the end of the project, thus robbing themselves from the advantages of having a test suite during implementation. Students were not convinced of the return of investment in automated tests and opted for laborious manual tests - which they often regretted in the end. Understanding such challenges and opportunities novices face when confronted with adopting testing can help us improve testing processes, company policies, and tools. Our findings provide recommendations that can enable organizations to facilitate the adoption of testing practices by their members.
有许多不同的软件测试方法,对软件质量和开发过程有不同的好处。然而,开发人员在开始测试时遇到的困难是什么,以及为什么有些人根本不测试,或者对他们的项目没有好处。这种缺失的理解使我们无法改进流程和工具来帮助新手采用适当的测试实践。我们对97名计算机科学专业的学生进行了定性研究。通过访谈,我们探索了他们在协作软件项目中测试的经验和态度。我们发现了测试活动的支持和抑制因素,他们使用的不同测试策略,以及新手对测试的看法和态度。学生将测试自动化推到项目的最后,从而剥夺了他们在实现过程中拥有测试套件的优势。学生们不相信自动化测试的投资回报,而选择了费力的手工测试——他们最后常常后悔。理解新手在采用测试时所面临的挑战和机遇可以帮助我们改进测试过程、公司政策和工具。我们的发现提供了一些建议,使组织能够促进其成员采用测试实践。
{"title":"Enablers, inhibitors, and perceptions of testing in novice software teams","authors":"Raphael Pham, Stephan Kiesling, Olga Liskin, Leif Singer, K. Schneider","doi":"10.1145/2635868.2635925","DOIUrl":"https://doi.org/10.1145/2635868.2635925","url":null,"abstract":"There are many different approaches to testing software, with different benefits for software quality and the development process. Yet, it is not well understood what developers struggle with when getting started with testing - and why some do not test at all or not as much as would be good for their project. This missing understanding keeps us from improving processes and tools to help novices adopt proper testing practices. We conducted a qualitative study with 97 computer science students. Through interviews, we explored their experiences and attitudes regarding testing in a collaborative software project. We found enabling and inhibiting factors for testing activities, the different testing strategies they used, and novices’ perceptions and attitudes of testing. Students push test automation to the end of the project, thus robbing themselves from the advantages of having a test suite during implementation. Students were not convinced of the return of investment in automated tests and opted for laborious manual tests - which they often regretted in the end. Understanding such challenges and opportunities novices face when confronted with adopting testing can help us improve testing processes, company policies, and tools. Our findings provide recommendations that can enable organizations to facilitate the adoption of testing practices by their members.","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"29 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124478906","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}
引用次数: 28
Titan: a toolset that connects software architecture with quality analysis Titan:一个连接软件架构和质量分析的工具集
Lu Xiao, Yuanfang Cai, R. Kazman
In this tool demo, we will illustrate our tool---Titan---that supports a new architecture model: design rule spaces (DRSpaces). We will show how Titan can capture both architecture and evolutionary structure and help to bridge the gap between architecture and defect prediction. We will demo how to use our toolset to capture hundreds of buggy files into just a few architecturally related groups, and to reveal architecture issues that contribute to the error-proneness and change-proneness of these groups. Our tool has been used to analyze dozens of large-scale industrial projects, and has demonstrated its ability to provide valuable direction on which parts of the architecture are problematic, and on why, when, and how to refactor. The video demo of Titan can be found at https://art.cs.drexel.edu/~lx52/titan.mp4
在这个工具演示中,我们将演示我们的工具——Titan——它支持一个新的架构模型:设计规则空间(DRSpaces)。我们将展示Titan如何捕获体系结构和进化结构,并帮助弥合体系结构和缺陷预测之间的差距。我们将演示如何使用我们的工具集将数百个有bug的文件捕获到几个体系结构相关的组中,并揭示导致这些组的错误倾向和变更倾向的体系结构问题。我们的工具已经被用于分析几十个大型工业项目,并且已经证明了它在架构的哪些部分有问题,以及为什么、何时以及如何重构方面提供有价值的指导的能力。泰坦的视频演示可以在https://art.cs.drexel.edu/~lx52/titan.mp4上找到
{"title":"Titan: a toolset that connects software architecture with quality analysis","authors":"Lu Xiao, Yuanfang Cai, R. Kazman","doi":"10.1145/2635868.2661677","DOIUrl":"https://doi.org/10.1145/2635868.2661677","url":null,"abstract":"In this tool demo, we will illustrate our tool---Titan---that supports a new architecture model: design rule spaces (DRSpaces). We will show how Titan can capture both architecture and evolutionary structure and help to bridge the gap between architecture and defect prediction. We will demo how to use our toolset to capture hundreds of buggy files into just a few architecturally related groups, and to reveal architecture issues that contribute to the error-proneness and change-proneness of these groups. Our tool has been used to analyze dozens of large-scale industrial projects, and has demonstrated its ability to provide valuable direction on which parts of the architecture are problematic, and on why, when, and how to refactor. The video demo of Titan can be found at https://art.cs.drexel.edu/~lx52/titan.mp4","PeriodicalId":250543,"journal":{"name":"Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering","volume":"37 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-11-11","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128211277","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}
引用次数: 55
期刊
Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering
全部 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