12 research outputs found
Business process quality measurement using advances in static code analysis
Business process models play an important role in the life of a company. Resemblances between software programs and business processes inspired several researchers to adapt software metrics from the field of static code analysis to help designers to build more effective and understandable processes. This paper aims to add recent advances in software quality measurement such as benchmarking and ISO/IEC 25010 standard based quality models to business process quality measurement. These techniques were proved to be very useful in software engineering both for managers and developers; moreover, they can be easily adopted to business process workflows. We focused on a specific type of flowchart called event-driven process chain (EPC), because in an EPC the activities are very often managed by software systems and our assumption is that the quality of these software systems affects the quality of the EPC itself. The presented business process quality model also uses the quality and test coverage metrics of these software systems besides business process metrics
Connection between version control operations and quality change of the source code
Software erosion is a well-known phenomena, meaning that software quality is continuously decreasing due to the ever-ongoing modifications in the source code. In this research work we investigated this phenomena by studying the impact of version control commit operations (add, update, delete) on the quality of the code. We calculated the ISO/IEC 9126 quality attributes for thousands of revisions of an industrial and three open-source software systems with the help of the Columbus Quality Model. We also collected the cardinality of each version control operation type for every investigated revision. We performed Chisquared tests on contingency tables with rows of quality change and columns of version control operation commit types. We compared the results with random data as well. We identified that the relationship between the version control operations and quality change is quite strong. Great maintainability improvements are mostly caused by commits containing Add operation. Commits containing file updates only tend to have a negative impact on the quality. Deletions have a weak connection with quality, and we could not formulate a general statement
Variance of source code quality change caused by version control operations
Software maintenance consumes huge efforts. Its cost strongly depends on the quality of the source code: an easy-to-maintain code needs much less effort than the maintenance of a more problematic one. Based on experiences, the maintainability of the source code tends to decrease during its lifetime. However, in most of the cases, this decrease is not a smooth linear one, but there are larger and smaller ups and downs, and the net root of these changes generally results in a negative tendency. Detecting common development patterns which similarly influence the maintainability could help to stop or even turn back source code erosion. In this research the scale of the ups and downs are investigated, namely that which version control operations cause bigger and which smaller changes in the maintainability. We calculated the maintainability and collected the cardinality of each version control operation for every revision of four inspected software systems. With the help of these data we checked which version control operation causes higher absolute code quality changes and which lower. We found clear connection between version control operations and the variance of the maintainability changes. File Additions and file Deletions caused significantly higher variance in maintainability changes compared to file Updates. Commits containing higher number of operations - regardless of the type of the operation - caused higher variance in maintainability changes than those commits containing lower number of operations. As a practical conclusion, it is recommended to pay special attention to the quality of commits containing new file additions, e.g. with the help of a mandatory code review
Case Study for the vudc R Package
In this study we present the usage of Cumulative Characteristic Diagram
and Quantile Difference Diagram – implemented in the vudc R package –
using the results of our research on the connection between version control
history data and the related maintainability.
With the help of these diagrams, we illustrate the results of five studies,
in which we executed contingency Chi-Squared test, Wilcoxon rank tests and
variance test. We were motivated by the question: how did these diagrams
support the numeric results?
We found that the diagrams spectacularly supported the results of the
statistic tests, furthermore, they revealed other important connections which
were left hidden by the tests
Software Product Quality Models, Developments, Trends and Evaluation
The file attached to this record is the author's final peer reviewed version. The Publisher's final version can be found by following the DOI link.Software product quality models have evolved in their abilities to capture
and describe the abstract notion of software quality since the 1970’s. Many models
constructed deal with a specific part of software quality only which makes them ineligible
to assess the quality of software products as a whole. Former publications failed
to thoroughly examine and list all the available models which attempt to describe
each known property of software product quality. This paper discovers such complete
software product quality models published since 2000; moreover, it endeavours
to measure the relevance of each model quantitatively by introducing indicators with
regard to the scientific and industrial community. The identified 23 software product
quality model classes differ significantly in terms of publication intensity, publication
range, quality score average, relevance score and the 12-month average of the
Google Relative Search Index. The results offer a foundation for selecting the appropriate
software product quality model for use or for extension if newly identified
quality properties need to be connected to a general context. Furthermore, the experiences
accumulated on the field of software product quality modelling motivated
researchers to successfully transfer the concepts to other areas where abstract entities
need to be compared or assessed including the quality of higher educational teaching
and business processes, which is also briefly highlighted in the paper
Data Science Techniques for Modelling Execution Tracing Quality
This research presents how to handle a research problem when the research variables are still unknown, and
no quantitative study is possible; how to identify the research variables, to be able to perform a quantitative
research, how to collect data by means of the research variables identified, and how to carry out modelling
with the considerations of the specificities of the problem domain. In addition, validation is also encompassed
in the scope of modelling in the current study. Thus, the work presented in this thesis comprises the typical
stages a complex data science problem requires, including qualitative and quantitative research, data collection,
modelling of vagueness and uncertainty, and the leverage of artificial intelligence to gain such insights, which
are impossible with traditional methods.
The problem domain of the research conducted encompasses software product quality modelling, and assessment,
with particular focus on execution tracing quality. The terms execution tracing quality and logging are
used interchangeably throughout the thesis.
The research methods and mathematical tools used allow considering uncertainty and vagueness inherently
associated with the quality measurement and assessment process through which reality can be approximated
more appropriately in comparison to plain statistical modelling techniques. Furthermore, the modelling approach
offers direct insights into the problem domain by the application of linguistic rules, which is an additional
advantage.
The thesis reports (1) an in-depth investigation of all the identified software product quality models, (2) a
unified summary of the identified software product quality models with their terminologies and concepts, (3)
the identification of the variables influencing execution tracing quality, (4) the quality model constructed to
describe execution tracing quality, and (5) the link of the constructed quality model to the quality model of the
ISO/IEC 25010 standard, with the possibility of tailoring to specific project needs.
Further work, outside the frames of this PhD thesis, would also be useful as presented in the study: (1) to define
application-project profiles to assist tailoring the quality model for execution tracing to specific application and
project domains, and (2) to approximate the present quality model for execution tracing, within defined bounds,
by simpler mathematical approaches.
In conclusion, the research contributes to (1) supporting the daily work of software professionals, who need
to analyse execution traces; (2) raising awareness that execution tracing quality has a huge impact on software
development, software maintenance and on the professionals involved in the different stages of the software
development life-cycle; (3) providing a framework in which the present endeavours for log improvements
can be placed, and (4) suggesting an extension of the ISO/IEC 25010 standard by linking the constructed
quality model to that. In addition, in the scope of the qualitative research methodology, the current PhD thesis
contributes to the knowledge of research methods with determining a saturation point in the course of the data
collection process