Milan Nosál

Learn More
The quality of the source code structure is a matter of the point of view, one programmer might consider one structure the best, the other not. A concrete structure can help in certain situations with the program understanding. Therefore we propose using dynamic structuring that allows assigning multiple structures to one source code to aid program(More)
Model-driven software development is surrounded by numerous myths and misunderstandings that hamper its adoption. We have designed our course of model-driven development approach with the goal to introduce it from the viewpoint of a programmer as a pragmatic tool for solving concrete problems in development process. The course covers several techniques and(More)
In this paper we briefly introduce our concern-oriented source code projections that enable looking at same source code in multiple different ways. The objective of this paper is to discuss projection creation process in detail and to explain benefits of using projections to aid program comprehension. We achieve this objective by showing a case study that(More)
Software engineers have long recognized the need to shift focus from developing systems to developing system families. One way to develop software family is to develop configurable systems. A configuration (initial settings of a program), written in application-specific language, can be expressed using many different formats, such as XML, YAML,(More)
Context: Developers possess mental models containing information far beyond what is explicitly captured in the source code. Objectives: We investigate the possibility to use source code annotations to capture parts of the developers' mental models and later reuse them by other programmers during program comprehension and maintenance. Method: We performed(More)
Reoccurring software documentation fragments called documentation phrases crosscut documentation body and introduce undesired redundancy. The redundancy imposes problems with software documentation development and evolution. We want to reduce the negative effect caused by documentation phrases redundancy by centralizing the documentation phrases sources.(More)
Attribute-oriented programming (source code annotations) is a program level marking technique that enables enrichment of program elements with custom metadata. In this paper we hypothesize that there is a correspondence between source code annotations and conventional formal languages in general. We analyze our observations about source code annotations(More)
Implementation of domain-specific languages (DSLs) is supported by powerful tools that can automatically generate various artifacts from the language specification. Domain analysis and design of a language, however, are usually done manually. Automatic extraction of domain information can be used to generate preliminary version of the language specification(More)