[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3654777.3676353acmotherconferencesArticle/Chapter ViewAbstractPublication PagesuistConference Proceedingsconference-collections
research-article
Open access

Understanding and Supporting Debugging Workflows in CAD

Published: 11 October 2024 Publication History

Abstract

One of the core promises of parametric Computer-Aided Design (CAD) is that users can easily edit their model at any point in time. However, due to the ambiguity of changing references to intermediate, updated geometry, parametric edits can lead to reference errors which are difficult to fix in practice. We claim that debugging reference errors remains challenging because CAD systems do not provide users with tools to understand where the error happened and how to fix it. To address these challenges, we prototype a graphical debugging tool, DeCAD, which helps comparing CAD model states both across operations and across edits. In a qualitative lab study, we use DeCAD as a probe to understand specific challenges that users face and what workflows they employ to overcome them. We conclude with design implications for future debugging tool developers.

References

[1]
2023. CADQuery. https://github.com/CadQuery/cadquery. Accessed: 2023-12-19.
[2]
2024. Onshape. https://www.onshape.com/en/. Accessed: 2024-03-25.
[3]
2024. Parasolid. https://plm.sw.siemens.com/en-US/plm-components/parasolid/
[4]
2024. SolidTranslate. https://www.cadsharp.com/solidtranslate/
[5]
2024. Solidworks. https://www.solidworks.com/. Accessed: 2024-03-25.
[6]
2024. three.js. https://threejs.org/
[7]
Ekansh Agrawal, Omair Alam, Chetan Goenka, Medha Iyer, Isabela Moise, Ashish Pandian, and Bren Paul. 2024. Code Compass: A Study on the Challenges of Navigating Unfamiliar Codebases. arXiv preprint arXiv:2405.06271 (2024).
[8]
Abdulaziz Alaboudi and Thomas D LaToza. 2021. An exploratory study of debugging episodes. arXiv preprint arXiv:2105.02162 (2021).
[9]
Moritz Beller, Niels Spruit, Diomidis Spinellis, and Andy Zaidman. 2018. On the dichotomy of debugging behavior among programmers. In Proceedings of the 40th International Conference on Software Engineering. 572–583.
[10]
Gilbert Louis Bernstein and Wilmot Li. 2015. Lillicon: Using transient widgets to create scale variations of icons. ACM Transactions on Graphics (TOG) 34, 4 (2015), 1–11.
[11]
Theodore J Branoff and James H Earle. 2016. Interpreting engineering drawings. Cengage Learning.
[12]
Dan Cascaval, Rastislav Bodik, and Adriana Schulz. 2023. A Lineage-Based Referencing DSL for Computer-Aided Design. Proceedings of the ACM on Programming Languages 7, PLDI (2023), 76–99.
[13]
Dan Cascaval, Mira Shalah, Phillip Quinn, Rastislav Bodik, Maneesh Agrawala, and Adriana Schulz. 2022. Differentiable 3D CAD Programs for Bidirectional Editing. In Computer Graphics Forum, Vol. 41. Wiley Online Library, 309–323.
[14]
Kathy Cheng, Phil Cuvin, Alison Olechowski, and Shurui Zhou. 2023. User Perspectives on Branching in Computer-Aided Design. Proceedings of the ACM on Human-Computer Interaction 7, CSCW2 (2023), 1–30.
[15]
Ladislav Čmolík and Jiří Bittner. 2010. Layout-aware optimization for interactive labeling of 3D models. Computers & Graphics 34, 4 (2010), 378–387.
[16]
Xingyi Du, Qingnan Zhou, Nathan Carr, and Tao Ju. 2021. Boundary-sampled halfspaces: a new representation for constructive solid modeling. ACM Transactions on Graphics (TOG) 40, 4 (2021), 1–15.
[17]
Ran Gal, Olga Sorkine, Niloy J Mitra, and Daniel Cohen-Or. 2009. iWIRES: An analyze-and-edit approach to shape manipulation. In ACM SIGGRAPH 2009 papers. 1–10.
[18]
Aditya Ganeshan, Ryan Y Huang, Xianghao Xu, R Kenny Jones, and Daniel Ritchie. 2024. ParSEL: Parameterized Shape Editing with Language. arXiv preprint arXiv:2405.20319 (2024).
[19]
Sneha Gathani, Peter Lim, and Leilani Battle. 2020. Debugging database queries: A survey of tools, techniques, and users. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. 1–16.
[20]
David J Gilmore. 1991. Models of debugging. Acta psychologica 78, 1-3 (1991), 151–172.
[21]
Johann Felipe Gonzalez, Danny Kieken, Thomas Pietrzak, Audrey Girouard, and Géry Casiez. 2023. Introducing Bidirectional Programming in Constructive Solid Geometry-Based CAD. In Proceedings of the 2023 ACM Symposium on Spatial User Interaction. 1–12.
[22]
Ken Gu, Eunice Jun, and Tim Althoff. 2023. Understanding and supporting debugging workflows in multiverse analysis. In Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems. 1–19.
[23]
Philip J Guo. 2013. Online python tutor: embeddable web-based program visualization for cs education. In Proceeding of the 44th ACM technical symposium on Computer science education. 579–584.
[24]
Jeffrey Heer, Jock Mackinlay, Chris Stolte, and Maneesh Agrawala. 2008. Graphical histories for visualization: Supporting analysis, communication, and evaluation. IEEE transactions on visualization and computer graphics 14, 6 (2008), 1189–1196.
[25]
Brian Hempel, Justin Lubin, and Ravi Chugh. 2019. Sketch-n-sketch: Output-directed programming for svg. In Proceedings of the 32nd Annual ACM Symposium on User Interface Software and Technology. 281–292.
[26]
Jeisson Hidalgo-Céspedes, Gabriela Marín-Raventós, and Vladimir Lara-Villagrán. 2016. Learning principles in program visualizations: A systematic literature review. In 2016 IEEE frontiers in education conference (FIE). IEEE, 1–9.
[27]
Jane Hoffswell, Arvind Satyanarayan, and Jeffrey Heer. 2016. Visual debugging techniques for reactive data visualization. In Computer Graphics Forum, Vol. 35. Wiley Online Library, 271–280.
[28]
Josh Holinaty, Alec Jacobson, and Fanny Chevalier. 2021. Supporting reference imagery for digital drawing. In Proceedings of the IEEE/CVF International Conference on Computer Vision. 2434–2442.
[29]
Takeo Igarashi, Tomer Moscovich, and John F Hughes. 2005. As-rigid-as-possible shape manipulation. ACM transactions on Graphics (TOG) 24, 3 (2005), 1134–1141.
[30]
Peiling Jiang, Fuling Sun, and Haijun Xia. 2023. Log-it: Supporting Programming with Interactive, Contextual, Structured, and Visual Logs. In Proceedings of the 2023 CHI Conference on Human Factors in Computing Systems. 1–16.
[31]
Hyeonsu Kang and Philip J Guo. 2017. Omnicode: A novice-oriented live programming environment with always-on run-time value visualizations. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology. 737–745.
[32]
Amy J Ko and Brad A Myers. 2004. Designing the whyline: a debugging interface for asking questions about program behavior. In Proceedings of the SIGCHI conference on Human factors in computing systems. 151–158.
[33]
Amy J Ko, Brad A Myers, Michael J Coblenz, and Htet Htet Aung. 2006. An exploratory study of how developers seek, relate, and collect relevant information during software maintenance tasks. IEEE Transactions on software engineering 32, 12 (2006), 971–987.
[34]
Uday Kusupati, Mathieu Gaillard, Jean-Marc Thiery, and Adrien Kaiser. 2024. Semantic Shape Editing with Parametric Implicit Templates. In ACM SIGGRAPH 2024 Conference Papers. 1–11.
[35]
Thomas D LaToza and Brad A Myers. 2011. Visualizing call graphs. In 2011 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC). IEEE, 117–124.
[36]
Sorin Lerner. 2020. Projection boxes: On-the-fly reconfigurable visualization for live programming. In Proceedings of the 2020 CHI Conference on Human Factors in Computing Systems. 1–7.
[37]
Tom Lieber, Joel R Brandt, and Rob C Miller. 2014. Addressing misconceptions about code with always-on programming visualizations. In Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. 2481–2490.
[38]
Richard Lin, Rohit Ramesh, Antonio Iannopollo, Alberto Sangiovanni Vincentelli, Prabal Dutta, Elad Alon, and Björn Hartmann. 2019. Beyond schematic capture: Meaningful abstractions for better electronics design tools. In Proceedings of the 2019 CHI Conference on Human Factors in Computing Systems. 1–13.
[39]
Liane Makatura, Michael Foshey, Bohan Wang, Felix HähnLein, Pingchuan Ma, Bolei Deng, Megan Tjandrasuwita, Andrew Spielberg, Crystal Elaine Owens, Peter Yichen Chen, 2023. How Can Large Language Models Help Humans in Design and Manufacturing?arXiv preprint arXiv:2307.14377 (2023).
[40]
Aman Mathur, Marcus Pirron, and Damien Zufferey. 2020. Interactive programming for parametric cad. In Computer graphics forum, Vol. 39. Wiley Online Library, 408–425.
[41]
Renee McCauley, Sue Fitzgerald, Gary Lewandowski, Laurie Murphy, Beth Simon, Lynda Thomas, and Carol Zander. 2008. Debugging: a review of the literature from an educational perspective. Computer Science Education 18, 2 (2008), 67–92.
[42]
Will McGrath, Daniel Drew, Jeremy Warner, Majeed Kazemitabaar, Mitchell Karchemsky, David Mellis, and Björn Hartmann. 2017. Bifröst: Visualizing and checking behavior of embedded systems across hardware and software. In Proceedings of the 30th Annual ACM Symposium on User Interface Software and Technology. 299–310.
[43]
William McGrath, Jeremy Warner, Mitchell Karchemsky, Andrew Head, Daniel Drew, and Bjoern Hartmann. 2018. Wifröst: Bridging the information gap for debugging of networked embedded systems. In Proceedings of the 31st Annual ACM Symposium on User Interface Software and Technology. 447–455.
[44]
Elie Michel and Tamy Boubekeur. 2021. DAG amendment for inverse control of parametric shapes. ACM Transactions on Graphics (TOG) 40, 4 (2021), 1–14.
[45]
George A Miller. 1956. The magical number seven, plus or minus two: Some limits on our capacity for processing information.Psychological review 63, 2 (1956), 81.
[46]
Guillaume Pothier and Éric Tanter. 2009. Back to the future: Omniscient debugging. IEEE software 26, 6 (2009), 78–85.
[47]
Eduardo Rinaldi, Davide Sforza, and Fabio Pellacini. 2023. NodeGit: Diffing and Merging Node Graphs. ACM Transactions on Graphics (TOG) 42, 6 (2023), 1–12.
[48]
Nischal Shrestha, Titus Barik, and Chris Parnin. 2021. Unravel: A fluent code explorer for data wrangling. In The 34th Annual ACM Symposium on User Interface Software and Technology. 198–207.
[49]
Ruben M Smelik, Tim Tutenel, Rafael Bidarra, and Bedrich Benes. 2014. A survey on procedural modelling for virtual worlds. In Computer graphics forum, Vol. 33. Wiley Online Library, 31–50.
[50]
Juha Sorva, Ville Karavirta, and Lauri Malmi. 2013. A review of generic program visualization systems for introductory programming education. ACM Transactions on Computing Education (TOCE) 13, 4 (2013), 1–64.
[51]
Richard Stallman, Roland Pesch, Stan Shebs, 1988. Debugging with GDB. Free Software Foundation 675 (1988).
[52]
Ian Vollick, Daniel Vogel, Maneesh Agrawala, and Aaron Hertzmann. 2007. Specifying label layout style by example. In Proceedings of the 20th annual ACM symposium on User interface software and technology. 221–230.
[53]
Anneliese Von Mayrhauser and A Marie Vans. 1997. Program understanding behavior during debugging of large scale software. In Papers presented at the seventh workshop on Empirical studies of programmers. 157–179.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
UIST '24: Proceedings of the 37th Annual ACM Symposium on User Interface Software and Technology
October 2024
2334 pages
ISBN:9798400706288
DOI:10.1145/3654777
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike International 4.0 License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 11 October 2024

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

Conference

UIST '24

Acceptance Rates

Overall Acceptance Rate 561 of 2,567 submissions, 22%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 294
    Total Downloads
  • Downloads (Last 12 months)294
  • Downloads (Last 6 weeks)129
Reflects downloads up to 01 Mar 2025

Other Metrics

Citations

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Login options

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media