Ignatios S. Deligiannis

Learn More
The study presented in this paper is a controlled experiment, aiming at investigating the impact of a design heuristic, dealing with the god class’ problem, on the maintainability of object-oriented designs. In other words, we wish to better understand to what extent a specific design heuristic contributes to the quality of designs developed. The experiment(More)
In this paper, pair programming is empirically investigated from the perspective of developer personalities and temperaments and how they affect pair effectiveness. A controlled experiment was conducted to investigate the impact of developer personalities and temperaments on communication, pair performance and pair viability-collaboration. The experiment(More)
In recent years there has been a growing interest in empirically investigating object-oriented technology (OOT). Much of this empirical work has been experimental in nature. This paper reviews the published output of such experiments—18 in total—with the twin aims of, first, assessing what has been learnt about OOT and, second, what has been learnt about(More)
The goal of this study is the development of a probabilistic model for the evaluation of flexibility of an object-oriented design. In particular, the model estimates the probability that a certain class of the system gets affected when new functionality is added or when existing functionality is modified. It is obvious that when a system exhibits a large(More)
This paper presents the partial results of an extended replicated pair programming experiment, conducted at the Alexander Technological Educational Institute of Thessaloniki, Greece during the two semesters of the year 2009-10. The entire study involved 160 second semester students attending a Software Engineering advanced programming course with pair(More)
Design patterns have become a widely acknowledged software engineering practice and therefore have been incorporated in the curricula of most computer science departments. This paper presents an observational study on students’ ability to understand and apply design patterns. Within the context of a postgraduate software engineering course, students had to(More)
In this paper we discuss a framework for teaching software testing to undergraduate students’ volunteers. The framework uses open source software development methodology and was implemented in the ”Introduction to Software Engineering” course at the department of Informatics, Aristotle University, Greece. The framework is in three phases, each describing a(More)
Libraries are increasingly employed in software practice to speed up the development process by reusing available and tested components. Software systems, that are available as libraries, are expected to be well-designed, because they have to adhere to specific principles, in order to accommodate the needs of multiple clients in a robust and stable way.(More)