4,111 research outputs found

    Using GitHub in Large Software Engineering Classes: An Exploratory Case Study

    Get PDF
    GitHub has been recently used in Software Engineering (SE) classes to facilitate col- laboration in student team projects. The underlying tenet is that the technical and social feature of GitHub can help students to communicate and collaborate more effectively as a team as well as help teachers to evaluate individual student contribution more objectively. To shed more light on this, in this case study, we explore the benefits and drawbacks of using GitHub in SE classes. Our study is conducted in a software engineering class of 91 students divided into 18 teams. Our research method includes an entry and an exit surveys and a qualitative analysis of students’ commit behavior throughout the period of the project. Our findings show that a) enforcing GitHub in SE classes can be an effective approach for enhancing students’ skills in configuration management and version control, and b) despite the steep learning curve, most teams managed to optimize their commit behavior over time. In terms of student evaluation, our analysis exposed the risks of using GitHub for individual effort assessment. The work in this paper provides several valuable insights for researchers and makes several recommendations for practitioners (teachers) about integrating GitHub in SE classes

    Analysis and Detection of Information Types of Open Source Software Issue Discussions

    Full text link
    Most modern Issue Tracking Systems (ITSs) for open source software (OSS) projects allow users to add comments to issues. Over time, these comments accumulate into discussion threads embedded with rich information about the software project, which can potentially satisfy the diverse needs of OSS stakeholders. However, discovering and retrieving relevant information from the discussion threads is a challenging task, especially when the discussions are lengthy and the number of issues in ITSs are vast. In this paper, we address this challenge by identifying the information types presented in OSS issue discussions. Through qualitative content analysis of 15 complex issue threads across three projects hosted on GitHub, we uncovered 16 information types and created a labeled corpus containing 4656 sentences. Our investigation of supervised, automated classification techniques indicated that, when prior knowledge about the issue is available, Random Forest can effectively detect most sentence types using conversational features such as the sentence length and its position. When classifying sentences from new issues, Logistic Regression can yield satisfactory performance using textual features for certain information types, while falling short on others. Our work represents a nontrivial first step towards tools and techniques for identifying and obtaining the rich information recorded in the ITSs to support various software engineering activities and to satisfy the diverse needs of OSS stakeholders.Comment: 41st ACM/IEEE International Conference on Software Engineering (ICSE2019

    A Quantitative Study of Java Software Buildability

    Full text link
    Researchers, students and practitioners often encounter a situation when the build process of a third-party software system fails. In this paper, we aim to confirm this observation present mainly as anecdotal evidence so far. Using a virtual environment simulating a programmer's one, we try to fully automatically build target archives from the source code of over 7,200 open source Java projects. We found that more than 38% of builds ended in failure. Build log analysis reveals the largest portion of errors are dependency-related. We also conduct an association study of factors affecting build success
    • …
    corecore