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.
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, prepare presentations,
and maintain budgets. These suites and other
middleware-based environments can be extended
and leveraged to provide familiar support for
software engineering tasks.
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 these 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
familiar 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.
Thus 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 reverse 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.