Nikolaos Nikolaidis

Nikolaos Nikolaidis
University of Macedonia | UOM · Department of Applied Informatics

Master of Science

About

10
Publications
898
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
31
Citations
Citations since 2017
10 Research Items
31 Citations
201720182019202020212022202302468101214
201720182019202020212022202302468101214
201720182019202020212022202302468101214
201720182019202020212022202302468101214

Publications

Publications (10)
Article
Quality improvement can be performed at the: (a) micro-management level: interventions applied at a fine-grained level (e.g., at a class or method level, by applying a refactoring); or (b) macro-management level: interventions applied at a large-scale (e.g., at project level, by using a new framework or imposing a quality gate). By considering that...
Article
Design patterns are well-known solutions to recurring design problems that are widely adopted in the software industry, either as formal means of communication or as a way to improve structural quality, enabling proper software extension. However, the adoption and correct instantiation of patterns is not a trivial task and requires substantial desi...
Conference Paper
Service-Oriented Architectures (SOA) have become a standard for developing software applications, including but not limited to cloud-based ones and enterprise systems. When using SOA, the software engineers organize the desired functionality into self-contained and independent services, that are invoked through end-points (API calls). At the mainte...
Conference Paper
Refactorings constitute the most direct and comprehensible approach for addressing software quality issues, stemming directly from identified code smells. Nevertheless, despite their popularity in both the research and industrial communities: (a) the effect of a refactoring is not guaranteed to be successful; and (b) the plethora of available refac...
Chapter
Service-Oriented Architectures (SOA) have become a standard for developing software applications, including but not limited to cloud-based ones and enterprise systems. When using SOA, the software engineers organize the desired functionality into self-contained and independent services, that are invoked through end-points (API calls). At the mainte...
Conference Paper
Scientific software development refers to a specific branch of software engineering that targets the development of scientific applications. Such applications are usually developed by non-expert software engineers (e.g., natural scientists, biologists, etc.) and pertain to special challenges. One such challenge (stemming from the lack of proper sof...
Conference Paper
Requirements’ engineering (elicitation and documentation) is considered to be one of the most crucial phases of the software development process. More specifically, many products fail to reach the market or to capture a respectable share of it, due to problems derived during requirements engineering. In any game the main requirement is expected to...
Article
Full-text available
Technical Debt (TD) is a software engineering metaphor that resembles the production of poor-quality code to going into debt. In particular, a development team that "saves" effort while developing by not removing inefficiencies, has to "pay-back" with interest, in the form of additional maintenance costs (i.e., fixing bugs, adding features, etc.) d...
Conference Paper
Due to the recent (and forthcoming) rapid advancements in the hardware architectures of High-Performance Computing infrastructures, new challenges have arisen in the development of scientific software applications. In particular, software that runs on Exascale machines, needs to be highly portable (so as to be executed in highly heterogenous platfo...
Conference Paper
Software reuse is a well-established software engineering pro-cess that aims at improving development productivity. Although reuse can be performed in a very systematic way (e.g., through product lines), in practice, reuse is performed in many cases opportunistically, i.e., copying small code chunks either from the web or in-house developed project...

Network

Cited By