821 research outputs found
A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography
While functionality and correctness of code has traditionally been the main
focus of computing educators, quality aspects of code are getting increasingly
more attention. High-quality code contributes to the maintainability of
software systems, and should therefore be a central aspect of computing
education. We have conducted a systematic mapping study to give a broad
overview of the research conducted in the field of code quality in an
educational context. The study investigates paper characteristics, topics,
research methods, and the targeted programming languages. We found 195
publications (1976-2022) on the topic in multiple databases, which we
systematically coded to answer the research questions. This paper reports on
the results and identifies developments, trends, and new opportunities for
research in the field of code quality in computing education
Recommended from our members
A comparative evaluation of project management tools for extreme programming
Extreme Programming, which is commonly termed as XP, is considered to be the most widely used “agile” software methodology among all that are available. As it is a kind of agile software development, XP promotes regular releases in brief development cycles and that is meant for improving efficiency plus introduction of checkpoints where the latest client necessities can be implemented. This research study evaluated the project management tools that are commonly used in the industry to support an XP development team. A selected set of these tools have been evaluated and their strengths and weaknesses are reported here. We also performed a gap analysis on all the tools that are available in the market. We determined the three best tools that are widely used and also to what extent these tools support the XP practices. One major conclusion from the research is that there is no single tool available that will help with all the various types of XP projects. The three tools that are most widely used cover most of the XP projects but still have some limitations in the areas of communications management, human resources management and risk management. As a result of this research our next steps will be doing more detailed evaluation of the PPTS tool with the goal of introducing the missing features. This is quite doable as PPTS is an open source tool. We also would like to do more research on the related development and testing tools that could be integrated with this tool to come up with a more functional IDE to fully support XP projects in both management and engineering practices.Electrical and Computer Engineerin
30 Years of Software Refactoring Research: A Systematic Literature Review
Peer Reviewedhttps://deepblue.lib.umich.edu/bitstream/2027.42/155872/4/30YRefactoring.pd
30 Years of Software Refactoring Research:A Systematic Literature Review
Due to the growing complexity of software systems, there has been a dramatic
increase and industry demand for tools and techniques on software refactoring
in the last ten years, defined traditionally as a set of program
transformations intended to improve the system design while preserving the
behavior. Refactoring studies are expanded beyond code-level restructuring to
be applied at different levels (architecture, model, requirements, etc.),
adopted in many domains beyond the object-oriented paradigm (cloud computing,
mobile, web, etc.), used in industrial settings and considered objectives
beyond improving the design to include other non-functional requirements (e.g.,
improve performance, security, etc.). Thus, challenges to be addressed by
refactoring work are, nowadays, beyond code transformation to include, but not
limited to, scheduling the opportune time to carry refactoring, recommendations
of specific refactoring activities, detection of refactoring opportunities, and
testing the correctness of applied refactorings. Therefore, the refactoring
research efforts are fragmented over several research communities, various
domains, and objectives. To structure the field and existing research results,
this paper provides a systematic literature review and analyzes the results of
3183 research papers on refactoring covering the last three decades to offer
the most scalable and comprehensive literature review of existing refactoring
research studies. Based on this survey, we created a taxonomy to classify the
existing research, identified research trends, and highlighted gaps in the
literature and avenues for further research.Comment: 23 page
Uncovering steady advances for an extreme programming course
This paper presents an empirical study about identifying improvement actions for an eXtreme Programming course in the academic environment. This exploratory study is undertaken in two preliminary phases. These phases are part of a wider research project to develop a theory about how to continuously improve courses of similar structure and content. The first phase
consists of diagnosing improvement actions from the 2010 edition of the course through a qualitative analysis of data obtained using various methods: (1) students’ responses to a questionnaire with open questions; and (2) students’ opinions expressed in a final agile retrospective with all members of the course. The second phase consists of an early application of the identified improvements in the 2011 edition of the course to gather lessons
learned, and develop a definite case study design to be used continuously in the next courses offered. Amongst the results, we found that the use of initiatives to promote interactions between groups like Coding Dojo and Brainwritting helps students to effectively learn and share knowledge and experiences, a problem still unsolved when thinking of scaling agile methods. Also, this paper allows keeping track on what is occurring in the course
A Systematic Mapping Study of Code Quality in Education -- with Complete Bibliography
While functionality and correctness of code has traditionally been the main focus of computing educators, quality aspects of code are getting increasingly more attention. High-quality code contributes to the maintainability of software systems, and should therefore be a central aspect of computing education. We have conducted a systematic mapping study to give a broad overview of the research conducted in the field of code quality in an educational context. The study investigates paper characteristics, topics, research methods, and the targeted programming languages. We found 195 publications (1976-2022) on the topic in multiple databases, which we systematically coded to answer the research questions. This paper reports on the results and identifies developments, trends, and new opportunities for research in the field of code quality in computing education
Formal Verification of Security Protocol Implementations: A Survey
Automated formal verification of security protocols has been mostly focused on analyzing high-level abstract models which, however, are significantly different from real protocol implementations written in programming languages. Recently, some researchers have started investigating techniques that bring automated formal proofs closer to real implementations. This paper surveys these attempts, focusing on approaches that target the application code that implements protocol logic, rather than the libraries that implement cryptography. According to these approaches, libraries are assumed to correctly implement some models. The aim is to derive formal proofs that, under this assumption, give assurance about the application code that implements the protocol logic. The two main approaches of model extraction and code generation are presented, along with the main techniques adopted for each approac
Agile Game: A Project Management Game for Agile Methods
Since mid-1990s, companies have adopted agile methods and incorporated them in their development methodologies. For this reason, future project managers and developers need to have a full understanding of these methods. At present, the university’s approach to agile methods is theoretical and is not reflected during the development of a product and their practical use. The purpose of this project is the creation of a software system in the form of a game, named Agile Game, which simulates their use. The system is designed for use as supplementary material in lectures, to help students understand agile methods, to present their use within a project, and to demonstrate how they differ from traditional project management methodologies. The final system, which is web based, was implemented using PHP, MySQL and JavaScript. It was fully tested against the requirements and evaluated by peer students. The evaluation showed that the majority of users were satisfied with the system but they thought that it should contain more detailed information at every step of the game. For this reason, some parts of the design and the content were reviewed to meet user requirements
Agile Game: A Project Management Game for Agile Methods
Since mid-1990s, companies have adopted agile methods and incorporated them in their development methodologies. For this reason, future project managers and developers need to have a full understanding of these methods. At present, the university’s approach to agile methods is theoretical and is not reflected during the development of a product and their practical use. The purpose of this project is the creation of a software system in the form of a game, named Agile Game, which simulates their use. The system is designed for use as supplementary material in lectures, to help students understand agile methods, to present their use within a project, and to demonstrate how they differ from traditional project management methodologies. The final system, which is web based, was implemented using PHP, MySQL and JavaScript. It was fully tested against the requirements and evaluated by peer students. The evaluation showed that the majority of users were satisfied with the system but they thought that it should contain more detailed information at every step of the game. For this reason, some parts of the design and the content were reviewed to meet user requirements
- …