Bach. Sivana Alexa Hamer Campos

Bach. Sivana Alexa Hamer Campos

Es estudiante: 
No
Programa en que estudia: 

Proyectos

Publicaciones

Measuring Students’ Source Code Quality in Software Development Projects Through Commit-Impact Analysis

Descripción:

Evaluating the quality of software engineering projects in university courses is challenging because it evolves over time and is a time consuming task. Students applying software quality principles need early and constant feedback on their projects to improve their technical competence as software developers. We conducted a case study to explore whether student’ changes have an impact on the project quality by mining a Git repository. We analyzed a total of 2253 changes (commits) from an undergraduate software engineering project to understand the impact on quality of each change measuring metrics (complexity, duplication, maintainability, and security) mined from the repository. This analysis allowed us to identify from students’ contributions challenges and improvement opportunities in engineering practices. As future work, we plan to analyze more projects and extend our analysis with more software metrics.

Tipo de publicación: Book Chapter

Publicado en: Advances in Intelligent Systems and Computing

Measuring students' contributions in software development projects using Git metrics

Descripción:

Many courses in the software engineering area are centered around team-based project development. Evaluating these projects is a challenge due to the difficulty of measuring individual student contributions versus team contributions. The adoption of distributed version control systems like Git enables the measurement of students' and teams' contributions to the project. In this work, we analyze the contributions within five software development projects from undergraduate courses that used project-based learning. For this, we generate visualizations of aggregated Git metrics using inequality indexes and inter-decile ratios, which offer insights into the practices and processes followed by students and teams throughout the project development. This approach allowed us to identify both inequality among students' contributions and development processes with a non-steady pace, rendering a useful feedback tool for instructors and students during the development of the project. Further studies can be conducted to assess the complexity and value of students' contributions by analyzing their source code commits and other software artifacts.

Tipo de publicación: Conference Paper

Publicado en: 2020 XLVI Latin American Computing Conference (CLEI)

Using git metrics to measure students' and teams' code contributions in software development projects

Descripción:

Many software engineering courses are centered around team-based project development. Analyzing the source code contributions during the projects’ development could provide both instructors and students with constant feedback to identify common trends and behaviors that can be improved during the courses. Evaluating course projects is a challenge due to the difficulty of measuring individual student contributions versus team contributions during the development. The adoption of distributed version control sys-tems like git enable the measurement of students’ and teams’ contributions to the project.In this work, we analyze the contributions within eight software development projects,with 150 students in total, from undergraduate courses that used project-based learning.We generate visualizations of aggregated git metrics using inequality measures and the contribution per module, which offer insights into the practices and processes followed by students and teams throughout the project development. This approach allowed us to identify inequality among students’ contributions, the modules where students con-tributed, development processes with a non-steady pace, and integration practices render-ing a useful feedback tool for instructors and students during the project’s development.Further studies can be conducted to assess the quality, complexity, and ownership of the contributions by analyzing software artifacts.

Tipo de publicación: Journal Article

Publicado en: CLEI Electronic Journal

Students Projects' Source Code Changes Impact on Software Quality Through Static Analysis

Descripción:

Monitoring and examining source code and quality metrics is an essential task in software development projects. Still, it is challenging to evaluate for educational projects due to the time and effort required by instructors, and constant change during the software project evolution. In this paper, we used an automated approach to analyze source code and quality metrics’ evolution and impact in software engineering projects using static code analysis on each software change (commits and merges). We examined five undergraduate software engineering projects’ changed modules, compilability, and source code and quality metrics (size, complexity, duplication, maintainability, and security). In total, we assessed 12,103 changes from 103 students contributing to the projects. Our approach allowed us to identify students’ project trends in the impact of the source code changes, providing insights into behaviors such as technology knowledge deficiencies, issues in continuous integration practices, and software quality degradation. We believe that the early, constant feedback on student software engineering project quality can help instructors improve their courses and students enhance their development practices. Tracking of source code evolution could be done via static analysis and instructors could use the analysis results for teaching.

Tipo de publicación: Book Chapter

Publicado en: Communications in Computer and Information Science

How Have We Researched Developers’ Contributions in Software Engineering? A Systematic Mapping Study

Descripción:

Developers contribute to different technical and non-technical tasks throughout the software development life cycle, such as implementing and refactoring code, reviewing changes, documenting, testing, communicating, and collaborating. Contribution assessment research can help understand development phenomena better, motivate developers, and improve software engineering projects in industrial, open-source, and academic settings. As the body of work grows, it becomes worthwhile to aggregate evidence to standardize classifications, consolidate findings, and identify research gaps. This paper characterizes how software engineering research has studied developers’ contributions to projects. We conducted a systematic mapping study of 166 primary papers that assessed developer contributions characterizing the contribution types, research topics, research design practices, measurement constructs, assessment approaches, contexts under study, threats to validity, and challenges. Our findings show that contribution research is broad in software engineering but mainly focused on product-related contributions that mine measures from activities. Yet, research needs to consider more comprehensive construct measures and robust approaches to recognize the multi-faceted, nuanced, and complex nature of development work, without overlooking contributions. At the same time, there is a need for approach applicability to help future research and technology transfer. Researchers, tool designers, and adopters can leverage our results to motivate future software contribution-related work.

Tipo de publicación: Journal Article