Automated Identification of Failure Causes in System Logs
ISSRE '08 Proceedings of the 2008 19th International Symposium on Software Reliability Engineering
A Reference Architecture for Scientific Workflow Management Systems and the VIEW SOA Solution
IEEE Transactions on Services Computing
AVA: automated interpretation of dynamically detected anomalies
Proceedings of the eighteenth international symposium on Software testing and analysis
The JOpera visual composition language
Journal of Visual Languages and Computing
MASH: a tool for end-user plug-in composition
Proceedings of the 34th International Conference on Software Engineering
Hi-index | 0.00 |
The majority of IDEs implement a concept of plug-in that nicely supports the integration of tools within the IDEs. Plug-ins dramatically simplify the structural integration of multiple tools, but provide little support to the design of the dynamic of the integration, which must be entirely coded by programmers from plug-ins' API. Manually integrating plug-ins is costly, complex and requires a deep understanding of the underlying environment. The implementation of tools as plug-ins and the integration of the results produced by different plug-ins are still difficult, expensive and error-prone activities. This paper presents the concepts of Task Based Plug-in (TB-plug-in) and workflow of TB-plug-ins. In our vision, IDE users must be able to execute plug-ins and integrate their results by designing workflows that can be persisted, executed and re-used in other workflows. We validated our idea by refactoring a set of Eclipse plugins for log-file analysis into TB-plug-ins, and designing several workflows that integrate plug-in tasks. We compared the effort necessary to implement these analyses from plugins with the effort necessary to design the workflows from TB-plug-ins. We discovered that workflows can be easily designed with little knowledge about the IDE and the plug-ins' API, save significant effort otherwise devoted to the implementation of additional plug-ins and glue-code, and produce analyses that can be quickly modified and reused.