• The documentation and tool support of GWT is
very good, but the future is uncertain. GWT
is well documented and an Eclipse plugin eases
development and testing. The GWT Dev Mode
makes debugging within the IDE very convenient.
Nevertheless, GWT Dev Mode is restricted to
older browser versions (e.g., Firefox 26), because
current browser versions have removed some re-
quired APIs (e.g., NPAPI). GWT offers the Super
Dev Mode as alternative, but the Eclipse integra-
tion is only possible by using 3rd-party plugins
like SDBG
24
, and is less convenient.
• Useful web applications require modern brow-
sers. In general, web applications that should
behave like standalone desktop applications typ-
ically require certain APIs to interact with the un-
derlying system. This is a minor inconvenience
for browsers like Chrome or Firefox, which get
constantly updated, but other browsers like the In-
ternet Explorer often lag behind. UMLetino also
requires some specific HTML 5 features like the
Web Storage API or the File Reader API, which
are only available in Internet Explorer 10+.
• Platforms have different constraints. Although
modern browsers offer several APIs to allow deep
system integration, the web platform still has
many constraints that do not exist for standalone
applications. One example is the interaction with
the file system. Standalone applications like UM-
Let have full access to the file system, but web
applications have only limited access. File can
be read by using the HTML 5 File Reader API,
but most browsers disallow write access to the
file system (only Chrome allows it to a sandboxed
section of the filesystem).
Find UMLetino at www.umletino.com.
7 CONCLUSION
Software maintenance, aging, and evolution are often
considered an afterthought. We hope to emphasize
with this paper that software will inevitably age, and
that this will surely have a non-trivial impact on its
use and cost profile over time.
Within the general evolution process, planners and
programmers can use a simple framework to help
reach evolution decisions. A concrete instance of
one application’s soft migration hopefully helps to il-
lustrate this. This should also underline how mod-
ern tools make software migration much more fea-
24
github.com/sdbg/sdbg
sible. Future work should especially look a the re-
cent container-based software deployment tools, es-
pecially with regard to outside interface dependen-
cies. Of special interest are layers that interact with
persistent data storage (typically databases). Another
approach worth examining concerns GUI adaptabil-
ity for various screen/input environments, especially
as GUIs are notoriously tricky to migrate.
Finally, these considerations should not merely be
applied “down the road,” though this is still useful.
Instead, the foreseeable eventual software evolution
should be part of any decisions made during the soft-
ware’s initial design stages. Those are often crucial
in making sure the software will age gracefully—and,
ideally, never die.
REFERENCES
Auer, M., P
¨
olz, J., and Biffl, S. (2009). End-User Develop-
ment in a Graphical User Interface Setting. In Proc.
11th Int. Conf. on Enterprise Inf. Systems (ICEIS).
Auer, M., Tschurtschenthaler, T., and Biffl, S. (2003). A
Flyweight UML Modelling Tool for Software Devel-
opment in Heterogeneous Environments. In Proc.
29th Conf. on EUROMICRO.
Basili, V., Briand, L., Condon, S., Kim, Y.-M., Melo, W. L.,
and Valett, J. D. (1996). Understanding and Predict-
ing the Process of Software Maintenance Releases. In
Proc. 18th Int. Conf. on Software Engineering (ICSE).
Bennett, K. H. and Rajlich, V. T. (2000). Software Mainte-
nance and Evolution: A Roadmap. In Proc. Conf. on
The Future of Software Engineering (ICSE).
Benomar, O., Abdeen, H., Sahraoui, H., Poulin, P., and
Saied, M. A. (2015). Detection of Software Evo-
lution Phases Based on Development Activities. In
Proc. 23rd IEEE Int. Conf. on Program Comprehen-
sion (ICPC).
Brodie, M. L. and Stonebraker, M. (1995). Migrating
Legacy Systems: Gateways, Interfaces, and the Incre-
mental Approach. Morgan Kaufmann.
Brooks Jr., F. P. (1995). The Mythical Man-Month. Addi-
son-Wesley.
Businge, J., Serebrenik, A., Brand, M. V. D., and van den
Brand, M. (2010). An Empirical Study of the Evo-
lution of Eclipse Third-party Plug-ins. In Proc. Joint
ERCIM WS on Software Evolution (EVOL) and Int.
WS on Principles of Software Evolution (IWPSE).
Chaikalis, T. and Chatzigeorgiou, A. (2015). Forecasting
Java Software Evolution Trends Employing Network
Models. IEEE Transactions on Software Engineering,
41(6):582–602.
Chikofsky, E. J. and Cross II, J. H. (1990). Reverse En-
gineering and Design Recovery: A Taxonomy. IEEE
Software, 7(1):13–17.
Coleman, D., Ash, D., Lowther, B., and Oman, P. (1994).
Using Metrics to Evaluate Software System Maintain-
ability. IEEE Computer, 27(8):44–49.
Software Evolution of Legacy Systems - A Case Study of Soft-migration
423