“Software Engineering for the Web: The State of the Practice”, Alex Nederlof, Ali Mesbah, and Arie van Deursen.
In Proceedings of the ACM/IEEE International Conference on Software Engineering, Software Engineering In Practice (ICSE SEIP), 4–13, 2014
[PDF]  [Slides]

Abstract

Today’s web applications increasingly rely on client-side code execution. HTML is not just created on the server, but manipulated extensively within the browser through JavaScript code. In this paper, we seek to understand the software engineering implications of this. We look at deviations from many known best practices in such areas of performance, accessibility, and correct structuring of HTML documents. Furthermore, we assess to what extent such deviations manifest themselves through client-side code manipulation only. To answer these questions, we conducted a large scale experiment, involving automated client-enabled crawling of over 4000 web applications, resulting in over 100,000,000 pages analyzed, and close to 1,000,000 unique client-side user interface states. Our findings show that the majority of sites contain a substantial number of problems, making sites unnecessarily slow, inaccessible for the visually impaired, and with layout that is unpredictable due to errors in the dynamically modified DOM trees.

BibTeX

@inproceedings{icse14seip,
  author = {Nederlof, Alex and Mesbah, Ali and van Deursen, Arie},
  title = {Software Engineering for the Web: The State of the Practice},
  booktitle = {Proceedings of the ACM/IEEE International Conference on Software Engineering, Software Engineering In Practice (ICSE SEIP)},
  publisher = {ACM},
  pages = {4--13},
  year = {2014},
  url = {http://salt.ece.ubc.ca/publications/docs/icse14-seip.pdf},
  slides = {35488525}
}