Restraining Technical Debt when Developing Large-Scale Ajax Applications

Addressing technical debt during the software development process relies heavily on a refactoring phase, in which automatic code transformations are used as a crucial mechanism to reduce a system's technical debt. However, automatic refactoring is not an option when developing Ajax applications. Therefore, an approach that restrains the accumulation of a system's technical debt is needed. In this paper, we present and evaluate such an approach and its reification as a framework. We conclude that our proposed framework enables restraining technical debt in a large-scale Ajax application without the need for automatic code

[1]  Jesse James Garrett Ajax: A New Approach to Web Applications , 2007 .

[2]  Peter Sommerlad,et al.  Ruby refactoring plug-in for eclipse , 2007, OOPSLA '07.

[3]  Matthew B. Dwyer,et al.  Proceedings of the ACM international conference on Object oriented programming systems languages and applications , 2010 .

[4]  Ali Mesbah,et al.  Automated cross-browser compatibility testing , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[5]  Jr. Frederick P. Brooks,et al.  The mythical man-month (anniversary ed.) , 1995 .

[6]  Forrest Shull,et al.  Prioritizing design debt investment opportunities , 2011, MTD '11.

[7]  Frank Tip,et al.  Tool-supported refactoring for JavaScript , 2011, OOPSLA '11.

[8]  Robert L. Nord,et al.  Analysis and Management of Architectural Dependencies in Iterative Release Planning , 2011, 2011 Ninth Working IEEE/IFIP Conference on Software Architecture.

[9]  Michael D. Zisman,et al.  Representation, specification and automation of office procedures , 1977 .

[10]  Ralph E. Johnson,et al.  A Refactoring Tool for Smalltalk , 1997, Theory Pract. Object Syst..

[11]  Anthony T. Holdener Ajax: the definitive guide , 2008 .

[12]  Tommi Mikkonen,et al.  The mashware challenge: bridging the gap between web development and software engineering , 2010, FoSER '10.

[13]  John Pagonis The Ruby Programming Language... Ruby Programming Language... , 2009 .

[14]  William F. Opdyke,et al.  Refactoring object-oriented frameworks , 1992 .

[15]  Israel Gat,et al.  From assessment to reduction: how cutter consortium helps rein in millions of dollars in technical debt , 2011, MTD '11.

[16]  Martin Fowler,et al.  Refactoring - Improving the Design of Existing Code , 1999, Addison Wesley object technology series.

[17]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[18]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[19]  Fred P. Brooks,et al.  The Mythical Man-Month , 1975, Reliable Software.

[20]  Robert L. Nord,et al.  Managing technical debt in software-reliant systems , 2010, FoSER '10.

[21]  John McCarthy,et al.  Recursive functions of symbolic expressions and their computation by machine, Part I , 1960, Commun. ACM.

[22]  Tommi Mikkonen,et al.  Web browser as an application platform: the lively Kernel experience , 2008 .

[23]  Joost Visser,et al.  An empirical model of technical debt and interest , 2011, MTD '11.