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

Nufix: escape from NuGet dependency maze

Published: 05 July 2022 Publication History

Abstract

Developers usually suffer from <u>d</u>ependency <u>m</u>aze (DM) issues, i.e., package dependency constraints are violated when a project's platform or dependencies are changed. This problem is especially serious in .NET ecosystem due to its fragmented platforms (e.g., .NET Framework, .NET Core, and .NET Standard). Fixing DM issues is challenging due to the complexity of dependency constraints: multiple DM issues often occur in one project; solving one DM issue usually causes another DM issue cropping up; the exponential search space of possible dependency combinations is also a barrier.
In this paper, we aim to help .NET developers tackle the DM issues. First, we empirically studied a set of real DM issues, learning their common fixing strategies and developers' preferences in adopting these strategies. Based on these findings, we propose NuFix, an automated technique to repair DM issues. NuFix formulates the repair task as a binary integer linear optimization problem to effectively derive an optimal fix in line with the learnt developers' preferences. The experiment results and expert validation show that NuFix can generate high-quality fixes for all the DM issues with 262 popular .NET projects. Encouragingly, 20 projects (including affected projects such as Dropbox) have approved and merged our generated fixes, and shown great interests in our technique.

References

[1]
2021. Interactive compatibility matrix of .NET Standard. https://docs.microsoft.com/en-us/dotnet/standard/net-standard#net-implementation-support. (2021). Accessed: 2021-06-01.
[2]
2021. Introduction for .NET platforms in Microsoft documentation. https://docs.microsoft.com/en-us/dotnet/standard/components. (2021). Accessed: 2021-06-01.
[3]
2021. Issue #1039 of project refit. https://github.com/reactiveui/refit/issues/1039. (2021). Accessed: 2021-06-01.
[4]
2021. Issue #11 of project Unmockable. https://github.com/riezebosch/Unmockable/issues/11. (2021). Accessed: 2021-06-01.
[5]
2021. Issue #1139 of project EasyNetQ. https://github.com/EasyNetQ/EasyNetQ/issues/1139. (2021). Accessed: 2021-06-01.
[6]
2021. Issue #18 of project ServiceFabric. https://github.com/autofac/Autofac.ServiceFabric/issues/18. (2021). Accessed: 2021-06-01.
[7]
2021. Issue #81 of project Installer. https://github.com/dotnet/installer/issues/81. (2021). Accessed: 2021-06-01.
[8]
2021. Issue #886 of project AzureAD. https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/issues/886. (2021). Accessed: 2021-06-01.
[9]
2021. Issue#14393 of project aspnetcore. https://github.com/dotnet/aspnetcore/issues/14393. (2021). Accessed: 2021-06-01.
[10]
2021. Issue#153 of project AndroidX. https://github.com/xamarin/AndroidX/issues/153. (2021). Accessed: 2021-06-01.
[11]
2021. Issue#36550 of project corefx. https://github.com/dotnet/corefx/pull/36550. (2021). Accessed: 2021-06-01.
[12]
2021. Issue#425 of project GoogleCloudPlatform. https://github.com/GoogleCloudPlatform/dotnet-docs-samples/issues/425. (2021). Accessed: 2021-06-01.
[13]
2021. Issue#545 of project standard. https://github.com/dotnet/standard/issues/545. (2021). Accessed: 2021-06-01.
[14]
2021. Issue#5696 of project aspnetcore. https://github.com/dotnet/aspnetcore/issues/5696. (2021). Accessed: 2021-06-01.
[15]
2021. Issue#972 of project EasyNetQ. https://github.com/EasyNetQ/EasyNetQ/issues/972. (2021). Accessed: 2021-06-01.
[16]
2021. NuGet central repository. https://www.nuget.org/. (2021). Accessed: 2021-02-01.
[17]
2021. PR #41 of project fortnox.NET. https://github.com/zenta-ab/fortnox.NET/pull/41. (2021). Accessed: 2021-06-01.
[18]
2021. PR#43 of charlessolar. https://github.com/charlessolar/eShopOnContainersDDD/pull/43. (2021). Accessed: 2021-06-01.
[19]
2021. Project Dropbox. https://github.com/dropbox/dropbox-sdk-dotnet. (2021). Accessed: 2021-06-01.
[20]
2021. Project h5. https://github.com/theolivenbaum/h5. (2021). Accessed: 2021-02-01.
[21]
2021. Project Restaurant. https://github.com/chayxana/Restaurant-App. (2021). Accessed: 2021-02-01.
[22]
2021. python-mip. https://pypi.org/project/mip/. (2021). Accessed: 2021-02-01.
[23]
2021. Semantic versioning strategy. https://semver.org/. (2021). Accessed: 2021-06-01.
[24]
Pietro Abate and Roberto Di Cosmo. 2011. Predicting upgrade failures using dependency analysis. In 2011 IEEE 27th International Conference on Data Engineering Workshops. IEEE, 145--150.
[25]
Pietro Abate, Roberto Di Cosmo, Georgios Gousios, and Stefano Zacchiroli. 2020. Dependency Solving Is Still Hard, but We Are Getting Better at It. In IEEE 27th International Conference on Software Analysis, Evolution and Reengineering (SANER). 547--551.
[26]
Pietro Abate, Roberto Di Cosmo, Ralf Treinen, and Stefano Zacchiroli. 2012. Dependency solving: a separate concern in component evolution management. Journal of Systems and Software 85, 10 (2012), 2228--2240.
[27]
Christoffer Quist Adamsen, Anders Møller, Rezwana Karim, Manu Sridharan, Frank Tip, and Koushik Sen. 2017. Repairing event race errors by controlling nondeterminism. In 2017 IEEE/ACM 39th International Conference on Software Engineering (ICSE). IEEE, 289--299.
[28]
Afsoon Afzal, Manish Motwani, Kathryn Stolee, Yuriy Brun, and Claire Le Goues. 2019. SOSRepair: Expressive semantic search for real-world program repair. IEEE Transactions on Software Engineering (2019).
[29]
Jafar Al-Kofahi, Hung Viet Nguyen, and Tien N Nguyen. 2014. Fault localization for build code errors in makefiles. In Companion Proceedings of the 36th International Conference on Software Engineering. 600--601.
[30]
Josep Argelich, Daniel Le Berre, Inês Lynce, Joao Marques-Silva, and Pascal Rapicault. 2010. Solving Linux upgradeability problems using boolean optimization. LoCoCo 2010: Logics for Component Configuration (2010).
[31]
Gabriele Bavota, Gerardo Canfora, Massimiliano Di Penta, Rocco Oliveto, and Sebastiano Panichella. 2015. How the apache community upgrades dependencies: an evolutionary study. Empirical Software Engineering 20, 5 (2015), 1275--1317.
[32]
Yaile Caballero, Rafael Bello, Alberto Taboada, Ann Nowe, Maria M Garcia, and Gladys Casas. 2006. A new measure based in the rough set theory to estimate the training set quality. In 2006 Eighth International Symposium on Symbolic and Numeric Algorithms for Scientific Computing. IEEE, 133--140.
[33]
John W. Creswell. 2013. Qualitative Inquiry and Research Design: Choosing Among Five Approaches (3rd Edition). SAGE Publications, Inc.
[34]
Soto-Valero César, Harrand Nicolas, Monperrus Martin, and Baudry Benoit. 2021. A comprehensive study of bloated dependencies in the Maven ecosystem. Empirical Software Engineering 26, 45 (2021).
[35]
Brett Daniel, Tihomir Gvero, and Darko Marinov. 2010. On test repair using symbolic execution. In Proceedings of the 19th international symposium on Software testing and analysis. 207--218.
[36]
Alexandre Decan and Tom Mens. 2021. What Do Package Dependencies Tell Us About Semantic Versioning? IEEE Transactions on Software Engineering 47, 6 (2021), 1226--1240.
[37]
Alexandre Decan, Tom Mens, and Eleni Constantinou. 2018. On the Evolution of Technical Lag in the npm Package Dependency Network. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). 404--414.
[38]
Alexandre Decan, Tom Mens, and Eleni Constantinou. 2018. On the evolution of technical lag in the npm package dependency network. In 2018 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 404--414.
[39]
Alexandre Decan, Tom Mens, and Philippe Grosjean. 2019. An empirical comparison of dependency network evolution in seven software packaging ecosystems. Empirical Software Engineering 24, 1 (2019), 381--416.
[40]
Favio DeMarco, Jifeng Xuan, Daniel Le Berre, and Martin Monperrus. 2014. Automatic repair of buggy if conditions and missing preconditions with SMT. In Proceedings of the 6th international workshop on constraints in software testing, verification, and analysis. 30--39.
[41]
Jens Dietrich, David Pearce, Jacob Stringer, Amjed Tahir, and Kelly Blincoe. 2019. Dependency Versioning in the Wild. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). 349--359.
[42]
Rui-Zhi Dong, Xin Peng, Yi-Jun Yu, and Wen-Yun Zhao. 2013. Requirements-driven self-repairing against environmental failures. In 2013 International Symposium on Theoretical Aspects of Software Engineering. IEEE, 241--244.
[43]
Rosa L Figueroa, Qing Zeng-Treitler, Sasikiran Kandula, and Long H Ngo. 2012. Predicting sample size required for classification performance. BMC medical informatics and decision making 12, 1 (2012), 1--10.
[44]
Bernd Fischer, Ando Saabas, and Tarmo Uustalu. 2009. Program repair as sound optimization of broken programs. In 2009 Third IEEE International Symposium on Theoretical Aspects of Software Engineering. IEEE, 165--173.
[45]
Patrick Franz, Thorsten Berger, Ibrahim Fayaz, Sarah Nadi, and Evgeny Groshev. 2021. ConfigFix: Interactive Configuration Conflict Resolution for the Linux Kernel. In 2021 IEEE/ACM 43rd International Conference on Software Engineering: Software Engineering in Practice (ICSE-SEIP). IEEE, 91--100.
[46]
Zebao Gao, Zhenyu Chen, Yunxiao Zou, and Atif M Memon. 2015. Sitar: Gui test script repair. Ieee transactions on software engineering 42, 2 (2015), 170--186.
[47]
Foyzul Hassan and Xiaoyin Wang. 2018. Hirebuild: An automatic approach to history-driven repair of build scripts. In 2018 IEEE/ACM 40th International Conference on Software Engineering (ICSE). IEEE, 1078--1089.
[48]
Joseph Hejderup, Arie van Deursen, and Georgios Gousios. 2018. Software ecosystem call graph for dependency management. In 2018 IEEE/ACM 40th International Conference on Software Engineering: New Ideas and Emerging Technologies Results (ICSE-NIER). IEEE, 101--104.
[49]
Kaifeng Huang, Bihuan Chen, Bowen Shi, Ying Wang, Congying Xu, and Xin Peng. 2020. Interactive, effort-aware library version harmonization. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 518--529.
[50]
Ishtiaque Hussain and Christoph Csallner. 2010. Dynamic symbolic data structure repair. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, Vol. 2. IEEE, 215--218.
[51]
Li Jia, Hao Zhong, Xiaoyin Wang, Linpeng Huang, and Xuansheng Lu. 2021. The Symptoms, Causes, and Repairs of bugs inside a Deep Learning Library. The Journal of Systems Software (2021), to appear.
[52]
Zhouyang Jia, Shanshan Li, Tingting Yu, Chen Zeng, Erci Xu, Xiaodong Liu, Ji Wang, and Xiangke Liao. 2021. DepOwl: Detecting Dependency Bugs to Prevent Compatibility Failures. In 2021 IEEE/ACM 43rd International Conference on Software Engineering (ICSE). 86--98.
[53]
HM Kalayeh and David A Landgrebe. 1983. Predicting the required number of training samples. IEEE transactions on pattern analysis and machine intelligence 6 (1983), 664--667.
[54]
Dongsun Kim, Yida Tao, Sunghun Kim, and Andreas Zeller. 2013. Where should we fix this bug? a two-phase recommendation model. IEEE transactions on software Engineering 39, 11 (2013), 1597--1610.
[55]
Marc D Kohli, Ronald M Summers, and J Raymond Geis. 2017. Medical image data and datasets in the era of machine learning---whitepaper from the 2016 C-MIMI meeting dataset session. Journal of digital imaging 30, 4 (2017), 392--399.
[56]
Anil Koyuncu, Kui Liu, Tegawendé F Bissyandé, Dongsun Kim, Martin Monperrus, Jacques Klein, and Yves Le Traon. 2019. iFixR: bug report driven program repair. In Proceedings of the 2019 27th ACM joint meeting on european software engineering conference and symposium on the foundations of software engineering. 314--325.
[57]
Raula Gaikovina Kula, Daniel M German, Ali Ouni, Takashi Ishio, and Katsuro Inoue. 2018. Do developers update their library dependencies? Empirical Software Engineering 23, 1 (2018), 384--417.
[58]
Xuan Bach D Le, David Lo, and Claire Le Goues. 2016. History driven program repair. In 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), Vol. 1. IEEE, 213--224.
[59]
Li Li, Daoyuan Li, Tegawendé F Bissyandé, Jacques Klein, Haipeng Cai, David Lo, and Yves Le Traon. 2017. Automatically locating malicious packages in piggybacked android apps. In 2017 IEEE/ACM 4th International Conference on Mobile Software Engineering and Systems (MOBILESoft). IEEE, 170--174.
[60]
Xiangyu Li, Marcelo d'Amorim, and Alessandro Orso. 2019. Intent-preserving test repair. In 2019 12th IEEE Conference on Software Testing, Validation and Verification (ICST). IEEE, 217--227.
[61]
Xuliang Liu and Hao Zhong. 2018. Mining StackOverflow for program repair. In Proc. SANER. 118--129.
[62]
Yiling Lou, Junjie Chen, Lingming Zhang, Dan Hao, and Lu Zhang. 2019. History-driven build failure fixing: how far are we?. In Proceedings of the 28th ACM SIGSOFT International Symposium on Software Testing and Analysis. 43--54.
[63]
Yiling Lou, Zhenpeng Chen, Yanbin Cao, Dan Hao, and Lu Zhang. 2020. Understanding build issue resolution in practice: symptoms and fix patterns. In Proceedings of the 28th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 617--628.
[64]
Christian Macho, Shane McIntosh, and Martin Pinzger. 2018. Automatically repairing dependency-related build breakage. In IEEE 25th International Conference on Software Analysis, Evolution and Reengineering (SANER). IEEE, 106--117.
[65]
Fabio Mancinelli, Jaap Boender, Roberto Di Cosmo, Jerome Vouillon, Berke Durak, Xavier Leroy, and Ralf Treinen. 2006. Managing the complexity of large free and open source package-based software distributions. In 21st IEEE/ACM International Conference on Automated Software Engineering (ASE'06). IEEE, 199--208.
[66]
Martin Monperrus, Simon Urli, Thomas Durieux, Matias Martinez, Benoit Baudry, and Lionel Seinturier. 2019. Repairnator patches programs automatically. Ubiquity 2019, July (2019), 1--12.
[67]
Suchita Mukherjee, Abigail Almanza, and Cindy Rubio-González. 2021. Fixing Dependency Errors for Python Build Reproducibility. In Proceedings of the 30th ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA 2021). 439--451.
[68]
Sayan Mukherjee, Pablo Tamayo, Simon Rogers, Ryan Rifkin, Anna Engle, Colin Campbell, Todd R Golub, and Jill P Mesirov. 2003. Estimating dataset size requirements for classifying DNA microarray data. Journal of computational biology 10, 2 (2003), 119--142.
[69]
Emerson Murphy-Hill, Thomas Zimmermann, Christian Bird, and Nachiappan Nagappan. 2014. The design space of bug fixes and how developers navigate it. IEEE Transactions on Software Engineering 41, 1 (2014), 65--81.
[70]
Jibesh Patra, Pooja N Dixit, and Michael Pradel. 2018. Conflictjs: finding and understanding conflicts between javascript libraries. In Proceedings of the 40th International Conference on Software Engineering. 741--751.
[71]
Xuhong Ren, Bing Yu, Hua Qi, Felix Juefei-Xu, Zhuo Li, Wanli Xue, Lei Ma, and Jianjun Zhao. 2020. Few-Shot Guided Mix for DNN Repairing. In 2020 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 717--721.
[72]
César Soto-Valero, Amine Benelallam, Nicolas Harrand, Olivier Barais, and Benoit Baudry. 2019. The Emergence of Software Diversity in Maven Central. In 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR). 333--343.
[73]
Shin Hwei Tan, Jooyong Yi, Sergey Mechtaev, Abhik Roychoudhury, et al. 2017. Codeflaws: a programming competition benchmark for evaluating automated program repair tools. In 2017 IEEE/ACM 39th International Conference on Software Engineering Companion (ICSE-C). IEEE, 180--182.
[74]
Haoye Tian, Kui Liu, Abdoul Kader Kaboré, Anil Koyuncu, Li Li, Jacques Klein, and Tegawendé F Bissyandé. 2020. Evaluating Representation Learning of Code Changes for Predicting Patch Correctness in Program Repair. In The 35th IEEE/ACM International Conference on Automated Software Engineering (ASE 2020).
[75]
Paulo Trezentos, Inês Lynce, and Arlindo L Oliveira. 2010. Apt-pbo: solving the software dependency problem using pseudo-boolean optimization. In Proceedings of the IEEE/ACM international conference on Automated software engineering. 427--436.
[76]
Andrew Troelsen. 2003. C# and the. NET Platform. Vol. 56. Springer.
[77]
Chris Tucker, David Shuffelton, Ranjit Jhala, and Sorin Lerner. 2007. OPIUM: Optimal Package Install/Uninstall Manager. In 29th International Conference on Software Engineering (ICSE'07). 178--188.
[78]
Michele Tufano, Cody Watson, Gabriele Bavota, Massimiliano Di Penta, Martin White, and Denys Poshyvanyk. 2019. Learning how to mutate source code from bug-fixes. In 2019 IEEE International Conference on Software Maintenance and Evolution (ICSME). IEEE, 301--312.
[79]
Marat Valiev, Bogdan Vasilescu, and James Herbsleb. 2018. Ecosystem-level determinants of sustained activity in open-source projects: A case study of the PyPI ecosystem. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 644--655.
[80]
Carmine Vassallo, Sebastian Proksch, Timothy Zemp, and Harald C Gall. 2018. Unbreak my build: Assisting developers with build repair hints. In 2018 IEEE/ACM 26th International Conference on Program Comprehension (ICPC). IEEE, 41--4110.
[81]
Jérôme Vouillon and Roberto Di Cosmo. 2013. On Software Component Co-Installability. ACM Trans. Softw. Eng. Methodol. 22, 4, Article 34 (2013), 35 pages.
[82]
Jérôme Vouillon and Roberto Di Cosmo. 2013. Broken Sets in Software Repository Evolution. In Proceedings of the 2013 International Conference on Software Engineering. 412--421.
[83]
Ying Wang, Ming Wen, Yepang Liu, Yibo Wang, Zhenming Li, Chao Wang, Hai Yu, Shing-Chi Cheung, Chang Xu, and Zhiliang Zhu. 2020. Watchman: monitoring dependency conflicts for Python library ecosystem. In Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering. 125--135.
[84]
Ying Wang, Ming Wen, Zhenwei Liu, Rongxin Wu, Rui Wang, Bo Yang, Hai Yu, Zhiliang Zhu, and Shing-Chi Cheung. 2018. Do the dependency conflicts in my project matter?. In Proceedings of the 2018 26th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 319--330.
[85]
Ying Wang, Ming Wen, Rongxin Wu, Zhenwei Liu, Shin Hwei Tan, Zhiliang Zhu, Hai Yu, and Shing-Chi Cheung. 2019. Could I have a stack trace to examine the dependency conflict issue?. In 2019 IEEE/ACM 41st International Conference on Software Engineering (ICSE). IEEE, 572--583.
[86]
Chu-Pan Wong, Priscila Santiesteban, Christian Kästner, and Claire Le Goues. 2021. VarFix: balancing edit expressiveness and search effectiveness in automated program repair. In Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 354--366.
[87]
Meng Wu, Shengjian Guo, Patrick Schaumont, and Chao Wang. 2018. Eliminating timing side-channel leaks using program repair. In Proceedings of the 27th ACM SIGSOFT International Symposium on Software Testing and Analysis. 15--26.
[88]
Jooyong Yi, Umair Z Ahmed, Amey Karkare, Shin Hwei Tan, and Abhik Roychoudhury. 2017. A feasibility study of using automated program repair for introductory programming assignments. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering. 740--751.
[89]
Jooyong Yi, Shin Hwei Tan, Sergey Mechtaev, Marcel Böhme, and Abhik Roychoudhury. 2018. A correlation study between automated program repair and test-suite metrics. Empirical Software Engineering 23, 5 (2018), 2948--2979.
[90]
Tingting Yu and Michael Pradel. 2018. Pinpointing and repairing performance bottlenecks in concurrent programs. Empirical Software Engineering 23, 5 (2018), 3034--3071.
[91]
Ahmed Zerouali, Eleni Constantinou, Tom Mens, Gregorio Robles, and Jesús González-Barahona. 2018. An empirical analysis of technical lag in npm package dependencies. In International Conference on Software Reuse. Springer, 95--110.
[92]
Chen Zhang, Bihuan Chen, Linlin Chen, Xin Peng, and Wenyun Zhao. 2019. A large-scale empirical study of compiler errors in continuous integration. In Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering. 176--187.

Cited By

View all
  • (2024)How to Pet a Two-Headed Snake? Solving Cross-Repository Compatibility Issues with HeraProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695064(694-705)Online publication date: 27-Oct-2024
  • (2024)Characterizing Deep Learning Package Supply Chains in PyPI: Domains, Clusters, and DisengagementACM Transactions on Software Engineering and Methodology10.1145/364033633:4(1-27)Online publication date: 10-Jan-2024
  • (2024)Darcy: Automatic Architectural Inconsistency Resolution in JavaIEEE Transactions on Software Engineering10.1109/TSE.2024.339643350:6(1639-1657)Online publication date: 3-May-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '22: Proceedings of the 44th International Conference on Software Engineering
May 2022
2508 pages
ISBN:9781450392211
DOI:10.1145/3510003
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 the author(s) 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: 05 July 2022

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. .NET
  2. NuGet
  3. dependencies
  4. empirical study

Qualifiers

  • Research-article

Funding Sources

  • ITF
  • National Natural Science Foundation of China
  • Shenyang Young and Middleaged Talent Support Program
  • Hong Kong RGC/GRF
  • MSRA
  • Open Fund of State Key Lab. for Novel Software Technology, Nanjing University

Conference

ICSE '22
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)62
  • Downloads (Last 6 weeks)6
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)How to Pet a Two-Headed Snake? Solving Cross-Repository Compatibility Issues with HeraProceedings of the 39th IEEE/ACM International Conference on Automated Software Engineering10.1145/3691620.3695064(694-705)Online publication date: 27-Oct-2024
  • (2024)Characterizing Deep Learning Package Supply Chains in PyPI: Domains, Clusters, and DisengagementACM Transactions on Software Engineering and Methodology10.1145/364033633:4(1-27)Online publication date: 10-Jan-2024
  • (2024)Darcy: Automatic Architectural Inconsistency Resolution in JavaIEEE Transactions on Software Engineering10.1109/TSE.2024.339643350:6(1639-1657)Online publication date: 3-May-2024
  • (2023)An Introduction to Software EcosystemsSoftware Ecosystems10.1007/978-3-031-36060-2_1(1-29)Online publication date: 26-May-2023
  • (2022)smartPip: A Smart Approach to Resolving Python Dependency Conflict IssuesProceedings of the 37th IEEE/ACM International Conference on Automated Software Engineering10.1145/3551349.3560437(1-12)Online publication date: 10-Oct-2022

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