{"title":"Lightweight tool coordination: Path∗ — A minimal framework for tool coordination","authors":"R. D. McKenzie, D. Perry","doi":"10.1109/TOPI.2013.6597195","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597195","url":null,"abstract":"We present a lightweight tool for coordinating tool usage in a structured and unobtrusive manner allowing for the formal description and implementation of development cycles with minimal human intervention. This tool, here and after referred to as “Path*” seeks to provide a minimal yet powerful framework for tool coordination by scripting actions to be triggered on events such as disk writes to a project directory and version control system commits. These events execute user-defined scripts for the purpose of automating tasks such as partial rebuilds and style checking in an IDE and platform independent framework.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"9 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127864847","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}
{"title":"Integrating S6 code search and Code Bubbles","authors":"S. Reiss","doi":"10.1109/TOPI.2013.6597190","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597190","url":null,"abstract":"We wanted to provide a tool for doing code search over open source repositories as part of the Code Bubbles integrated development environment. Integrating code search as a plug-in to Code Bubbles required substantial changes to the S6 code search engine and the development of appropriate user interfaces in Code Bubbles. After briefly reviewing Code Bubbles and the S6 search engine, this paper describes the integration strategy, the front end for code search, the modifications to the code search engine to handle context-based search, and the user interface for handling the results of the search.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"61 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132837678","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}
{"title":"A visual studio plug-in for CProver","authors":"M. Seghir, D. Kroening","doi":"10.1109/TOPI.2013.6597193","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597193","url":null,"abstract":"In recent years, automatic software verification has emerged as a complementary approach to program testing for enhancing software quality. Finding bugs is the ultimate aim of software verification tools. How do we best support the programmer who has to diagnose and understand those bugs? Unfortunately, most of the existing tools do not offer enough support for error diagnosis. We have developed a plug-in which implements a graphical user interface for the CProver tools within the Visual Studio IDE. Our plug-in enables visual debugging and error trace simulating within C programs as well as co-debugging C programs in tandem with wave-form views of hardware designs. Another feature of our plug-in is background verification. Each time a program source is saved, the verification process is silently triggered in background. If an error is found, its location is highlighted in the program. The user interacts directly with the program source to obtain information about the error.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"47 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125025772","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}
Tiago Lima, T. Carneiro, Sergio Faria, Pablo Silva, Miguel Pessoa
{"title":"TerraME GIMS: An Eclipse plug-in for environmental modeling","authors":"Tiago Lima, T. Carneiro, Sergio Faria, Pablo Silva, Miguel Pessoa","doi":"10.1109/TOPI.2013.6597192","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597192","url":null,"abstract":"TerraME is a platform for modeling and simulation of environmental systems that offers a conceptual basis and services to build environmental models through a high-level programming language called Terra Modeling Language. However, the use of a programming language is still a limiting factor since its main users are researchers with different backgrounds who usually lack basic knowledge of algorithms and programming techniques. So, this work presents the development of TerraME GIMS, an Eclipse plug-in for environmental systems modeling through visual metaphors that graphically represent the model.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"40 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115195853","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}
{"title":"A rigorous methodology for analyzing and designing plug-ins","authors":"Marieta V. Fasie, A. Haxthausen, J. Kiniry","doi":"10.1109/TOPI.2013.6597194","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597194","url":null,"abstract":"Today, GUI plug-ins development is typically done in a very ad-hoc way, where developers dive directly into implementation. Without any prior analysis and design, plug-ins are often flaky, unreliable, difficult to maintain and extend with new functionality, and have inconsistent user interfaces. This paper addresses these problems by describing a rigorous methodology for analyzing and designing plug-ins. The methodology is grounded in the Extended Business Object Notation (EBON) and covers informal analysis and design of features, GUI, actions, and scenarios, formal architecture design, including behavioral semantics, and validation. The methodology is illustrated via a case study whose focus is an Eclipse environment for the RAISE formal method's tool suite.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"24 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115472232","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}
{"title":"Challenges in developing a software architecture evolution tool as a plug-in","authors":"Jeffrey M. Barnes, D. Garlan","doi":"10.1109/TOPI.2013.6597188","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597188","url":null,"abstract":"Recent research has developed a theoretical basis for providing software architects with better support for planning and carrying out major evolutions of software systems. However, these theoretical models have yet to be implemented in a complete, integrated tool. In this paper, we consider some of the challenges involved in developing such a tool as a plug-in to an existing architecture modeling framework. We present an experience report based on the development of a prototype architecture evolution tool as a plug-in to MagicDraw, a commercial UML tool. We find that there are many practical obstacles to developing tools for architecture evolution modeling as plug-ins, and we discuss some of the key factors that plug-in developers should weigh when considering frameworks.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127068123","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}
{"title":"Developing a domain-specific plug-in for a modelling platform: The good, the bad, the ugly","authors":"Lionel Montrieux, Y. Yu, M. Wermelinger","doi":"10.1109/TOPI.2013.6597186","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597186","url":null,"abstract":"Domain-Specific Modelling Languages (DSML) allow software engineers to use the techniques and tools of Model-Driven Engineering (MDE) to express, represent and analyse a particular domain. By defining DSMLs as UML profiles, i.e. domain-specific extensions of the UML metamodel, development time for DSMLs can be greatly reduced by extending existing UML tools. In this paper, we reflect on our own experience in building rbacUML, a DSML for Role-Based Access Control modelling and analysis, as a plugin for a UML modelling platform. We describe what motivated our choice, and discuss the advantages and drawbacks of using an existing platform to develop a DSML on top of UML and additional analysis tooling.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116994343","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}
{"title":"ReFit: A Fit test maintenance plug-in for the Eclipse refactoring plug-in","authors":"Michael Druk, Martin Kropp","doi":"10.1109/TOPI.2013.6597187","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597187","url":null,"abstract":"The Fit framework is a widely established tool for automated acceptance test-driven development (ATDD). Fit stores the test specification separate from the test fixture code in an easily human readable and editable tabular form in HTML format. Additional tools like the FitPro plugin or FitN esse support the writing of test specifications and test fixtures from within the Eclipse IDE or the Web. With the increasing popularity of agile test-driven software development, maintenance of the evolving and growing test base has become an important issue. However, there has been no support yet for automated refactoring of Fit test cases. In a recent research project, we developed the Eclipse plugin ReFit for automated refactoring of Fit test cases. Fit test refactoring can occur due to changing requirements or changing Java code, which in either case means a cross-language refactoring to keep test specification and test fixture in sync. In this paper the concept for the development of the ReFit Eclipse Plugin is described, which significantly reduces the effort for Fit test maintenance and makes refactoring less error prone. Besides a tight integration into the existing Eclipse refactoring plugin, major goals of the plugin were to make it easy extensible for additional refactorings, new fixture types and further test specification file formats. Challenges faced when adding new and modifying existing Eclipse refactoring behavior are described and are due to the strong dependency on the Eclipse JDK and LTK features, and the solutions developed are presented.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126690432","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}
{"title":"Towards accessible integration and deployment of formal tools and techniques","authors":"A. Lapets, R. Skowyra, Azer Bestavros, A. Kfoury","doi":"10.1109/TOPI.2013.6597189","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597189","url":null,"abstract":"Computer science researchers in the programming languages and formal verification communities, among others, have produced a variety of automated assistance and verification tools and techniques for formal reasoning. While there have been notable successes in utilizing these tools on the development of safe and secure software and hardware, these leading-edge advances remain largely underutilized by large populations of potential users that may benefit from them. In particular, we consider researchers, instructors, students, and other end users that may benefit from instant feedback from lightweight modeling and verification capabilities when exploring system designs or formal arguments. We describe Aartifact, a supporting infrastructure that makes it possible to quickly and easily assemble interacting collections of small domain-specific languages, as well as translations between those languages and existing tools (e.g., Alloy, SPIN, Z3) and techniques (e.g., evaluation, type checking, congruence closure); the infrastructure also makes it possible to compile and deploy these translators in the form of a cloud-based web application with an interface that runs inside a standard browser. This makes more manageable the process of exposing a limited, domain-specific, and logistically accessible subset of the capabilities of existing tools and techniques to end users. This infrastructure can be viewed as a collection of modules for defining interfaces that turn third-party formal modeling and verification tools and techniques into plug-ins that can be integrated within web-based interactive formal reasoning environments.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"28 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123490356","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}
R. Araujo, Daniel Henrique Barboza, Rafael Sene, Rafael Medeiros Teixeira, Renato Stoffalette João, Wainer Santos Moschetta
{"title":"A CPI breakdown model plug-in for optimizing application performance","authors":"R. Araujo, Daniel Henrique Barboza, Rafael Sene, Rafael Medeiros Teixeira, Renato Stoffalette João, Wainer Santos Moschetta","doi":"10.1109/TOPI.2013.6597191","DOIUrl":"https://doi.org/10.1109/TOPI.2013.6597191","url":null,"abstract":"Effectiveness and quality are fundamental characteristics for the development of a product. In order to support them, one needs to ensure that an application optimization level is at its best. The most widely used metric for evaluating an application performance is the CPI (Cycles Per Instruction), i.e., the number of clock cycles that takes place when an instruction is executed. We have developed a CPI Breakdown Model Plug-in, that automates the profiling of an application in the Power architecture, breaking it down into several groups of CPI events and metrics in order to identify possible bottlenecks. When analyzing such events and metrics the user can become aware of which operations are causing the processor to stall, and consequently enhance the application source code. We have discussed the adaptation of some command-line tools to be used by our CPI plug-in, which is integrated into the IBM Software Development Toolkit for PowerLinux, an Eclipse based IDE comprising a set of mainstream C/C++ development tools along with several in-house IBM ones. A case study that shows the usefulness of our approach is presented and details on how to optimize an application are discussed.","PeriodicalId":274157,"journal":{"name":"2013 3rd International Workshop on Developing Tools as Plug-Ins (TOPI)","volume":"25 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2013-05-21","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"116625556","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}