Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/3524842.3528455acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
research-article

Challenges in migrating imperative deep learning programs to graph execution: an empirical study

Published: 17 October 2022 Publication History

Abstract

Efficiency is essential to support responsiveness w.r.t. ever-growing datasets, especially for Deep Learning (DL) systems. DL frameworks have traditionally embraced deferred execution-style DL code that supports symbolic, graph-based Deep Neural Network (DNN) computation. While scalable, such development tends to produce DL code that is error-prone, non-intuitive, and difficult to debug. Consequently, more natural, less error-prone imperative DL frameworks encouraging eager execution have emerged at the expense of run-time performance. While hybrid approaches aim for the "best of both worlds," the challenges in applying them in the real world are largely unknown. We conduct a data-driven analysis of challenges---and resultant bugs---involved in writing reliable yet performant imperative DL code by studying 250 open-source projects, consisting of 19.7 MLOC, along with 470 and 446 manually examined code patches and bug reports, respectively. The results indicate that hybridization: (i) is prone to API misuse, (ii) can result in performance degradation---the opposite of its intention, and (iii) has limited application due to execution mode incompatibility. We put forth several recommendations, best practices, and anti-patterns for effectively hybridizing imperative DL code, potentially benefiting DL practitioners, API designers, tool developers, and educators.

References

[1]
Martín Abadi et al. 2016. TensorFlow: a system for large-scale Machine Learning. In Symposium on Operating Systems Design and Implementation.
[2]
2020. Added jitted ncon. Pull request #623. google/TensorNetwork. Xanadu. (May 26, 2020). Retrieved 01/10/2022 from https://git.io/J9cMx.
[3]
Akshay Agrawal et al. 2019. TensorFlow Eager: a multi-stage, Python-embedded DSL for Machine Learning. (2019). arXiv: 1903.01855 [cs.PL].
[4]
Saleema Amershi, Andrew Begel, Christian Bird, Robert DeLine, Harald Gall, Ece Kamar, Nachiappan Nagappan, Besmira Nushi, and Thomas Zimmermann. 2019. Software Engineering for Machine Learning: a case study. In International Conference on Software Engineering. Software Engineering in Practice. IEEE. IEEE, (May 2019), 291--300.
[5]
Apache. 2018. Customer layers (beginners). Apache MXNet documentation. Retrieved 07/23/2021 from https://mxnet.apache.org/versions/1.7/api/python/docs/tutorials/packages/gluon/blocks/custom_layer_beginners.html.
[6]
Apache. 2021. Hybridize. Apache MXNet documentation. (April 8, 2021). Retrieved 04/08/2021 from https://mxnet.apache.org/versions/1.8.0/api/python/docs/tutorials/packages/gluon/blocks/hybridize.html.
[7]
Apache Software Foundation. 2021. Open Deep Learning compiler stack. (December 1, 2021). Retrieved 12/01/2021 from https://git.io/JMric.
[8]
Apple Inc. 2021. Core ML tools. (December 1, 2021). Retrieved 12/01/2021 from https://git.io/JMr61.
[9]
A. Arpteg, B. Brinne, L. Crnkovic-Friis, and J. Bosch. 2018. Software Engineering challenges of Deep Learning. In Euromicro Conference on Software Engineering and Advanced Applications. IEEE, 50--59.
[10]
Deeksha Arya, Wenting Wang, Jin L. C. Guo, and Jinghui Cheng. 2019. Analysis and detection of information types of open source software issue discussions. In International Conference on Software Engineering. (May 2019), 454--464.
[11]
Hassan Atwi, Bin Lin, Nikolaos Tsantalis, Yutaro Kashiwa, Yasutaka Kamei, Naoyasu Ubayashi, Gabriele Bavota, and Michele Lanza. 2021. PyRef: refactoring detection in Python projects. In International Working Conference on Source Code Analysis and Manipulation.
[12]
Hlib Babii, Julian Aron Prenner, Laurin Stricker, Anjan Karmakar, Andrea Janes, and Romain Robbes. 2021. Mining software repositories with a collaborative heuristic repository. In International Conference on Software Engineering (ICSE-NIER '21). IEEE, 106--110.
[13]
Mehdi Bagherzadeh, Nicholas Fireman, Anas Shawesh, and Raffi Khatchadourian. 2020. Actor concurrency bugs: a comprehensive study on symptoms, root causes, API usages, and differences. Proc. ACM Program. Lang., 4, OOPSLA, Article 214, (November 2020), 1--32.
[14]
Mehdi Bagherzadeh and Raffi Khatchadourian. 2019. Going big: a large-scale study on what big data developers ask. In Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM, 432--442.
[15]
Wilson Baker, Michael O'Connor, Seyed Reza Shahamiri, and Valerio Terragni. 2022. Detect, fix, and verify TensorFlow API misuses. In International Conference on Software Analysis, Evolution and Reengineering, 1--5.
[16]
Houssem Ben Braiek, Foutse Khomh, and Bram Adams. 2018. The open-closed principle of modern Machine Learning frameworks. In Mining Software Repositories, 353--363. isbn: 978-1-4503-5716-6.
[17]
S. Biswas, M. J. Islam, Y. Huang, and H. Rajan. 2019. Boa meets Python: a Boa dataset of Data Science software in Python language. In Mining Software Repositories, 577--581.
[18]
2021. bug boxsize=nc. modichirag/galference. af1664e. UC Berkeley. (April 16, 2021). Retrieved 01/10/2022 from https://git.io/J9ciM.
[19]
2020. Bug fix: compilation issue quadrature. Pull request #1418. GPflow/GPflow. Cambridge University. (April 8, 2020). Retrieved 01/14/2022 from https://github.com/GPflow/GPflow/pull/1418#issue-596552141.
[20]
2020. Bug in TensorFlow only allows it to run once. Issue #13. MLH-Fellowship/neuro-art. MLH Fellowship. (November 10, 2020). Retrieved 01/13/2022 from https://github.com/MLH-Fellowship/neuro-art/issues/13.
[21]
2019. Calling tf.function from tf.py_function in dataset.map hangs. (September 11, 2019). Retrieved 01/05/2022 from https://git.io/JSSBw.
[22]
Junming Cao, Bihuan Chen, Chao Sun, Longjie Hu, and Xin Peng. 2021. Characterizing performance bugs in Deep Learning systems. (December 3, 2021). arXiv: 2112.01771 [cs.SE].
[23]
Casey Casalnuovo, Yagnik Suchak, Baishakhi Ray, and Cindy Rubio-González. 2017. GitcProc: a tool for processing and classifying GitHub commits. In International Symposium on Software Testing and Analysis (ISSTA '17). ACM, 396--399.
[24]
Tatiana Castro Vélez, Raffi Khatchadourian, Mehdi Bagherzadeh, and Anita Raja. Challenges in migrating imperative DL programs to graph execution: an empirical study. Zenodo, (March 31, 2022).
[25]
Tianqi Chen, Mu Li, Yutian Li, Min Lin, Naiyan Wang, Minjie Wang, Tianjun Xiao, Bing Xu, Chiyuan Zhang, and Zheng Zhang. 2015. MXNet: a flexible and efficient Machine Learning library for heterogeneous distributed systems. In Workshop on Machine Learning Systems at NIPS. arXiv: 1512.01274 [cs.DC].
[26]
Zhenpeng Chen, Huihan Yao, Yiling Lou, Yanbin Cao, Yuanqiang Liu, Haoyu Wang, and Xuanzhe Liu. 2021. An empirical study on deployment faults of Deep Learning based mobile applications. In International Conference on Software Engineering. ACM/IEEE. IEEE.
[27]
François Chollet. 2020. Deep Learning with Python. (2nd edition). Manning.
[28]
2019. Cryptic error message when assigning to a variable in a tf.function. Issue #30768. tensorflow/tensorflow. (July 21, 2019). Retrieved 01/17/2022 from https://github.com/tensorflow/tensorflow/issues/30768.
[29]
2021. Deadlock on recursive tf.function-decorated function. Issue #35540. (October 8, 2021). Retrieved 01/05/2022 from https://git.io/JSS4P.
[30]
2021. Deep Learning examples. NVIDIA. (March 1, 2021). Retrieved 05/05/2021 from https://git.io/J2vFG.
[31]
2019. Dense image warp tests are flaky. AWS. (April 3, 2019). Retrieved 01/13/2022 from https://github.com/tensorflow/addons/issues/138#issue-428951400.
[32]
Malinda Dilhara, Ameya Ketkar, and Danny Dig. 2021. Understanding software-2.0: a study of Machine Learning library usage and evolution. ACM Transactions on Software Engineering and Methodology.
[33]
Malinda Dilhara, Ameya Ketkar, Nikhith Sannidhi, and Danny Dig. 2022. Discovering repetitive code changes in Python ML systems. In International Conference on Software Engineering (ICSE '22). To appear.
[34]
Robert Dyer, Hridesh Rajan, Hoan Anh Nguyen, and Tien N. Nguyen. 2014. Mining billions of AST nodes to study actual and potential usage of Java language features. In International Conference on Software Engineering, 779--790. isbn: 978-1-4503-2756-5.
[35]
Dawson Engler, David Yu Chen, Seth Hallem, Andy Chou, and Benjamin Chelf. 2001. Bugs as deviant behavior: a general approach to inferring errors in systems code. In Symposium on Operating Systems Principles (SOSP '01). ACM, Banff, Alberta, Canada, 57--72.
[36]
2020. Ensure compatibility with tf.function. secondmind-labs/trieste. Issue #90. Secondmind Labs. (December 2, 2020). Retrieved 11/08/2021 from https://github.com/secondmind-labs/trieste/issues/90.
[37]
Facebook Inc. 2019. PyTorch documentation. TorchScript. en. Retrieved 02/19/2021 from https://pytorch.org/docs/stable/jit.html.
[38]
2021. Fit bug in Blatt-Weisskopf; update Dalitz decomposition. Apoluekt/AmpliTF. d02db12. CERN. (July 19, 2021). Retrieved 01/03/2022 from https://git.io/JSi9f.
[39]
2019. FIX: dense image warp bug. (April 17, 2019). Retrieved 01/13/2022 from https://github.com/tensorflow/addons/pull/187.
[40]
2021. Fixed all ... this should work. samuelmat19/DDPG-tf2. 02a3f29. ML6. (February 26, 2021). Retrieved 01/12/2022 from https://github.com/samuelmat19/DDPG-tf2/commit/02a3f297#r47584455.
[41]
GitHub, Inc. 2021. Search. REST API Reference. GitHub Docs. Retrieved 12/02/2021 from https://docs.github.com/en/rest/reference/search.
[42]
Google LLC. 2021. Better performance with tf.function. (February 4, 2021). Retrieved 02/19/2021 from https://tensorflow.org/guide/function.
[43]
Google LLC. 2022. Introduction to graphs and tf.function. (January 19, 2022). Retrieved 01/20/2022 from https://tensorflow.org/guide/intro_to_graphs.
[44]
Google LLC. 2021. Introduction to variables. TensorFlow core. (November 11, 2021). Retrieved 01/03/2022 from https://www.tensorflow.org/guide/variable.
[45]
Google LLC. 2021. IREE: intermediate representation execution environment. (December 1, 2021). Retrieved 12/01/2021 from https://git.io/JMrPT.
[46]
Google LLC. 2021. Migrate your TensorFlow 1 code to TensorFlow 2. Automatic conversion script. TensorFlow Core. (May 27, 2021). Retrieved 05/27/2021 from https://tensorflow.org/guide/migrate#automatic_conversion_script.
[47]
Google LLC. 2021. Random number generation. Interaction with tf.function. TensorFlow Core. (November 16, 2021). Retrieved 01/07/2022 from https://tensorflow.org/guide/random_numbers#interaction_with_tffunction.
[48]
Google LLC. 2021. tf.compat.v1.Session. (May 14, 2021). Retrieved 07/06/2021 from https://tensorflow.org/api_docs/python/tf/compat/v1/Session#run.
[49]
Google LLC. 2021. tf.debugging.assert_equal. Retrieved 01/13/2022 from https://tensorflow.org/api_docs/python/tf/debugging/assert_equal#returns.
[50]
Google LLC. 2021. tf.py_function. Version 2.7.0. (November 5, 2021). Retrieved 01/05/2022 from https://tensorflow.org/api_docs/python/tf/py_function.
[51]
Google LLC. 2021. tf.random.set_seed. (December 4, 2021). Retrieved 01/03/2022 from https://tensorflow.org/api_docs/python/tf/random/set_seed.
[52]
Xue Han and Tingting Yu. 2016. An empirical study on performance bugs for highly configurable software systems. In International Symposium on Empirical Software Engineering and Measurement.
[53]
Y. Hashemi, M. Nayebi, and G. Antoniol. 2020. Documentation of Machine Learning software. In International Conference on Software Analysis, Evolution and Reengineering. (February 2020).
[54]
Horace He. 2019. The state of Machine Learning frameworks in 2019. Retrieved 04/01/2021 from https://thegradient.pub/state-of-ml-frameworks-2019-pytorch-dominates-research-tensorflow-dominates-industry.
[55]
Nargiz Humbatova, Gunel Jahangirova, Gabriele Bavota, Vincenzo Riccio, Andrea Stocco, and Paolo Tonella. 2020. Taxonomy of real faults in Deep Learning systems. In International Conference on Software Engineering.
[56]
Md Johirul Islam, Giang Nguyen, Rangeet Pan, and Hridesh Rajan. 2019. A comprehensive study on Deep Learning bug characteristics. In Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. (August 2019).
[57]
Md Johirul Islam, Hoan Anh Nguyen, Rangeet Pan, and Hridesh Rajan. 2019. What do developers ask about ML libraries? a large-scale study using Stack Overflow. (2019). arXiv: 1906.11940 [cs.SE].
[58]
Md Johirul Islam, Rangeet Pan, Giang Nguyen, and Hridesh Rajan. 2020. Repairing Deep Neural Networks: fix patterns and challenges. In International Conference on Software Engineering.
[59]
Hadhemi Jebnoun, Houssem Ben Braiek, Mohammad Masudur Rahman, and Foutse Khomh. 2020. The scent of Deep Learning code: an empirical study. In Mining Software Repositories.
[60]
Eunji Jeong, Sungwoo Cho, Gyeong-In Yu, Joo Seong Jeong, Dong-Jin Shin, Taebum Kim, and Byung-Gon Chun. 2019. Speculative symbolic graph execution of imperative Deep Learning programs. SIGOPS Oper. Syst. Rev., 53, 1, (July 2019), 26--33. issn: 0163-5980.
[61]
Guoliang Jin, Linhai Song, Xiaoming Shi, Joel Scherpelz, and Shan Lu. 2012. Understanding and detecting real-world performance bugs. In Programming Language Design and Implementation.
[62]
Hui Jin, Kan Qiao, Xian-He Sun, and Ying Li. 2011. Performance under failures of MapReduce applications. In International Symposium on Cluster, Cloud and Grid Computing.
[63]
Raffi Khatchadourian. 2021. graph_execution_time_comparison.ipynb. (February 23, 2021). Retrieved 11/03/2021 from https://bit.ly/3bwrhVt.
[64]
Raffi Khatchadourian and Hidehiko Masuhara. 2018. Proactive empirical assessment of new language feature adoption via automated refactoring: the case of Java 8 default methods. The Art, Science, and Engineering of Programming, 2, 6, 6:1--6:30, 3.
[65]
Raffi Khatchadourian, Yiming Tang, Mehdi Bagherzadeh, and Baishakhi Ray. 2020. An empirical study on the use and misuse of Java 8 streams. In International Conference on Fundamental Aspects of Software Engineering. ETAPS. (April 2020), 97--118.
[66]
Sifis Lagouvardos, Julian Dolby, Neville Grech, Anastasios Antoniadis, and Yannis Smaragdakis. 2020. Static analysis of shape in TensorFlow programs. In European Conference on Object-Oriented Programming. Volume 166, 15:1--15:29.
[67]
Chen Liu, Jie Lu, Guangwei Li, Ting Yuan, Lian Li, Feng Tan, Jun Yang, Liang You, and Jingling Xue. 2021. Detecting TensorFlow program bugs in real-world industrial environment. In International Conference on Automated Software Engineering. IEEE.
[68]
Jiakun Liu, Qiao Huang, Xin Xia, Emad Shihab, David Lo, and Shanping Li. 2020. Is using Deep Learning frameworks free? Characterizing technical debt in Deep Learning frameworks. In International Conference on Software Engineering (ICSE-SEIS '20).
[69]
Lucy Ellen Lwakatare, Aiswarya Raj, Jan Bosch, Helena Holmström Olsson, and Ivica Crnkovic. 2019. A taxonomy of software engineering challenges for Machine Learning systems: an empirical investigation. In Agile Processes in Software Engineering and Extreme Programming, 227--243.
[70]
Amir Makhshari and Ali Mesbah. 2021. IoT bugs and development challenges. In International Conference on Software Engineering. ACM/IEEE. IEEE, (May 2021).
[71]
2020. Migrate to tf.module and add support for SavedModels. Pull request #603. onnx/onnx-tensorflow. IBM. (July 2, 2020). Retrieved 12/14/2021 from https://git.io/JDEoD.
[72]
Dan Moldovan, James M. Decker, Fei Wang, Andrew A. Johnson, Brian K. Lee, Zachary Nado, D. Sculley, Tiark Rompf, and Alexander B. Wiltschko. 2019. AutoGraph: imperative-style coding with graph-based performance. (2019). arXiv: 1810.08061 [cs.PL].
[73]
Sarah Nadi, Stefan Krüger, Mira Mezini, and Eric Bodden. 2016. "Jumping through hoops:" why do Java developers struggle with cryptography APIs? In International Conference on Software Engineering. ACM, (May 2016), 935--946.
[74]
Amin Nikanjam and Foutse Khomh. 2021. Design smells in Deep Learning programs: an empirical study. In International Conference on Software Maintenance and Evolution. IEEE, 332--342.
[75]
NVIDIA Corporation. 2021. TensorRT open source software. (December 1, 2021). Retrieved 12/01/2021 from https://git.io/fjVoO.
[76]
Shengyi Pan, Lingfeng Bao, Xiaoxue Ren, Xin Xia, David Lo, and Shanping Li. 2021. Automating developer chat mining. In International Conference on Automated Software Engineering. (November 2021), 854--866.
[77]
Chris Parnin, Christian Bird, and Emerson Murphy-Hill. 2013. Adoption and use of Java generics. Empirical Softw. Engg., 18, 6, (December 2013), 1047--1089. issn: 1382-3256.
[78]
Alexandre Passos. 2019. tf.function-decorated function tried to create variables on non-first call. (June 11, 2019). Retrieved 01/13/2022 from https://github.com/tensorflow/tensorflow/issues/27120#issuecomment-500975337.
[79]
Adam Paszke et al. 2019. PyTorch: an imperative style, high-performance Deep Learning library. (December 3, 2019). arXiv: 1912.01703 [cs.LG].
[80]
2021. Performance bottleneck due to tf.function retracing. Issue #74. TensorFlow. q-optimize/c3. (March 18, 2021). Retrieved 11/08/2021 from https://github.com/q-optimize/c3/issues/74.
[81]
2020. Reduce tf.function retracing. Pull Request #100. (August 10, 2020). Retrieved 11/08/2021 from https://github.com/keiohta/tf2rl/pull/100.
[82]
2020. Remove @tf.function in tfa.image.equalize. Issue #2263. eomii. (December 3, 2020). Retrieved 01/10/2022 from https://git.io/J9cAb.
[83]
2022. Remove 'experimental_relax_shapes=true' to avoid none shape. University of Chinese Academy of Sciences. (January 4, 2022). Retrieved 01/10/2022 from http://github.com/jiangyi15/tf-pwa/commit/0db1#r62889998.
[84]
2020. Remove tf.function decorator in tfa.image.equalize. (December 5, 2020). Retrieved 01/10/2022 from https://git.io/J9Cft.
[85]
2020. Remove tf.function decorator in tfa.image.equalize. eomii. (December 8, 2020). Retrieved 01/10/2022 from https://git.io/J9chg.
[86]
D. Sculley, Gary Holt, Daniel Golovin, Eugene Davydov, Todd Phillips, Dietmar Ebner, Vinay Chaudhary, Michael Young, Jean-François Crespo, and Dan Dennison. 2015. Hidden technical debt in Machine Learning systems. In Advances in Neural Information Processing Systems, 2503--2511.
[87]
Stack Exchange Inc. 2020. Should I use @tf.function for all functions? Stack Overflow. (January 21, 2020). Retrieved 11/08/2021 from https://stackoverflow.com/questions/59847045/should-i-use-tf-function-for-all-functions.
[88]
Eric Stavarache. 2019. tf.function-decorated function tried to create variables on non-first call. Issue #27120. ETH Zürich. (March 25, 2019). Retrieved 01/13/2022 from https://github.com/tensorflow/tensorflow/issues/27120.
[89]
2019. Surprising random seed behavior when using @tf.function. Issue #33297. (October 13, 2019). Retrieved 01/03/2022 from https://git.io/JSiac.
[90]
Florian Tambon, Amin Nikanjam, Le An, Foutse Khomh, and Giuliano Antoniol. 2021. Silent bugs in Deep Learning frameworks: an empirical study of Keras and TensorFlow. (2021). arXiv: 2112.13314 [cs.SE].
[91]
Yiming Tang, Raffi Khatchadourian, Mehdi Bagherzadeh, Rhia Singh, Ajani Stewart, and Anita Raja. 2021. An empirical study of refactorings and technical debt in Machine Learning systems. In International Conference on Software Engineering, 238--250.
[92]
Yiming Tang, Allan Spektor, Raffi Khatchadourian, and Mehdi Bagherzadeh. 2022. Automated evolution of feature logging statement levels using Git histories and degree of interest. Science of Computer Programming, 214, (February 1, 2022), 102724.
[93]
Ferdian Thung, Shaowei Wang, David Lo, and Lingxiao Jiang. 2012. An empirical study of bugs in Machine Learning systems. In International Symposium on Software Reliability Engineering.
[94]
Yuchi Tian and Baishakhi Ray. 2017. Automatically diagnosing and repairing error handling bugs in C. In Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. ACM, 752--762.
[95]
Nikolaos Tsantalis, Ameya Ketkar, and Danny Dig. 2020. RefactoringMiner 2.0. IEEE Trans. Softw. Eng.
[96]
Anthony J. Viera and Joanne M. Garrett. 2005. Understanding interobserver agreement: the kappa statistic. Family medicine, 37, 360--363, 5.
[97]
Zhiyuan Wan, David Lo, Xin Xia, and Liang Cai. 2017. Bug characteristics in blockchain systems: a large-scale empirical study. In Mining Software Repositories. IEEE, (May 2017), 413--424.
[98]
Wenting Wang, Deeksha Arya, Nicole Novielli, Jinghui Cheng, and Jin L.C. Guo. 2020. ArguLens: anatomy of community opinions on usability issues using argumentation models. In Conference on Human Factors in Computing Systems (CHI '20). ACM, (April 2020).
[99]
Tianyi Zhang, Cuiyun Gao, Lei Ma, Michael Lyu, and Miryung Kim. 2019. An empirical study of common challenges in developing Deep Learning applications. In International Symposium on Software Reliability Engineering. (October 2019).
[100]
Yuhao Zhang, Yifan Chen, Shing-Chi Cheung, Yingfei Xiong, and Lu Zhang. 2018. An empirical study on TensorFlow program bugs. In International Symposium on Software Testing and Analysis.
[101]
Zejun Zhang, Yanming Yang, Xin Xia, David Lo, Xiaoxue Ren, and John Grundy. 2021. Unveiling the mystery of API evolution in Deep Learning frameworks: a case study of TensorFlow 2. In International Conference on Software Engineering (ICSE-SEIP).
[102]
Jiayuan Zhou, Shaowei Wang, Cor-Paul Bezemer, Ying Zou, and Ahmed E. Hassan. 2021. Studying the association between bountysource bounties and the issue-addressing likelihood of GitHub issue reports. IEEE Trans. Softw. Eng., 47, 12, (December 2021), 2919--2933.
[103]
Weijie Zhou, Yue Zhao, Guoqiang Zhang, and Xipeng Shen. 2020. HARP: holistic analysis for refactoring Python-based analytics programs. In International Conference on Software Engineering, 506--517.

Cited By

View all
  • (2024)Investigating and Detecting Silent Bugs in PyTorch Programs2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER60148.2024.00035(272-283)Online publication date: 12-Mar-2024
  • (2024)Demystifying API misuses in deep learning applicationsEmpirical Software Engineering10.1007/s10664-023-10413-929:2Online publication date: 16-Feb-2024
  • (2023)Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Graph Execution2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00187(1800-1802)Online publication date: 11-Sep-2023

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
MSR '22: Proceedings of the 19th International Conference on Mining Software Repositories
May 2022
815 pages
ISBN:9781450393034
DOI:10.1145/3524842
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

In-Cooperation

  • IEEE CS

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 17 October 2022

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. deep learning
  2. empirical studies
  3. graph-based execution
  4. hybrid programming paradigms
  5. imperative programs
  6. software evolution

Qualifiers

  • Research-article

Funding Sources

  • PSC-CUNY

Conference

MSR '22
Sponsor:

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)33
  • Downloads (Last 6 weeks)0
Reflects downloads up to 20 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Investigating and Detecting Silent Bugs in PyTorch Programs2024 IEEE International Conference on Software Analysis, Evolution and Reengineering (SANER)10.1109/SANER60148.2024.00035(272-283)Online publication date: 12-Mar-2024
  • (2024)Demystifying API misuses in deep learning applicationsEmpirical Software Engineering10.1007/s10664-023-10413-929:2Online publication date: 16-Feb-2024
  • (2023)Towards Safe Automated Refactoring of Imperative Deep Learning Programs to Graph Execution2023 38th IEEE/ACM International Conference on Automated Software Engineering (ASE)10.1109/ASE56229.2023.00187(1800-1802)Online publication date: 11-Sep-2023

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media