Improved Developer Support for the Detection of Cross-Browser Incompatibilities

  • Alfonso Murolo
  • Fabian Stutz
  • Maria Husmann
  • Moira C. Norrie
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10360)

Abstract

Various tools are available to help developers detect cross-browser incompatibilities (XBIs) by testing the documents generated by their code. We propose an approach that enables XBIs to be detected earlier in the development cycle by providing support in the IDE as the code is being written. This has the additional advantage of making it clear to the developers where the sources of the problems are and how to fix them. We present wIDE which is an extension to an IDE designed specifically to support web developers. wIDE uses a compatibility knowledge base to scan the source code for XBIs. The knowledge base is extracted automatically from online resources and periodically updated to ensure that the compatibility information is always up-to-date. In addition, developers can query documentation from within the IDE to access descriptions and usage examples of code statements. We report on a qualitative user study where developers provided positive feedback about the approach, but raised some issues to address in future work.

Keywords

Testing Compatibility Documentation Web applications IDE 

References

  1. 1.
    Mohorovičić, S.: Implementing responsive web design for enhanced web presence. In: 36th International Conference on Information & Communication Technology Electronics & Microelectronics (MIPRO), pp. 1206–1210. IEEE (2013)Google Scholar
  2. 2.
    Brandt, J., Guo, P.J., Lewenstein, J., Dontcheva, M., Klemmer, S.R.: Two studies of opportunistic programming: interleaving web foraging, learning, and writing code. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM (2009)Google Scholar
  3. 3.
    Hartmann, B., Dhillon, M., Chan, M.K.: HyperSource: bridging the gap between source and code-related web sites. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM (2011)Google Scholar
  4. 4.
    Goldman, M., Miller, R.C.: Codetrail: connecting source code and web resources. J. Vis. Lang. Comput. 20(4), 223–235 (2009)CrossRefGoogle Scholar
  5. 5.
    Sawadsky, N., Murphy, G.C.: Fishtail: from task context to source code examples. In: Proceedings of the 1st Workshop on Developing Tools as Plug-ins. ACM (2011)Google Scholar
  6. 6.
    Sahavechaphan, N., Claypool, K.: XSnippet: mining for Sample Code. ACM Sigplan Not. 41(10), 413–430 (2006)CrossRefGoogle Scholar
  7. 7.
    Moreno, L., Bavota, G., Penta, M.D., Oliveto, R., Marcus, A.: How can I use this method? In: Proceedings of 37th IEEE International Conference on Software Engineering, vol. 1. IEEE (2015)Google Scholar
  8. 8.
    Li, H., Zhao, X., Xing, Z., Bao, L., Peng, X., Gao, D., Zhao, W.: amAssist: In-IDE ambient search of online programming resources. In: Proceedings of IEEE 22nd International Conference on Software Analysis, Evolution, and Reengineering (SANER). IEEE (2015)Google Scholar
  9. 9.
    Brandt, J., Dontcheva, M., Weskamp, M., Klemmer, S.R.: Example-centric programming: integrating web search into the development environment. In: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. ACM (2010)Google Scholar
  10. 10.
    Cordeiro, J., Antunes, B., Gomes, P.: Context-based recommendation to support problem solving in software development. In: 3rd International Workshop on Recommendation Systems for Software Engineering (RSSE). IEEE (2012)Google Scholar
  11. 11.
    Rahman, M.M., Yeasmin, S., Roy, C.K.: Towards a context-aware IDE-based meta search engine for recommendation about programming errors and exceptions. In: IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE). IEEE (2014)Google Scholar
  12. 12.
    Ponzanelli, L., Bacchelli, A., Lanza, M.: Seahawk: stack overflow in the IDE. In: Proceedings of the International Conference on Software Engineering. IEEE Press (2013)Google Scholar
  13. 13.
    Ponzanelli, L., Bacchelli, A., Lanza, M.: Leveraging crowd knowledge for software comprehension and development. In: 17th European Conference on Software Maintenance and Reengineering (CSMR). IEEE (2013)Google Scholar
  14. 14.
    Ponzanelli, L., Bavota, G., Penta, M.D., Oliveto, R., Lanza, M.: Mining StackOverflow to turn the IDE into a self-confident programming prompter. In: Proceedings of the 11th Working Conference on Mining Software Repositories. ACM (2014)Google Scholar
  15. 15.
    Aho, T., Ashraf, A., Englund, M., Katajamäki, J., Koskinen, J., Lautamäki, J., Nieminen, A., Porres, I., Turunen, I.: Designing IDE as a service. Commun. Cloud Softw. 1(1) (2011)Google Scholar
  16. 16.
    van Deursen, A., Mesbah, A., Cornelissen, B., Zaidman, A., Pinzger, M., Guzzi, A.: Adinda: a knowledgeable, browser-based IDE. In: Proceedings of the 32nd ACM/IEEE International Conference on Software Engineering, vol. 2. ACM (2010)Google Scholar
  17. 17.
    Eaton, C., Memon, A.M.: An empirical approach to evaluating web application compliance across diverse client platform configurations. Int. J. Web Eng. 3(3), 227–253 (2007)CrossRefGoogle Scholar
  18. 18.
    Choudhary, S.R., Prasad, M.R., Orso, A.: X-PERT: accurate identification of cross-browser issues in web applications. In: Proceedings of the 2013 International Conference on Software Engineering. IEEE Press (2013)Google Scholar
  19. 19.
    Choudhary, S.R., Versee, H., Orso, A.: WEBDIFF: automated identification of cross-browser issues in web applications. In: International Conference on Software Maintenance (ICSM). IEEE (2010)Google Scholar
  20. 20.
    Choudhary, S.R., Prasad, M.R., Orso, A.: Crosscheck: combining crawling and differencing to better detect cross-browser incompatibilities in web applications. In: Proceedings of the 5th International Conference on Software Testing, Verification and Validation. IEEE (2012)Google Scholar
  21. 21.
    Mesbah, A., Prasad, M.R.: Automated cross-browser compatibility testing. In: Proceedings of the 33rd International Conference on Software Engineering. ACM (2011)Google Scholar
  22. 22.
    Husmann, M., Spiegel, M., Murolo, A., Norrie, M.C.: UI testing cross-device applications. In: Proceedings of the ACM Conference on Interactive Surfaces and Spaces. ACM (2016)Google Scholar
  23. 23.
    Xu, S., Zeng, H.: Static analysis technique of cross-browser compatibility detecting. In: Proceedings of the International Conference on Applied Computing and Information Technology/International Conference on Computational Science and Intelligence. IEEE (2015)Google Scholar

Copyright information

© Springer International Publishing AG 2017

Authors and Affiliations

  • Alfonso Murolo
    • 1
  • Fabian Stutz
    • 1
  • Maria Husmann
    • 1
  • Moira C. Norrie
    • 1
  1. 1.Department of Computer ScienceETH ZurichZurichSwitzerland

Personalised recommendations