[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3387904.3389293acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
short-paper

Ownership at Large: Open Problems and Challenges in Ownership Management

Published: 12 September 2020 Publication History

Abstract

Software-intensive organizations rely on large numbers of software assets of different types, e.g., source-code files, tables in the data warehouse, and software configurations. Who is the most suitable owner of a given asset changes over time, e.g., due to reorganization and individual function changes. New forms of automation can help suggest more suitable owners for any given asset at a given point in time. By such efforts on ownership health, accountability of ownership is increased. The problem of finding the most suitable owners for an asset is essentially a program comprehension problem: how do we automatically determine who would be best placed to understand, maintain, evolve (and thereby assume ownership of) a given asset. This paper introduces the Facebook Ownesty system, which uses a combination of ultra large scale data mining and machine learning and has been deployed at Facebook as part of the company's ownership management approach. Ownesty processes many millions of software assets (e.g., source-code files) and it takes into account workflow and organizational aspects. The paper sets out open problems and challenges on ownership for the research community with advances expected from the fields of software engineering, programming languages, and machine learning.

References

[1]
Umut A. Acar, Amal Ahmed, James Cheney, and Roly Perera. 2012. A Core Calculus for Provenance. In Principles of Security and Trust - First International Conference, POST 2012, Held as Part of the European Joint Conferences on Theory and Practice of Software, ETAPS 2012 (LNCS), Vol. 7215. Springer, 410--429.
[2]
André Altmann, Laura Tolosi, Oliver Sander, and Thomas Lengauer. 2010. Permutation importance: a corrected feature importance measure. Bioinformatics 26, 10 (2010), 1340--1347.
[3]
Jerry Andriessen, Michael Baker, and Dan D Suthers. 2013. Arguing to learn: Confronting cognitions in computer-supported collaborative learning environments. Vol. 1. Springer Science & Business Media.
[4]
Sumit Asthana, Rahul Kumar, Ranjita Bhagwan, Christian Bird, Chetan Bansal, Chandra Shekhar Maddila, Sonu Mehta, and B. Ashok. 2019. WhoDo: automating reviewer suggestions at scale. In Proceedings of the ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/SIGSOFT FSE 2019. ACM, 937--945.
[5]
Amine Benelallam, Nicolas Harrand, César Soto-Valero, Benoit Baudry, and Olivier Barais. 2019. The maven dependency graph: a temporal graph-based representation of maven central. In Proceedings of the 16th International Conference on Mining Software Repositories, MSR 2019. IEEE / ACM, 344--348.
[6]
Thorsten Berger, Ralf Rublack, Divya Nair, Joanne M. Atlee, Martin Becker, Krzysztof Czarnecki, and Andrzej Wasowski. 2013. A survey of variability modeling in industrial practice. In The Seventh International Workshop on Variability Modelling of Software-intensive Systems, VaMoS '13. ACM, 7:1-7:8.
[7]
David Binkley and Mark Harman. 2004. A Survey of Empirical Results on Program Slicing. Advances in Computers 62 (2004), 105--178.
[8]
Marcelo Cataldo, Audris Mockus, Jeffrey A. Roberts, and James D. Herbsleb. 2009. Software Dependencies, Work Dependencies, and Their Impact on Failures. IEEE Trans. Software Eng. 35, 6 (2009), 864--878.
[9]
James Cheney, Amal Ahmed, and Umut A. Acar. 2011. Provenance as dependency analysis. Mathematical Structures in Computer Science 21, 6 (2011), 1301--1337.
[10]
Jane Cleland-Huang, Olly Gotel, and Andrea Zisman (Eds.). 2012. Software and Systems Traceability. Springer.
[11]
Georgios A. Dafoulas, Cristiano Maia, Almaas Ali, Juan Carlos Augusto, and Victor Lopez Cabrera. 2017. Understanding Collaboration in Global Software Engineering (GSE) Teams with the Use of Sensors: Introducing a Multi-sensor Setting for Observing Social and Human Aspects in Project Management. In 2017 International Conference on Intelligent Environments, IE 2017. IEEE, 114--121.
[12]
Bogdan Dit, Meghan Revelle, Malcom Gethers, and Denys Poshyvanyk. 2013. Feature location in source code: a taxonomy and survey. Journal of Software: Evolution and Process 25, 1 (2013), 53--95.
[13]
Christof Ebert, Marco Kuhrmann, and Rafael Prikladnicki. 2016. Global Software Engineering: An Industry Perspective. IEEE Software 33, 1 (2016), 105--108.
[14]
Christof Ebert, Marco Kuhrmann, and Rafael Prikladnicki. 2016. Global Software Engineering: Evolution and Trends. In 11th IEEE International Conference on Global Software Engineering, ICGSE 2016. IEEE, 144--153.
[15]
John Girard and JoAnn Girard. 2015. Defining knowledge management: Toward an applied compendium. Online Journal of Applied Knowledge Management 3, 1 (2015).
[16]
Sukriti Goel, Jyoti M. Bhat, and Barbara Weber. 2013. End-to-End Process Extraction in Process Unaware Systems. In Business Process Management Workshops - BPM 2012 International Workshops. Revised Papers (Lecture Notes in Business Information Processing), Vol. 132. Springer, 162--173.
[17]
Mark Harman. 2007. Search Based Software Engineering for Program Comprehension. In 15th International Conference on Program Comprehension (ICPC 2007). IEEE, 3--13.
[18]
Mark Harman, Nicolas Gold, Robert Mark Hierons, and David Binkley. 2002. Code Extraction Algorithms which Unify Slicing and Concept Assignment. In IEEE Working Conference on Reverse Engineering (WCRE 2002). IEEE, 11--21.
[19]
Aidan Hogan, Eva Blomqvist, Michael Cochez, Claudia d'Amato, Gerard de Melo, Claudio Gutierrez, José Emilio Labra Gayo, Sabrina Kirrane, Sebastian Neumaier, Axel Polleres, Roberto Navigli, Axel-Cyrille Ngonga Ngomo, Sabbir M. Rashid, Anisa Rula, Lukas Schmelzeisen, Juan Sequeda, Steffen Staab, and Antoine Zimmermann. 2020. Knowledge Graphs. arXiv:2003.02320 [cs.AI]
[20]
Slinger Jansen and Michael A. Cusumano. 2012. Defining Software Ecosystems: A Survey of Software Platforms and Business Network Governance. In Proceedings of the Forth International Workshop on Software Ecosystems (CEUR Workshop Proceedings), Vol. 879. CEUR-WS.org, 40--58. http://ceur-ws.org/Vol-879
[21]
G. Jeong, S. Kim, T. Zimmermann, and K. Yi. 2009. Improving code review by predicting reviewers and acceptance of patches. (2009), 18 pages. Research on Software Analysis for Error-free Computing Center Tech-Memo ROSAEC MEMO 2009-006.
[22]
Vaibhavi Kalgutkar, Ratinder Kaur, Hugo Gonzalez, Natalia Stakhanova, and Alina Matyukhina. 2019. Code Authorship Attribution: Methods and Challenges. ACM Comput. Surv. 52, 1 (2019), 3:1-3:36.
[23]
Gabriël Konat, Sebastian Erdweg, and Eelco Visser. 2018. Scalable incremental building with dynamic task dependencies. In Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering, ASE 2018. ACM, 76--86.
[24]
Bogdan Korel and Jurgen Rilling. 1997. Dynamic Program Slicing in Understanding of Program Execution. In 5th IEEE International Workshop on Program Comprenhesion (IWPC'97). IEEE, 80--89.
[25]
Ralf Lämmel, Alvin Kerber, and Liane Praza. 2020. Understanding What Software Engineers Are Working on -- The Work-Item Prediction Challenge. In Proceedings of the 28th IEEE/ACM International Conference on Program Comprehension (ICPC Industry Track). IEEE / ACM.
[26]
Bixin Li, Xiaobing Sun, Hareton Leung, and Sai Zhang. 2013. A survey of code-based change impact analysis techniques. Softw. Test., Verif. Reliab. 23, 8 (2013), 613--646.
[27]
Jakub Lipcak and Bruno Rossi. 2018. A Large-Scale Study on Source Code Reviewer Recommendation. In 44th Euromicro Conference on Software Engineering and Advanced Applications, SEAA 2018. IEEE, 378--387.
[28]
Yaxin Liu, Peng He, Gaoyan Wu, and Yilu Li. 2017. Towards Understanding Developers' Collaborative Behavior in Open Source Software Ecosystems. JSW 12, 6 (2017), 393--405.
[29]
Scott M.Lundberg and Su-In Lee. 2017. A Unified Approach to Interpreting Model Predictions. In Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems 2017. NIPS, 4765--4774.
[30]
Mircea Lungu, Romain Robbes, and Michele Lanza. 2010. Recovering inter-project dependencies in software ecosystems. In ASE 2010, 25th IEEE/ACM International Conference on Automated Software Engineering. ACM, 309--312.
[31]
Konstantinos Manikas. 2016. Revisiting software ecosystems Research: A longitudinal literature study. Journal of Systems and Software 117 (2016), 84--103.
[32]
Konstantinos Manikas and Klaus Marius Hansen. 2013. Software ecosystems - A systematic literature review. Journal of Systems and Software 86, 5 (2013), 1294--1306.
[33]
Ke Mao, Licia Capra, Mark Harman, and Yue Jia. 2017. A survey of the use of crowdsourcing in software engineering. Journal of Systems and Software 126 (2017), 57--84.
[34]
Hamid R. Motahari Nezhad, Boualem Benatallah, Régis Saint-Paul, Fabio Casati, and Periklis Andritsos. 2008. Process spaceship: discovering and exploring process views from event logs in data spaces. PVLDB 1, 2 (2008), 1412--1415.
[35]
Denys Poshyvanyk, Andrian Marcus, Rudolf Ferenc, and Tibor Gyimóthy. 2009. Using information retrieval based coupling measures for impact analysis. Empirical Software Engineering 14, 1 (2009), 5--32.
[36]
Mohammad Masudur Rahman, Chanchal K. Roy, and Jason A. Collins. 2016. CoRReCT: code reviewer recommendation in GitHub based on cross-project and technology experience. In Proceedings of the 38th International Conference on Software Engineering, ICSE 2016, Companion Volume. ACM, 222--231.
[37]
Patrick Rempel, Patrick Mäder, Tobias Kuschke, and Ilka Philippow. 2013. Requirements Traceability across Organizational Boundaries - A Survey and Taxonomy. In Requirements Engineering: Foundation for Software Quality - 19th International Working Conference, REFSQ 2013 (LNCS), Vol. 7830. Springer, 125--140.
[38]
Xiaoxia Ren, Barbara G. Ryder, Maximilian Störzer, and Frank Tip. 2005. Chianti: a change impact analysis tool for Java programs. In 27th International Conference on Software Engineering (ICSE 2005). ACM, 664--665.
[39]
Marco Túlio Ribeiro, Sameer Singh, and Carlos Guestrin. 2016. "Why Should I Trust You?": Explaining the Predictions of Any Classifier. In Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. ACM, 1135--1144.
[40]
Cynthia Rudin. 2019. Stop explaining black box machine learning models for high stakes decisions and use interpretable models instead. Nature Machine Intelligence 1 (05 2019), 206--215.
[41]
Cynthia Rudin and Berk Ustun. 2018. Optimized Scoring Systems: Toward Trust in Machine Learning for Healthcare and Criminal Justice. Interfaces 48, 5 (2018), 449--466.
[42]
Josep Silva. 2012. A Vocabulary of Program Slicing-Based Techniques. Comput. Surveys 44, 3 (June 2012), 12:1--12:48.
[43]
Xuan Sun, Xin Gao, Huiying Du, and Wei Ye. 2016. A Query Language of Data Provenance Based on Dependency View for Process Analysis. In The 28th International Conference on Software Engineering and Knowledge Engineering, SEKE 2016. KSI Research Inc. and Knowledge Systems Institute Graduate School, 110--113.
[44]
Yi Wang and David F. Redmiles. 2016. Cheap talk, cooperation, and trust in global software engineering - An evolutionary game theory model with empirical support. Empirical Software Engineering 21, 6 (2016), 2233--2267.
[45]
Mark Weiser. 1979. Program slices: Formal, psychological, and practical investigations of an automatic program abstraction method. Ph.D. Dissertation. University of Michigan, Ann Arbor, MI.
[46]
Yue Yu, Huaimin Wang, Gang Yin, and Tao Wang. 2016. Reviewer recommendation for pull-requests in GitHub: What can we learn from code review and bug assignment? Information & Software Technology 74 (2016), 204--218.

Cited By

View all
  • (2024)Code Ownership: The Principles, Differences, and Their Associations with Software Quality2024 IEEE 35th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE62328.2024.00044(379-390)Online publication date: 28-Oct-2024
  • (2022)Scaling genetic improvement and automated program repairProceedings of the Third International Workshop on Automated Program Repair10.1145/3524459.3527353(1-7)Online publication date: 19-May-2022
  • (2022)When traceability goes awry: An industrial experience reportJournal of Systems and Software10.1016/j.jss.2022.111389192(111389)Online publication date: Oct-2022
  • Show More Cited By

Index Terms

  1. Ownership at Large: Open Problems and Challenges in Ownership Management

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image ACM Conferences
    ICPC '20: Proceedings of the 28th International Conference on Program Comprehension
    July 2020
    481 pages
    ISBN:9781450379588
    DOI:10.1145/3387904
    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

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 12 September 2020

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. global software engineering
    2. machine learning
    3. ownership

    Qualifiers

    • Short-paper
    • Research
    • Refereed limited

    Conference

    ICPC '20
    Sponsor:

    Upcoming Conference

    ICSE 2025

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)29
    • Downloads (Last 6 weeks)3
    Reflects downloads up to 20 Dec 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Code Ownership: The Principles, Differences, and Their Associations with Software Quality2024 IEEE 35th International Symposium on Software Reliability Engineering (ISSRE)10.1109/ISSRE62328.2024.00044(379-390)Online publication date: 28-Oct-2024
    • (2022)Scaling genetic improvement and automated program repairProceedings of the Third International Workshop on Automated Program Repair10.1145/3524459.3527353(1-7)Online publication date: 19-May-2022
    • (2022)When traceability goes awry: An industrial experience reportJournal of Systems and Software10.1016/j.jss.2022.111389192(111389)Online publication date: Oct-2022
    • (2021)Explaining mispredictions of machine learning models using rule inductionProceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3468264.3468614(716-727)Online publication date: 20-Aug-2021

    View Options

    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