Adoption-Centric
Software Engineering

Home

Background

ACSE v1.0 Projects




Leveraging Cognitive Support and Modern Platforms for Adoption-Centric Reverse Engineering (ACRE)

Hausi A. Müller, University of Victoria, Canada

Contents

Problem

Research tools in software engineering often fail to be adopted and deployed in industry. Important barriers to adopting these tools include their unfamiliarity with users, their unpolished user interfaces, their poor interoperability with existing development tools and practices, and their limited support for the complex work products required by industrial software development.

Approach

Office suites, by contrast, are capable, mature, flexible, extensible, and familiar to many developers. For example, common office suites are used daily to browse Web content, produce multimedia documents, pre-pare presentations, and maintain budgets. These suites and other middleware-based environments can be extended and leveraged to provide familiar support for software engineering tasks. Developing and deploying innovative research tools and ideas as extensions to modern, commonly used desktop environments may ease the barriers to adoption. Users will more likely adopt tools that work in an environment they use daily and know intimately. That is, tool adoption will be improved if we specifically address the issues of cognitive support and interoperability.

The cognitive support of Software Engineering tools can be improved by exploiting the deep familiarity and expertise that users already have with their favorite applications and environments. We believe that building software engineering tools on top of these platforms will address the issue of cognitive support effectively.

Also, the interoperability of these tools can be improved significantly by leveraging recently developed middleware technologies. By exploiting technologies, such as plug-in or model-driven architectures and data exchange standards, we can address the issue of interoperability. Recently, tool builders and standards bodies have invented effective standards and interfaces for tool extension and customization.

The advances described above have opened new research avenues on how innovations in software engineering tools can be made more easily adopted by inserting them as extensions to commonly used office suites (e.g., Microsoft Office XP, Lotus SmartSuite, Sun StarOffice, and Corel WordPerfect Office) and middleware platforms (e.g., XML standards, SVG, scripting languages, model-driven architectures, and plug-in platforms). Our project aims to explore these avenues. Our main hypothesis is that in order for new tools to be adopted successfully, they must be compatible with both existing users and other tools. To validate this hypothesis, we will build prototype software engineering tools using open standards, popular office suites, and common middleware technology. Using these, we will conduct industrial case studies and structured tool experiments. The experience gained will be beneficial for both academic research and industrial practice.

Benefits

Developing effective techniques and strategies to overcome the software engineering tool adoption problem will have great value to the software and information technology sectors. Injecting more of the great software engineering research results into industrial practice has potentially a significant impact on the production of quality software. Thus, this research addresses two diverse markets: the software developers, who need to understand and document existing software systems, but also the researchers, who want to inject and validate their research tools in industrial development processes.

ACRE V1.0

ACRE V1.0 consists of several software visualization engines on top of various office products, including Lotus Notes, Excel, PowerPoint, and Visio. The software engineering tools in this ACRE environment interoperate using the ACRE persistence engine and SVG (Scaleable Vector Graphics). The ACRE persistence engine is implemented using IBM Websphere software platform, the OMG's Model Driven Architecture (MDA), and OTI's universal tool platform Eclipse. SVG is a W3C XML standard and an effective solution for smart cross-platform graphics.