Papers by Lukasz Pulawski
Design anti-patterns are common wrong solutions in software, whose frequency has been proven to b... more Design anti-patterns are common wrong solutions in software, whose frequency has been proven to be correlated with poor system quality. This paper investigates temporal relations between different types of anti-patters, i.e. how the appearance of one type of anti-pattern in the source code increases the probability that different anti-pattern will appear shortly after in its neighbourhood. The notion of rough anti-pattern used to model the vagueness of anti-patterns allows us to reformulate the question and establish if certain rough patterns tend to be temporally correlated. The proposed framework was used to build a classifier, which can be employed to predict the appearance of some anti-patterns by looking at the temporal relations between other anti-patterns. The experiments conducted on two large open-source projects suggest that a few common anti-patterns tend to be temporally dependent on others, whereas a few others do not.
The paper presents a framework for automatic inferring knowledge about reasons for the appearance... more The paper presents a framework for automatic inferring knowledge about reasons for the appearance of anti-patterns in the program source code during its development. Experiments carried out on histories of development of few open-source java projects shown that we can efficiently detect temporal patterns, which are indicators of likely appearance of future anti-pattern. The approach presented in this paper uses expert knowledge (formal description of anti-patterns) to automatically produce extra knowledge (with machine learning algorithm) about the evolution of bad structures in the program source code. The research can be used to build scalable and adaptive tools, which warns development teams about the fact that system architecture is drifting in the wrong direction, before this is reported by typical static source code analysis tools.
Lecture Notes in Computer Science, 2011
Source code metrics have been proved to be reliable indicators of the vulnerability of the source... more Source code metrics have been proved to be reliable indicators of the vulnerability of the source code to defects. Typically, a source code unit with high value of a certain metric is considered to be badly structured and thus error-prone. However, analysis of source code change history shows that there are cases when source files with low values of metrics
Uploads
Papers by Lukasz Pulawski