Markus Pizka

Learn More
Approximately 70% of the source code of a software system consists of identifiers. Hence, the names chosen as identifiers are of paramount importance for the readability of computer programs and therewith their comprehensibility. However, virtually every programming language allows programmers to use almost arbitrary sequences of characters as identifiers(More)
Maintainability is a key quality attribute of successful software systems. However, its management in practice is still problematic. Currently, there is no comprehensive basis for assessing and improving the maintainability of software systems. Quality models have been proposed to solve this problem. Nevertheless, existing approaches do not explicitly take(More)
Over time, software systems suffer gradual quality decay and therefore costs can rise if organizations fail to take proactive countermeasures. Quality control is the first step to avoiding this cost trap. Continuous quality assessments help users identify quality problems early, when their removal is still inexpensive; they also aid decision making by(More)
Changes to software systems often entail a loss of quality, especially if they have to be accomplished under pressure of time. Long-term software projects must counter this phenomenon one way or the other to preserve long-term maintainability. This paper presents the results of a case study trying to improve an extensive low-quality code base by(More)
Maintenance costs make up the bulk of the total life cycle costs of a software system. Besides organizational issues such as knowledge management and turnover, the long-term maintenance costs are largely predetermined by various quality attributes of the software system itself such as redundancy and adequate documentation. Unfortunately, many quality(More)
The design and implementation of complex software systems inherently spans multiple levels of abstractions. The concepts of each level of abstractions and their interplay are represented by formal languages that are either implicitly known or explicitly defined. Achieving high productivity in software development and maintenance is thus strongly connected(More)
The shared memory paradigm provides an easy to use programming model for communicating processes. Its implementation in distributed environments has proofed to be harder than expected. Most distributed shared memory (DSM) systems suffer from either poor performance or they are very complicated to use. The DSM system Murks, presented in this paper, is the(More)
Since many domains are constantly evolving, the associated domain specific languages (DSL) inevitably have to evolve too, to retain their value. But the evolution of a DSL can be very expensive, since existing words of the language (i. e. programs) and tools have to be adapted according to the changes of the DSL itself. In such cases, these costs seriously(More)
Due to its economic impact “maintainability” is broadly accepted as an important quality attribute of software systems. But in contrast to attributes such as performance and correctness, there is no common understanding of what maintainability actually is, how it can be achieved, measured, or assessed. In fact, every software organization of significant(More)