Article
Computer Science, Theory & Methods
Prasun Dewan, Samuel George, Andrew Wortas, Justin Do
Summary: According to design principles, adding concurrency to object-based programming courses does not have a negative impact on student learning, struggle, and engagement. By implementing simulations and assignments, students can experiment with concurrency extensions. Data evaluation results show that thread execution, creation, synchronization, and coordination have little or no significant effect on learning and engagement.
JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING
(2021)
Article
Chemistry, Multidisciplinary
Tjasa Hericko, Bostjan Sumak
Summary: During software maintenance, continuous correction and enhancement activities are required. This often leads to high costs and time consumption, surpassing the initial developmental expenses. To manage software development and maintenance better, various measures of maintainability have been proposed. The Maintainability Index is commonly used to quantitatively assess the ease of software maintenance. An experiment conducted on 45 Java-based object-oriented software systems showed that the choice of maintainability index variant could impact the perception of maintainability. However, despite different values among variants, they were strongly positively correlated and generally indicated similar trends in maintainability evolution.
APPLIED SCIENCES-BASEL
(2023)
Article
Chemistry, Multidisciplinary
Alok Mishra, Raed Shatnawi, Cagatay Catal, Akhan Akbulut
Summary: This paper systematically investigates research on software metric threshold calculation techniques and finds that a majority of studies rely on empirical analysis and apply statistical techniques to derive threshold values. Chidamber and Kemerer (CK) metrics are widely used in the research.
APPLIED SCIENCES-BASEL
(2021)
Article
Computer Science, Information Systems
William Flageol, Eloi Menaud, Yann-Gael Gueheneuc, Mourad Badri, Stefan Monnier
Summary: This study conducted a systematic mapping study to identify language features that claim to improve the implementation of object-oriented design patterns. The researchers found 18 language features that were claimed to improve design patterns and categorized them into paradigms. They also discovered that certain design patterns, such as Observer and Visitor, were more prevalent than others. Measures related to code size, code scattering, and understandability were preferred. This study provides a roadmap for future research on language features to improve object-oriented design patterns.
INFORMATION AND SOFTWARE TECHNOLOGY
(2023)
Article
Education & Educational Research
Alexandros Tsichouridis, Stelios Xinogalos, Apostolos Ampatzoglou
Summary: Teaching and learning programming, especially Object-Oriented Programming (OOP), is complicated and challenging. Existing educational programming environments often do not support students in designing complex and lengthy object-oriented programs. This paper focuses on a systematic mapping study of educational programming environments for enhancing the conceptual design in OOP, investigating learning outcomes, effectiveness, and technologies used.
JOURNAL OF EDUCATIONAL COMPUTING RESEARCH
(2023)
Article
Environmental Sciences
Liping Hou, Ke Lu, Xue Yang, Yuqiu Li, Jian Xue
Summary: This paper proposes a unified Gaussian representation called G-Rep for constructing Gaussian distributions for OBB, QBB, and PointSet, achieving a unified solution to various representations and problems. The proposed method utilizes Gaussian metrics to optimize the regression loss and align label assignment, resulting in excellent performance for arbitrary-oriented object detection.
Article
Computer Science, Information Systems
Navneet Kaur, Hardeep Singh
Summary: The study compared seven threshold techniques and found that concordance probability and maximum sum of sensitivity and specificity performed the best in identifying faulty classes in software systems.
JOURNAL OF KING SAUD UNIVERSITY-COMPUTER AND INFORMATION SCIENCES
(2022)
Article
Green & Sustainable Science & Technology
Vacius Jusas, Dominykas Barisas, Mindaugas Janciukas
Summary: Gamification of education can increase students' engagement and skills acquisition, resulting in more sustainable behavior. Research shows that applying gamification in the Object-Oriented Programming course can reduce the number of students who need to retake the course and improve the pass rate.
Article
Computer Science, Interdisciplinary Applications
Victor Lian, Elliot Varoy, Nasser Giacaman
Summary: This article presents a systematic approach to developing a teaching tool that combines visualization and analogies to improve student understanding of Object-oriented programming (OOP). The tool was evaluated with engineering students and showed a statistically significant improvement in student understanding and confidence.
IEEE TRANSACTIONS ON LEARNING TECHNOLOGIES
(2022)
Article
Education & Educational Research
Luz E. Gutierrez, Carlos A. Guerrero, Hector A. Lopez-Ospina
Summary: This study analyzes the literature on teaching and learning of object-oriented programming (OOP) to identify relevant problems and solutions. Through multi-criteria decision methods, the study ranks the identified problems and solutions to determine the best approaches. The main contribution of the study is the categorization of OOP problems and solutions, as well as proposing strategies to improve the problems.
EDUCATION AND INFORMATION TECHNOLOGIES
(2022)
Article
Computer Science, Interdisciplinary Applications
Sunavo Ghosh, Soumalya Kundu, Sumanta Neogy, Arghya Nandi
Summary: This work proposes an object-oriented approach for solving two-dimensional engineering mechanics problems, implemented in Python programming language. The proposed classes, together with the sympy symbolic computation module, allow the reduction of undergraduate engineering mechanics problems to Python statements. The work includes different diagrammatic representations for better physical understanding and relieves students from lengthy calculations.
COMPUTER APPLICATIONS IN ENGINEERING EDUCATION
(2023)
Article
Engineering, Biomedical
Yao Xue, Yonghui Li, Siming Liu, Ping Wang, Xueming Qian
Summary: This paper proposes a Compressive Sensing based Location Encoding scheme to improve the localization accuracy of surgical tools and capture their orientation, which outperforms traditional bounding box detection methods in pixel space.
IEEE TRANSACTIONS ON BIOMEDICAL ENGINEERING
(2022)
Article
Engineering, Electrical & Electronic
Amid Shahbazi, Jamshid Aghaei, Sasan Pirouzi, Taher Niknam, Miadreza Shafie-khah, Joao P. S. Catalao
Summary: This paper introduces an optimal framework for resilience-oriented design in distribution networks to protect against extreme weather events and minimize associated costs. The approach considers various factors and utilizes advanced computational methods to achieve a globally optimal solution.
ELECTRIC POWER SYSTEMS RESEARCH
(2021)
Article
Computer Science, Hardware & Architecture
Gholamali Nejad Hajali Irani, Habib Izadkhah
Summary: Providing models for intelligent decision-making is crucial in software projects. This paper proposes a new model called Sahand, which utilizes a Relational Database Repository (RDP) to store source code and extract necessary information. This model extends open-source tools and provides an infrastructure for developers to extract information using SQL language or its extensions.
COMPUTER STANDARDS & INTERFACES
(2024)
Article
Computer Science, Information Systems
Ajoy Mondal
Summary: Natural camouflage inspires the design of artificial camouflage images and their wide applications in the military field. Evaluating the effectiveness of artificially created camouflage images is essential. Various algorithms have been developed to assess camouflage design techniques.
MULTIMEDIA SYSTEMS
(2022)
Article
Computer Science, Information Systems
Theo Theunissen, Uwe van Heesch, Paris Avgeriou
Summary: Research shows that challenges in continuous software development include difficulties in understanding informal documentation, the perception of documentation as wasteful, and a focus on short-term productivity. To address these challenges, practitioners are recommended to adopt practices like non-written communication and tools like architecture frameworks to improve the quantity and quality of documentation.
INFORMATION AND SOFTWARE TECHNOLOGY
(2022)
Article
Computer Science, Software Engineering
George Digkas, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou
Summary: The study found that the number of TD issues introduced through new code is generally stable with occasional spikes, and the number of commits performed as well as developers' experience are not strongly correlated to the number of introduced TD issues.
SOFTWARE QUALITY JOURNAL
(2022)
Article
Computer Science, Software Engineering
Elvira-Maria Arvanitou, Apostolos Ampatzoglou, Alexander Chatzigeorgiou, Paris Avgeriou, Nikolaos Tsiridis
Summary: Identifying and understanding the artifacts that need to be changed during software maintenance is often costlier than applying the actual change. This paper proposes a metric for assessing the probability of one requirement being affected by a change in another requirement, focusing on the requirements level. The metric accounts for past co-change, overlapping implementations, and source code dependencies, and is validated through an industrial case study.
SOFTWARE QUALITY JOURNAL
(2022)
Article
Computer Science, Software Engineering
Yikun Li, Mohamed Soliman, Paris Avgeriou
Summary: Technical debt refers to sub-optimal solutions implemented for short-term benefits, sacrificing the long-term maintainability and evolvability of software. Self-Admitted Technical Debt (SATD) is commonly found in source code comments and issue tracking systems, and can be effectively identified and improved using machine learning methods.
EMPIRICAL SOFTWARE ENGINEERING
(2022)
Article
Computer Science, Information Systems
Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou, P. Chris Broekema
Summary: This study aims to confirm and extend the applicability of architecture harmonization practices from systems and software engineering in the field of System of Systems (SoS). The findings from a confirmatory case study provide further emphasis on the importance of a cross-disciplinary view and its value in SoS architecture research.
INFORMATION AND SOFTWARE TECHNOLOGY
(2022)
Editorial Material
Computer Science, Software Engineering
Nesrine Khabou, Ismael Bouassida Rodriguez, Khalil Drira, Paris Avgeriou, David C. Shepherd, Wing-Kwong Chan, Raffaela Mirandola
JOURNAL OF SYSTEMS AND SOFTWARE
(2023)
Article
Computer Science, Software Engineering
Yikun Li, Mohamed Soliman, Paris Avgeriou
Summary: Technical debt refers to taking shortcuts in software development at the expense of long-term maintainability. Previous research has focused on identifying developer-reported technical debt, while this study proposes and evaluates an approach for automated identification of self-admitted technical debt (SATD) from multiple sources. The approach integrates source code comments, commit messages, pull requests, and issue tracking systems, achieving superior performance compared to baseline methods. The study also characterizes SATD in open-source projects and explores the relationships between SATD in different sources, revealing insights such as even distribution among sources and common keywords shared between issues and pull requests.
EMPIRICAL SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Software Engineering
Yikun Li, Mohamed Soliman, Paris Avgeriou, Lou Somers
Summary: Technical debt refers to shortcuts taken during software development for the sake of expedience. Self-Admitted Technical Debt (SATD) occurs when developers explicitly acknowledge these shortcuts. While SATD management in Open Source projects has been studied extensively, its exploration in industry and developers' perspectives towards SATD have received limited attention. To address this gap, an exploratory case study was conducted with an industrial partner to understand how SATD is perceived and managed. The study involved collecting data on SATD from different sources and conducting interviews with 12 software practitioners. The results highlight the core characteristics of SATD in industrial projects, developers' attitudes towards it, triggers for its introduction and repayment, relations between SATD in different sources, practices used for its management, as well as challenges and tooling ideas.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Software Engineering
Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou
Summary: This study aims to improve the management of Interface Control Documents (ICDs) in Systems of Systems (SoS) using the documentation-as-code philosophy. A Technical Action Research (TAR) study was conducted with engineers at ASTRON to gain insights on interface management issues. Based on these insights, a proof-of-concept was developed to address the issues and received positive reviews from practitioners and experts, identifying areas for improvement and future work.
EMPIRICAL SOFTWARE ENGINEERING
(2023)
Article
Computer Science, Information Systems
Jie Tan, Daniel Feitosa, Paris Avgeriou
Summary: Although Technical Debt (TD) has received increasing attention, most studies are based on single sources. This study investigates the management of TD across different sources and finds that most resolved TD items in issue trackers are also paid back in source code, although many are not further discussed. It is also discovered that the identification of TD items often takes a long time (around one year) but can be resolved quickly if the same developer is involved in the process.
INFORMATION AND SOFTWARE TECHNOLOGY
(2023)
Article
Computer Science, Information Systems
Ruiyin Li, Peng Liang, Paris Avgeriou
Summary: The degradation of software architecture as a software system evolves hampers software maintenance and evolution activities and affects the quality attributes of the system. This study investigates the characteristics of architecture violation symptoms in code review comments from the developers' perspective and provides insights on how developers address these symptoms.
INFORMATION AND SOFTWARE TECHNOLOGY
(2023)
Article
Computer Science, Software Engineering
Darius Sas, Paris Avgeriou
Summary: A key aspect of technical debt management is measuring the accumulated principal. Existing approaches to estimate technical debt principal focus on architectural debt, but lack full automation, availability, and validation. This article proposes a novel approach using machine learning and architectural smells to estimate architectural technical debt principal, addressing shortcomings of current approaches. The approach applies information retrieval techniques to train a learning-to-rank machine learning model, calculates the number of lines of code creating the smell, and combines these values for the debt estimation, validated through a case study and interviews with practitioners.
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING
(2023)
Proceedings Paper
Computer Science, Software Engineering
Mohamed Soliman, Kirsten Gericke, Paris Avgeriou
Summary: This paper conducts an exploratory study on architectural blogs to investigate their types, topics, and their relevance to design steps. The results provide support for researchers and practitioners in finding and reusing valuable knowledge from blogs.
2023 IEEE 20TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE, ICSA
(2023)
Proceedings Paper
Computer Science, Software Engineering
Hector Cadavid, Vasilios Andrikopoulos, Paris Avgeriou
Summary: The architecting of Systems of Systems (SoS) is an important topic that has gained increasing interest. However, the interplay between different disciplines involved in the architecting process is often overlooked, which has significant implications for integration and operational issues. In this research, the authors collaborated with practitioners in a large-scale radio astronomy SoS project to explore potential improvements in interface management by adopting elements of the documentation-as-code philosophy. The results and lessons learned from this study are reported in this paper.
SOFTWARE ARCHITECTURE, ECSA 2022
(2022)
Proceedings Paper
Computer Science, Hardware & Architecture
Ruiyin Li, Mohamed Soliman, Peng Liang, Paris Avgeriou
Summary: This study investigates the erosion symptoms discussed in code reviews, their trends, and the actions taken by developers in the OpenStack community. The findings show that code review is an effective way to reduce erosion symptoms, and analyzing the trend of erosion symptoms can provide insights into the erosion status of software systems and help avoid potential risks.
IEEE 19TH INTERNATIONAL CONFERENCE ON SOFTWARE ARCHITECTURE (ICSA 2022)
(2022)