Papers
Topics
Authors
Recent
Gemini 2.5 Flash
Gemini 2.5 Flash
125 tokens/sec
GPT-4o
53 tokens/sec
Gemini 2.5 Pro Pro
42 tokens/sec
o3 Pro
4 tokens/sec
GPT-4.1 Pro
47 tokens/sec
DeepSeek R1 via Azure Pro
28 tokens/sec
2000 character limit reached

A Taxonomy of Testable HTML5 Canvas Issues (2201.07351v5)

Published 18 Jan 2022 in cs.SE

Abstract: The HTML5 <canvas> is widely used to display high quality graphics in web applications. However, the combination of web, GUI, and visual techniques that are required to build <canvas> applications, together with the lack of testing and debugging tools, makes developing such applications very challenging. To help direct future research on testing <canvas> applications, in this paper we present a taxonomy of testable <canvas> issues. First, we extracted 2,403 <canvas>-related issue reports from 123 open-source GitHub projects that use the HTML5 <canvas>. Second, we constructed our taxonomy by manually classifying a random sample of 332 issue reports. Our manual classification identified five broad categories of testable <canvas> issues, such as Visual and Performance issues. We found that Visual issues are the most frequent (35%), while Performance issues are relatively infrequent (5%). We also found that many testable <canvas> issues that present themselves visually on the <canvas> are actually caused by other components of the web application. Our taxonomy of testable <canvas> issues can be used to steer future research into <canvas> issues and testing.

Definition Search Book Streamline Icon: https://streamlinehq.com
References (88)
  1. AbhiThakare “Fatal Error On Hover”, 2018 URL: https://github.com/timdream/wordcloud2.js/issues/132
  2. Adobe “Flash & the Future of Interactive Content”, 2017 URL: https://blog.adobe.com/en/publish/2017/07/25/adobe-flash-update.html
  3. Adobe “Adobe Flash Player EOL General Information Page”, 2021 URL: https://www.adobe.com/products/flashplayer/end-of-life.html
  4. Emil Alégroth, Robert Feldt and Pirjo Kolström “Maintenance of automated test suites in industry: An empirical study on Visual GUI Testing” In Information and Software Technology 73 Elsevier, 2016, pp. 66–80
  5. John Anvik, Lyndon Hiew and Gail C Murphy “Coping with an open bug repository” In Proceedings of the 2005 OOPSLA workshop on Eclipse technology eXchange, 2005, pp. 35–39
  6. John Anvik, Lyndon Hiew and Gail C Murphy “Who should fix this bug?” In Proceedings of the 28th international conference on Software engineering, 2006, pp. 361–370
  7. John Anvik and Gail C Murphy “Determining implementation expertise from bug reports” In Fourth International Workshop on Mining Software Repositories (MSR’07: ICSE Workshops 2007), 2007, pp. 2–2 IEEE
  8. “Inter-coder agreement for computational linguistics” In Computational linguistics 34.4 MIT Press One Rogers Street, Cambridge, MA 02142-1209, USA journals-info …, 2008, pp. 555–596
  9. asela-wijesinghe “not accepting image url’s without CORS headers”, 2017 URL: https://github.com/Vibrant-Colors/node-vibrant/issues/43
  10. aSqrd-eSqrd “Nodes outside view port when physics layout enabled”, 2016 URL: https://github.com/Netflix/vizceral/issues/44
  11. Kartik Bajaj, Karthik Pattabiraman and Ali Mesbah “Mining questions asked by web developers” In Proceedings of the 11th Working Conference on Mining Software Repositories, 2014, pp. 112–121
  12. “Web canvas testing through visual inference” In 2018 IEEE 11th International Conference on Software Testing, Verification and Validation (ICST), 2018, pp. 193–203 IEEE
  13. “A survey on the use of computer vision to improve software engineering tasks” In IEEE Transactions on Software Engineering IEEE, 2020
  14. Kayce Basques “Analyze runtime performance”, 2017 URL: https://developer.chrome.com/docs/devtools/evaluate-performance/
  15. boardfish “Objects clipping over each other”, 2019 URL: https://github.com/metafizzy/zdog/issues/20
  16. “To Type or Not to Type? A Systematic Comparison of the Software Quality of JavaScript and TypeScript Applications on GitHub” In arXiv preprint arXiv:2203.11115, 2022
  17. “Lessons from applying the systematic literature review process within the software engineering domain” In Journal of systems and software 80.4 Elsevier, 2007, pp. 571–583
  18. “Not all bugs are the same: Understanding, characterizing, and classifying bug types” In Journal of Systems and Software 152 Elsevier, 2019, pp. 165–181
  19. cbranje “errorBars causing graph not to render”, 2015 URL: https://github.com/danvk/dygraphs/issues/671
  20. chirotaq “WebGlRenderer does not draw multiple lines well.”, 2015 URL: https://github.com/pixijs/pixijs/issues/1843
  21. cnatis “Cross Origin Image Requests”, 2017 URL: https://github.com/tsayen/dom-to-image/issues/112
  22. Jacob Cohen “A coefficient of agreement for nominal scales” In Educational and psychological measurement 20.1 Sage Publications Sage CA: Thousand Oaks, CA, 1960, pp. 37–46
  23. CRLbazin “Display problem when importing a workflow saved on a screen with another resolution”, 2020 URL: https://github.com/alyssaxuu/flowy/issues/101
  24. danpalmer “Bug: Renders canvas elements visible on the page”, 2017 URL: https://github.com/Vibrant-Colors/node-vibrant/issues/36
  25. danvk “Drag-zoom over left or right edge of canvas results in aborted zoom”, 2014 URL: https://github.com/danvk/dygraphs/issues/323
  26. Serdar Doğan, Aysu Betin-Can and Vahid Garousi “Web application testing: A systematic literature review” In Journal of Systems and Software 91 Elsevier, 2014, pp. 174–201
  27. emirozer “filling half circle”, 2013 URL: https://github.com/Leimi/drawingboard.js/issues/9
  28. erickne “Knob creates a 200px height canvas”, 2012 URL: https://github.com/aterrien/jQuery-Knob/issues/51
  29. Erwin4 “Scaling problem”, 2016 URL: https://github.com/joewalnes/smoothie/issues/70
  30. fadedyellowroses “Piskel is very slow with Chrome 65 and OSX 10.11.6”, 2018 URL: https://github.com/piskelapp/piskel/issues/796
  31. frostbytedata “Node click event firing when mouse is released after dragging”, 2018 URL: https://github.com/vasturiano/3d-force-graph/issues/67
  32. Rama C Hoetzlein “Graphics performance in rich internet applications” In IEEE computer graphics and applications 32.5 IEEE, 2012, pp. 98–104
  33. iKrushYou “Legend ‘itemTextColor‘ no longer works 0.63+”, 2020 URL: https://github.com/plouc/nivo/issues/1321
  34. Ayman Issa, Jonathan Sillito and Vahid Garousi “Visual testing of Graphical User Interfaces: An exploratory study towards systematic definitions and approaches” In 2012 14th IEEE International Symposium on Web Systems Evolution (WSE), 2012, pp. 11–15 IEEE
  35. jordyvandomselaar “When scrolling down the line is above the cursor”, 2016 URL: https://github.com/jakubfiala/atrament.js/issues/12
  36. “PySStuBs: Characterizing Single-Statement Bugs in Popular Open-Source Python Projects” In 2021 IEEE/ACM 18th International Conference on Mining Software Repositories (MSR), 2021, pp. 520–524 IEEE
  37. “How often do single-statement bugs occur? the manysstubs4j dataset” In Proceedings of the 17th International Conference on Mining Software Repositories, 2020, pp. 573–577
  38. kartojal “[BUG] [Firefox] _.debounce + 2.5.0 Chart.js + events not working”, 2017 URL: https://github.com/chartjs/Chart.js/issues/4090
  39. lamego “Distorted and fuzzy bubbles on canvas”, 2018 URL: https://github.com/tipsy/bubbly-bg/issues/22
  40. Davy Landman, Alexander Serebrenik and Jurgen J Vinju “Challenges for static analysis of java reflection-literature review and empirical study” In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE), 2017, pp. 507–518 IEEE
  41. “An exploratory study of the state of practice of performance testing in java-based open source projects” In Proceedings of the 8th ACM/SPEC on International Conference on Performance Engineering, 2017, pp. 373–384
  42. Valéria Lelli, Arnaud Blouin and Benoit Baudry “Classifying and qualifying GUI defects” In 2015 IEEE 8th International Conference on Software Testing, Verification and Validation (ICST), 2015, pp. 1–10 IEEE
  43. Maksims “‘maxPixelRatio‘ is not respected in screenToWorld, and bugged on iOS initial load”, 2015 URL: https://github.com/playcanvas/engine/issues/328
  44. marcbruederlin “Detect device pixel ratio”, 2017 URL: https://github.com/marcbruederlin/particles.js/issues/9
  45. Alessandro Marchetto, Filippo Ricca and Paolo Tonella “An empirical validation of a web fault taxonomy and its usage for web testing” In Journal of Web Engineering, 2009, pp. 316–345
  46. mathiastiberghien “Damage/redraw boundary issue for Canvas renderer”, 2020 URL: https://github.com/vega/vega/issues/2425
  47. Rafael Maiani Mello, Pedro Corrêa Da Silva and Guilherme Horta Travassos “Investigating probabilistic sampling approaches for large-scale surveys in software engineering” In Journal of Software Engineering Research and Development 3.1 SpringerOpen, 2015, pp. 1–26
  48. michaelgrc “How to draw a straight line before and after a wave using siriwave.js”, 2015 URL: https://github.com/kopiro/siriwave/issues/8
  49. Kevin Moot “Handling user input in HTML5 Canvas-based games”, 2012 URL: https://developer.ibm.com/tutorials/wa-games/?mhsrc=ibmsearch_a&mhq=induction
  50. Mozilla “Allowing cross-origin use of images and canvas”, 2021 URL: https://developer.mozilla.org/en-US/docs/Web/HTML/CORS_enabled_image
  51. Mozilla “Canvas: The Graphics Canvas element”, 2021 URL: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/canvas
  52. Mozilla “CanvasRenderingContext2D.arc()”, 2021 URL: https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/arc
  53. Mozilla “Cross-Origin Resource Sharing (CORS)”, 2021 URL: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
  54. Mozilla “Introduction to the DOM”, 2021 URL: https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Introduction
  55. newerton “Calculation of bytes”, 2014 URL: https://github.com/blueimp/JavaScript-Canvas-to-Blob/issues/20
  56. nicoladaoud “Blocks don’t snap correctly after flowchart becomes large in size (blocks do not update positions correctly)”, 2019 URL: https://github.com/alyssaxuu/flowy/issues/31
  57. NisSAM “saveImage returns image with the black background”, 2012 URL: https://github.com/HumbleSoftware/Flotr2/issues/173
  58. Nokitoo “Entities destruction memory leak”, 2018 URL: https://github.com/playcanvas/engine/issues/1299
  59. Nur Nurmuliani, Didar Zowghi and Susan P Williams “Using card sorting technique to classify requirements change” In Proceedings. 12th IEEE International Requirements Engineering Conference, 2004., 2004, pp. 240–248 IEEE
  60. “A study of causes and consequences of client-side JavaScript bugs” In IEEE Transactions on Software Engineering 43.2 IEEE, 2016, pp. 128–144
  61. Rebecca Passonneau “Measuring agreement on set-valued items (MASI) for semantic and pragmatic annotation”, 2006
  62. paulmasson “Documentation pages with iframe unreadable on iOS”, 2016 URL: https://github.com/mrdoob/three.js/issues/9195
  63. pdfowler “Continued CORS Issues”, 2018 URL: https://github.com/mosch/react-avatar-editor/issues/268
  64. pdincubus “0% in IE8 shows full pie chart”, 2013 URL: https://github.com/rendro/easy-pie-chart/issues/8
  65. peternewman “Wind icon animation and non 1:1 aspect ratios”, 2019 URL: https://github.com/darkskyapp/skycons/issues/28
  66. pilootchoum “OnSnap not working properly”, 2020 URL: https://github.com/alyssaxuu/flowy/issues/56
  67. pws2016 “error canvas!”, 2020 URL: https://github.com/bernii/gauge.js/issues/235
  68. Paul Ralph “Toward methodological guidelines for process theories and taxonomies in software engineering” In IEEE Transactions on Software Engineering 45.7 IEEE, 2018, pp. 712–735
  69. rami-dabain “detachControl not working”, 2013 URL: https://github.com/BabylonJS/Babylon.js/issues/17
  70. rbishop-bah “Canvas path mouseover flaky”, 2013 URL: https://github.com/vega/vega/issues/101
  71. rhysburnie “pixelated on iPhone 4 (retina)”, 2010 URL: https://github.com/sorccu/cufon/issues/154
  72. “Web test automation: Insights from the grey literature” In International Conference on Current Trends in Theory and Practice of Informatics, 2021, pp. 472–485 Springer
  73. RitterD “Gauges crashing my App”, 2018 URL: https://github.com/Mikhus/canvas-gauges/issues/171
  74. “Augmenting the kappa statistic to determine interannotator reliability for multiply labeled data points”, 2004
  75. SimilarTech “HTML5 Canvas Tag Market Share”, 2022 URL: https://www.similartech.com/technologies/html5-canvas-tag
  76. “An empirically based terminology and taxonomy for global software engineering” In Empirical Software Engineering 19.1 Springer, 2014, pp. 105–153
  77. Soviut “Babylon canvas is the wrong size on retina displays”, 2014 URL: https://github.com/BabylonJS/Babylon.js/issues/319
  78. Mihai Sucan “SVG or Canvas? Choosing Between the Two”, 2010 URL: https://dev.opera.com/articles/svg-or-canvas-choose/
  79. “Bug characteristics in open source software” In Empirical software engineering 19.6 Springer, 2014, pp. 1665–1705
  80. “Taxonomies in software engineering: A systematic mapping study and a revised taxonomy development method” In Information and Software Technology 85 Elsevier, 2017, pp. 43–59
  81. “What Causes Wrong Sentiment Classifications of Game Reviews” In IEEE Transactions on Games IEEE, 2021
  82. “Bug taxonomies: Use them to generate better tests” In Star East 2003, 2003, pp. 1–40
  83. Vincenttbk “Halo does not disappear on hiding series (mobile)”, 2014 URL: https://github.com/highcharts/highcharts/issues/3533
  84. vincenttheeten “Cannot get font() to work”, 2012 URL: https://github.com/jasondavies/d3-cloud/issues/3
  85. WHATWG “Fetch - Living Standard”, 2021 URL: https://fetch.spec.whatwg.org/#http-cors-protocol
  86. williamngan “canvasform.font doesn’t set font”, 2018 URL: https://github.com/williamngan/pts/issues/52
  87. Andrew Woo, Andrew Pearce and Marc Ouellette “It’s really not a rendering bug, you see” In IEEE Computer Graphics and Applications 16.5 IEEE, 1996, pp. 21–25
  88. Shahed Zaman, Bram Adams and Ahmed E Hassan “Security versus performance bugs: a case study on firefox” In Proceedings of the 8th working conference on mining software repositories, 2011, pp. 93–102

Summary

We haven't generated a summary for this paper yet.

X Twitter Logo Streamline Icon: https://streamlinehq.com