Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3422392.3422500acmotherconferencesArticle/Chapter ViewAbstractPublication PagessbesConference Proceedingsconference-collections
research-article

JExpert: A Tool for Library Expert Identification

Published: 21 December 2020 Publication History

Abstract

Software development, maintenance, and evolution are increasingly challenging tasks and require skilled professionals in many different technologies. Enterprise and open source projects seek to build the best possible team composed of highly skilled developers in specific libraries. On the other hand, the identification of such skilled professionals is not a trivial task. In this paper, we introduce JExpert, an automated tool that identifies library experts from source code. This tool is designed to identify experts in specific libraries based on source code activities from GitHub projects. In a preliminary evaluation, we rely on JExpert to identify the top experts in 6 libraries that support microservice-based application development. In total, we analyzed more than 1,200 projects and 797 developers. JExpert outputs a summarized profile of each expert with 3 expertise metrics, namely, number of commits, imports, and lines of code written for the library.

References

[1]
N. Alshuqayran, N. Ali, and R. Evans. 2016. A Systematic Mapping Study in Microservice Architecture. In 2016 IEEE 9th Int. Conf. on Service-Oriented Computing and Applications (SOCA). 44--51.
[2]
N. Alshuqayran, N. Ali, and R. Evans. 2016. A Systematic Mapping Study in Microservice Architecture. In 2016 IEEE 9th International Conference on Service-Oriented Computing and Applications (SOCA). 44--51.
[3]
A. Begel, Y. P. Khoo, and T. Zimmermann. 2010. Codebook: discovering and exploiting relationships in software repositories. In 2010 ACM/IEEE 32nd International Conference on Software Engineering, Vol. 1. 125--134.
[4]
Victoria R. Brown and E Daly Vaughn. 2011. The writing on the (Facebook) wall: The use of social networking sites in hiring decisions. Journal of Business and psychology 26, 2 (2011), 219.
[5]
Andrea Capiluppi, Alexander Serebrenik, and Leif Singer. 2013. Assessing technical candidates on the social web. IEEE software 30, 1 (2013), 45--51.
[6]
Eleni Constantinou and Georgia M. Kapitsaki. 2016. Identifying Developers' Expertise in Social Coding Platforms. In 42th Euromicro Conf. on Software Engineering and Advanced Applications (SEAA). 63--67.
[7]
Laura Dabbish, Colleen Stuart, Jason Tsay, and Jim Herbsleb. 2012. Social coding in GitHub: Transparency and Collaboration in an Open Software Repository. In 12th Proc. of the Conf. on Computer Supported Cooperative Work (CSCW). 1277--1286.
[8]
Vyron Damasiotis, Panos Fitsilis, Peter Considine, and James O'Kane. 2017. Analysis of Software Project Complexity Factors. In Proc. of the 2017 Int. Conf. on Management Engineering, Software Engineering and Service Sciences (Wuhan, China) (ICMSS). 54--58.
[9]
Giuseppe Destefanis, Marco Ortu, Steve Counsell, Stephen Swift, Michele Marchesi, and Roberto Tonelli. 2016. Software development: do good manners matter? PeerJ Computer Science 2, 2 (2016), 1--10.
[10]
BJ FERRO CASTRO. 1969. Pattern-oriented software architecture: A system of patterns. Computación y Sistemas 1, 002 (1969).
[11]
Gillian J. Greene and Bernd Fischer. 2016. CVExplorer: Identifying Candidate Developers by Mining and Exploring Their Open Source Contributions. In Proc. of the 31st IEEE/ACM Int. Conf. on Automated Software Engineering (Singapore, Singapore) (ASE 2016). 804--809.
[12]
S. Klock, J. M. E. M. van der Werf, J. P. Guelen, and S.Jansen. 2017. Workload-Based Clustering of Coherent Feature Sets in Microservice Architectures. In 2017 IEEE International Conference on Software Architecture (ICSA). 11--20.
[13]
D. Ma, D. Schuler, T. Zimmermann, and J. Sillito. 2009. Expert recommendation with usage expertise. In 2009 IEEE International Conference on Software Maintenance. 535--538.
[14]
Jennifer Marlow and Laura Dabbish. 2013. Activity traces and signals in software developer recruitment and hiring. In 16th Proc. of the 2013 Conf. on Computer supported cooperative work (CSCW). 145--156.
[15]
Patrick McCuller. 2012. How to recruit and hire great software engineers: building a crack development team. Apress.
[16]
Alan Moraes, Eduardo Silva, Cleyton da Trindade, Yuri Barbosa, and Silvio Meira. 2010. Recommending Experts Using Communication History. In Proceedings of the 2nd International Workshop on Recommendation Systems for Software Engineering (Cape Town, South Africa) (RSSE '10). Association for Computing Machinery, New York, NY, USA, 41--45. https://doi.org/10.1145/1808920.1808929
[17]
Allan Mori, Gustavo Vale, Markos Viggiato, Johnatan Oliveira, Eduardo Figueiredo, Elder Cirilo, Pooyan Jamshidi, and Christian Kastner. 2018. Evaluating domain-specific metric thresholds: an empirical study. In 2018 IEEE/ACM International Conference on Technical Debt (TechDebt). IEEE, 41--50.
[18]
Johnatan Oliveira, Eduardo Fernandes, Maurício Souza, and Eduardo Figueiredo. 2017. A method based on naming similarity to identify reuse opportunities. iSys-Revista Brasileira de Sistemas de Informação 10, 1 (2017), 99--121.
[19]
Johnatan Oliveira, Eduardo Fernandes, Gustavo Vale, and Eduardo Figueiredo. 2017. Identification and prioritization of reuse opportunities with JReuse. In International Conference on Software Reuse. Springer, 184--191.
[20]
Johnatan Oliveira, Markos Viggiato, and Eduardo Figueiredo. 2019. How Well Do You Know This Library? Mining Experts from Source Code Analysis. In Proceedings of the XVIII Brazilian Symposium on Software Quality (Fortaleza, Brazil) (SBQS'19). Association for Computing Machinery, New York, NY, USA, 49--58. https://doi.org/10.1145/3364641.3364648
[21]
Marco Ortu, Bram Adams, Giuseppe Destefanis, Parastou Tourani, Michele Marchesi, and Roberto Tonelli. 2015. Are bullies more productive?: empirical study of affectiveness vs. issue fixing time. In 12th Proc. of the Working Conf. on Mining Software Repositories (MSR). 303--313.
[22]
Marco Ortu, Giuseppe Destefanis, Steve Counsell, Stephen Swift, Roberto Tonelli, and Michele Marchesi. 2016. Arsonists or firefighters? Affectiveness in agile software development. In 18th Int. Conf. on Agile Software Development (XP). 144--155.
[23]
C. Pahl. 2015. Containerization and the PaaS Cloud. IEEE Cloud Computing 2, 3 (2015), 24--31.
[24]
Claus Pahl and Pooyan Jamshidi. 2016. Microservices: A Systematic Mapping Study. In Proceedings of the 6th Int. Conf. on Cloud Computing and Services Science - Volume 1 and 2 (CLOSER 2016). 137--146.
[25]
C. Kästner S. Zhou, B. Vasilescu. 2020. How Has Forking Changed in the Last 20 Years? A Study of Hard Forks on GitHub. In In Proceedings of the 42nd International Conference on Software Engineering (ICSE) (ICSE 22020). 137--146.
[26]
Rohit Saxena and Niranjan Pedanekar. 2017. I Know What You Coded Last Summer: Mining Candidate Expertise from GitHub Repositories. In 17th Companion of the Conf. on Computer Supported Cooperative Work and Social Computing(CSCW). 299--302.
[27]
David Schuler and Thomas Zimmermann. 2008. Mining Usage Expertise from Version Archives. In Proceedings of the 2008 International Working Conference on Mining Software Repositories (Leipzig, Germany) (MSR '08). Association for Computing Machinery, New York, NY, USA, 121--124. https://doi.org/10.1145/1370750.1370779
[28]
Leif Singer, Fernando Figueira Filho, Brendan Cleary, Christoph Treude, Margaret-Anne Storey, and Kurt Schneider. 2013. Mutual assessment in the social programmer ecosystem: an empirical investigation of developer profile aggregators. In 13th Proc. of the Conf. on Computer supported cooperative work (CSCW). 103--116.
[29]
Ian Sommerville. 2015. Software Engineering. Pearson.
[30]
Frank Tsui, Orlando Karam, and Barbara Bernal. 2016. Essentials of software engineering. Jones & Bartlett Learning.
[31]
W. Wu, W. Zhang, Y. Yang, and Q. Wang. 2011. DREX: Developer Recommendation with K-Nearest-Neighbor Search and Expertise Ranking. In 2011 18th Asia-Pacific Software Engineering Conference. 389--396.

Cited By

View all
  • (2024)LanT: finding experts for digital calligraphy character restorationMultimedia Tools and Applications10.1007/s11042-023-17844-y83:24(64963-64986)Online publication date: 18-Jan-2024
  • (2023)Dual analysis for helping developers to find collaborators based on co‐changed files: An empirical studySoftware: Practice and Experience10.1002/spe.319453:6(1438-1464)Online publication date: 28-Feb-2023
  • (2022)EXTRACTPRO: A Data Mining Tool for Developer Profile Generation based on Source Code AnalysisProceedings of the XXXVI Brazilian Symposium on Software Engineering10.1145/3555228.3555277(112-117)Online publication date: 5-Oct-2022
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
SBES '20: Proceedings of the XXXIV Brazilian Symposium on Software Engineering
October 2020
901 pages
ISBN:9781450387538
DOI:10.1145/3422392
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]

In-Cooperation

  • SBC: Brazilian Computer Society

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 21 December 2020

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Expert Identification
  2. Library Experts
  3. Mining Software Repositories
  4. Software Skills

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • Fundação de Amparo à Pesquisa do Estado de Minas Gerais
  • Conselho Nacional de Desenvolvimento Científico e Tecnológico
  • Coordenação de Aperfeiçoamento de Pessoal de Nível Superior

Conference

SBES '20

Acceptance Rates

Overall Acceptance Rate 147 of 427 submissions, 34%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)14
  • Downloads (Last 6 weeks)1
Reflects downloads up to 18 Aug 2024

Other Metrics

Citations

Cited By

View all
  • (2024)LanT: finding experts for digital calligraphy character restorationMultimedia Tools and Applications10.1007/s11042-023-17844-y83:24(64963-64986)Online publication date: 18-Jan-2024
  • (2023)Dual analysis for helping developers to find collaborators based on co‐changed files: An empirical studySoftware: Practice and Experience10.1002/spe.319453:6(1438-1464)Online publication date: 28-Feb-2023
  • (2022)EXTRACTPRO: A Data Mining Tool for Developer Profile Generation based on Source Code AnalysisProceedings of the XXXVI Brazilian Symposium on Software Engineering10.1145/3555228.3555277(112-117)Online publication date: 5-Oct-2022
  • (2022)Metrics to quantify software developer experienceProceedings of the 37th ACM/SIGAPP Symposium on Applied Computing10.1145/3477314.3507304(1562-1569)Online publication date: 25-Apr-2022
  • (2022)CoopFinder: Finding Collaborators Based on Co–Changed Files2022 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)10.1109/VL/HCC53370.2022.9833126(1-3)Online publication date: 12-Sep-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