软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00037
Hao He, Minghui Zhou, Qingye Wang, Jingyue Li
{"title":"Open Source Software Onboarding as a University Course: An Experience Report","authors":"Hao He, Minghui Zhou, Qingye Wang, Jingyue Li","doi":"10.1109/ICSE-SEET58685.2023.00037","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00037","url":null,"abstract":"Without newcomers, open source software (OSS) projects are hardly sustainable. Yet, newcomers face a steep learning curve during OSS onboarding in which they must overcome a multitude of technical, social, and knowledge barriers. To ease the onboarding process, OSS communities are utilizing mentoring, task recommendation (e.g., “good first issues”), and engagement programs (e.g., Google Summer of Code). However, newcomers must first cultivate their motivation for OSS contribution and learn the necessary preliminaries before they can take advantage of these mechanisms. We believe this gap can be filled by a dedicated, practice-oriented OSS onboarding course. In this paper, we present our experience of teaching an OSS onboarding course at Peking University. The course contains a series of lectures, labs, and invited talks to prepare students with the required skills and motivate them to contribute to OSS. In addition, students are required to complete a semester-long course project in which they plan and make actual contributions to OSS projects. They can either contribute to some recommended OSS projects with dedicated mentors, or contribute to any OSS project they prefer. Finally, 16 out of the 19 enrolled students have successfully contributed to OSS projects, and five have retained. However, the onboarding trajectories, final contributions, and retention outcomes differ vastly between the two groups of students with different course project choices, yielding lessons for software engineering education.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"32 1","pages":"324-336"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"82394234","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00035
Jinseok Heo, Hohyeon Jeong, Dongwook Choi, Eunseok Lee
{"title":"REFERENT: Transformer-based Feedback Generation using Assignment Information for Programming Course","authors":"Jinseok Heo, Hohyeon Jeong, Dongwook Choi, Eunseok Lee","doi":"10.1109/ICSE-SEET58685.2023.00035","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00035","url":null,"abstract":"Students require feedback on programming assignments to improve their programming skills. An Automated feedback generation (AFG) technique proposes to provide feedback-corrected submissions for incorrect student programming submissions in programming courses. However, these techniques are limited as they rely on the availability of correct submissions as a reference to generate feedback. In situations where correct submissions are not available, they resort to using mutation operators, which can lead to a search space explosion problem. In this work, we propose REFERENT, Transformer-based feedback generation using assignment information. REFERENT uses transfer learning on a pre-trained model with data from students’ submission history from the past assignment. To generate assignment-related feedback, we use a title, tag, assignment description, and test case as assignment information. REFERENT can generate feedback without a reference program in limited resources. We conducted a preliminary study to confirm the effectiveness of REFERENT and the feasibility of using assignment information. REFERENT generated feedback for 32.7% of incorrect submissions without reference programs and that its performance increased up to 50.7% when reference programs were used. We also check whether the submission history, assignment information, and repair knowledge of open-source software help generate feedback.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"4 1","pages":"101-106"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"85519637","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00010
Sabato Nocera, Simone Romano, R. Francese, G. Scanniello
{"title":"Training for Security: Planning the Use of a SAT in the Development Pipeline of Web Apps","authors":"Sabato Nocera, Simone Romano, R. Francese, G. Scanniello","doi":"10.1109/ICSE-SEET58685.2023.00010","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00010","url":null,"abstract":"We designed a prospective empirical investigation to study our STW (Software Technologies for the Web) course with respect to the training of bachelor students in the context of software security when developing e-commerce Web apps. To that end, we devised the following steps: (i) studying the state of the students enrolled in the STW course in the a.y. (academic year) 2021-22; (ii) defining a training plan for the a.y. 2022-23; and (iii) acting the plan and measuring the differences (if any) between the students of the a.y. 2021-22 and 2022-23. In this idea paper, we present the results of the former two steps, as well as the evaluation strategy of the proposed training plan. We observed that security concerns are widespread in the code of the Web apps the students of the STW course (a.y. 2021-22) developed. Therefore, we plan (second step) to ask the students of the STW course (a.y. 2022-23) to use in their development pipeline a Static Analysis Tool (SAT) to detect security concerns.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"16 1","pages":"40-45"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84869784","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00019
Kairos M. Marquardt, Ingo Wagner, Lucia Happe
{"title":"Engaging Girls in Computer Science: Do Single-Gender Interdisciplinary Classes Help?","authors":"Kairos M. Marquardt, Ingo Wagner, Lucia Happe","doi":"10.1109/ICSE-SEET58685.2023.00019","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00019","url":null,"abstract":"Computing-driven innovation cannot reach its full potential if only a fraction of the population is involved. Without girls and their non-stereotypical contribution, the innovation potential is severely limited. In computer science (CS) and software engineering (SE), the gender gap persists without any positive trend. Many girls find it challenging to identify with the subject of CS. However, we can capitalize on their interests and create environments for girls through interdisciplinary subcultures to spark and foster enthusiasm for CS. This paper presents and discusses the results of an intervention in which we applied a novel interdisciplinary online course in data science to get girls excited about CS and programming by contributing to the grand goal of solving colony collapse disorder from biology and geoecology. The results show the potential of such programs to get girls excited about programming, but also important implications in terms of the learning environment. The startling results show that girls from single-gender classes (SGCs) are significantly more open to CS-related topics and that the intervention evoked significantly more positive feelings in them than in girls from mixed-gender classes (MGCs). The findings highlight the importance of how CS-related topics are introduced in school and the crucial impact of the learning environment to meet the requirements of truly gender-inclusive education.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"19 1","pages":"128-140"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"81804599","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00033
Bansri Amish Modi, A. Cain, G. Wood-Bradley, J. Renzella
{"title":"Using Focus to Personalise Learning and Feedback in Software Engineering Education","authors":"Bansri Amish Modi, A. Cain, G. Wood-Bradley, J. Renzella","doi":"10.1109/ICSE-SEET58685.2023.00033","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00033","url":null,"abstract":"Learning can be greatly enhanced by effective feedback. Traditional assessment approaches in higher education often result in feedback being used to justify marks awarded, which is often disregarded once the assessment is complete. In this paper, we explore the idea of incorporating a focus mechanism to connect feedback between assessment tasks and units, discuss how this can be applied to enhance software engineering education, and present results from several staff focus groups exploring the idea. The focus groups discussed the model, its application within software engineering units, and its limitations, with staff helping co-create the enhancements to the model through discussing experiences/sharing opinions/providing insights on assessment within their units. Results indicate that staff believe that the changes will benefit their teaching and highlighted several opportunities for this initiative to encourage students to have a more holistic view of their studies. The main challenges identified were staff workload and complexity for students which must be addressed in implementing this idea.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"130 1","pages":"296-301"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"79141375","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00030
Kai Presler-Marshall, S. Heckman, Kathryn T. Stolee
{"title":"Improving Grading Outcomes in Software Engineering Projects Through Automated Contributions Summaries","authors":"Kai Presler-Marshall, S. Heckman, Kathryn T. Stolee","doi":"10.1109/ICSE-SEET58685.2023.00030","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00030","url":null,"abstract":"Teaming is a key aspect of most professional software engineering positions, and consequently, team-based learning (TBL) features heavily in many undergraduate computer science (CS) and software engineering programs. However, while TBL offers many pedagogical benefits, it is not without challenges. One such challenge is assessment, as the course teaching staff must be able to accurately identify individual students’ contributions to both encourage and reward participation. In this paper, we study improvements to grading practises in the context of a CS1.5 introductory software engineering course, where assessing individual students’ contributions to weekly lab assignments is done manually by teaching assistants (TAs). We explore the impact of presenting TAs with automated summaries of individual student contributions to their team’s GitHub repository. To do so, we propose a novel algorithm, and implement a tool based off of it, AutoVCS. We measure the impact on grading metrics in terms of grading speed, grading consistency, and TA satisfaction. We evaluate our algorithm, as implemented in AutoVCS, in a controlled experimental study on Java-based lab assignments from a recent offering of NC State University’s CS1.5 course. We find our automated summaries help TAs grade more consistently and provides students with more actionable feedback. Although TAs grade no faster using automated summaries, they nonetheless strongly prefer grading with the support of them than without. We conclude with recommendations for future work to explore improving consistency in contribution grading for student software engineering teams.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"54 1","pages":"259-270"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"75803069","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00013
N. Silvis-Cividjian, Fritz Hager
{"title":"Speak, Memory! Analyzing Historical Accidents to Sensitize Software Testing Novices","authors":"N. Silvis-Cividjian, Fritz Hager","doi":"10.1109/ICSE-SEET58685.2023.00013","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00013","url":null,"abstract":"Accidents tend to be traumatic events that one would rather forget than remember. Software testing novices at the Vrije Universiteit in Amsterdam, on the contrary, rewind the past and learn how to safeguard the future.In this paper we will present FAIL, a rather unconventional assignment that methodically investigate 13 historical software-related accidents, varying from the Ariane-5 rocket explosion to the Knight Capital trading glitch. Innovative is that software testing students use STAMP, a modern systems-theory-based accident causality model and have the possibility to interview a witness of the famous Therac-25 radiation overexposures.A recent deployment to 96 CS graduates received positive evaluations. We learned that even a lightweight, yet systematic investigation of failures (1) motivates students, by sensitizing them to the consequences of suboptimal testing, and (2) reveals key soft-skills testers need to prevent disasters, such as defensive pessimism and a strong backbone. Other, more subtle benefits of the proposed approach include (3) really-happened, instead of artificial case-studies that increase a teacher’s credibility, and (4) extraordinary test scenarios students will always remember.These results invite software engineering educators to include safety assessment elements in their curricula, and call on witnesses of software-related accidents to break the silence and share memories. Future work includes crafting a repository of heritage artifacts (narratives, videos, witness testimonies and physical replicas) to reproduce historical software-related accidents, and make it available to interested educators. Our hope is that motivated professionals will emerge, better prepared to engineer the safe software-intensive systems we all can rely on.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"57 1","pages":"70-81"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84270621","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00024
Callum Iddon, Nasser Giacaman, Valerio Terragni
{"title":"GRADESTYLE: GitHub-Integrated and Automated Assessment of Java Code Style","authors":"Callum Iddon, Nasser Giacaman, Valerio Terragni","doi":"10.1109/ICSE-SEET58685.2023.00024","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00024","url":null,"abstract":"Every programming language has its own style conventions and best practices, which help developers to write readable and maintainable code. Learning code style is an essential skill that every professional software engineer should master. As such, students should develop good habits for code style early on, when they start learning how to program. Unfortunately, manually assessing students’ code with timely and detailed feedback is often infeasible, and professional static analysis tools are unsuitable for educational contexts. This paper presents GRADESTYLE, a tool for automatically assessing the code style of Java assignments. GRADESTYLE automatically checks for violations of some of the most important Google Java Style conventions, and Java best practices. Students receive a report with a code style mark, a list of violations, and their source code locations. GRADESTYLE nicely integrates with GitHub and GitHub Classroom, and can be configured to provide continuous feedback every time a student pushes new code. We adopted our tool in a second-year software engineering programming course with 327 students and observed consistent improvements in the code style of their assignments.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"17 1","pages":"192-197"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"77359830","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-05-01DOI: 10.1109/ICSE-SEET58685.2023.00034
Laura Tubino, Kerri Morgan, G. Wood-Bradley, A. Cain
{"title":"Shaping a Tool for Developing Computing Students’ Professional Identity - Industry Perspectives","authors":"Laura Tubino, Kerri Morgan, G. Wood-Bradley, A. Cain","doi":"10.1109/ICSE-SEET58685.2023.00034","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00034","url":null,"abstract":"Obtaining employment is a major aim for many students completing a computing degree. However, students often fail to develop a comprehensive plan to achieve this goal as they have insufficient awareness of what is required to become a professional. In addition, computing degrees and curriculum generally focus on the necessary computing knowledge and skills, often ignoring development around identity, belonging to a community of practice, and connecting with professional role models - components necessary to build a viable professional identity. This paper explores ideas on how to broaden the perspective of students undertaking computing degrees, helping them understand the broader picture of their education, beyond coursework units, that is needed to ensure their successful transition to industry. Literature on professional identity is used to inform the initial design concepts for a tool, DreamBig, that aims to support the development of an emerging professional identity for students undertaking computing degrees. A focus group with industry representatives was used to test the concept. Findings of this study highlight the value of this initiative and indicate the importance of a big picture, holistic view of professional development with a particular focus on the social dimension for computing students and graduates.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"73 1","pages":"302-307"},"PeriodicalIF":0.0,"publicationDate":"2023-05-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"84940658","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
软件产业与工程Pub Date : 2023-04-18DOI: 10.1109/ICSE-SEET58685.2023.00026
Isabella Graßl, G. Fraser, Stefan Trieflinger, M. Kuhrmann
{"title":"Exposing Software Engineering Students to Stressful Projects: Does Diversity Matter?","authors":"Isabella Graßl, G. Fraser, Stefan Trieflinger, M. Kuhrmann","doi":"10.1109/ICSE-SEET58685.2023.00026","DOIUrl":"https://doi.org/10.1109/ICSE-SEET58685.2023.00026","url":null,"abstract":"Software development teams have to face stress caused by deadlines, staff turnover, or individual differences in commitment, expertise, and time zones. While students are typically taught the theory of software project management, their exposure to such stress factors is usually limited. However, preparing students for the stress they will have to endure once they work in project teams is important for their own sake, as well as for the sake of team performance in the face of stress. Team performance has been linked to the diversity of software development teams, but little is known about how diversity influences the stress experienced in teams. In order to shed light on this aspect, we provided students with the opportunity to self-experience the basics of project management in self-organizing teams, and studied the impact of six diversity dimensions on team performance, coping with stressors, and positive perceived learning effects. Three controlled experiments at two universities with a total of 65 participants suggest that the social background impacts the perceived stressors the most, while age and work experience have the highest impact on perceived learnings. Most diversity dimensions have a medium correlation with the quality of work, yet no significant relation to the team performance. This lays the foundation to improve students’ training for software engineering teamwork based on their diversity-related needs and to create diversity-sensitive awareness among educators, employers and researchers.","PeriodicalId":68155,"journal":{"name":"软件产业与工程","volume":"63 4 1","pages":"210-222"},"PeriodicalIF":0.0,"publicationDate":"2023-04-18","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"90914046","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}