Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 31) Show all publications
Sinkala, Z. T., Blom, M. & Herold, S. (2018). A mapping study of software architecture recovery for software product lines. In: Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings. Paper presented at 12th European Conference on Software Architecture ECSA '18). Madrid, Spain: ACM Press, Article ID 49.
Open this publication in new window or tab >>A mapping study of software architecture recovery for software product lines
2018 (English)In: Proceedings of the 12th European Conference on Software Architecture: Companion Proceedings, Madrid, Spain: ACM Press, 2018, article id 49Conference paper, Published paper (Refereed)
Abstract [en]

Migrating a family of software systems from ad-hoc development approaches such as `clone-and-own' towards software product lines (SPL) is a challenging task. Software architecture recovery techniques can play a crucial role in such a migration. However, it is to date still unclear how these techniques, which have been mostly developed for single system architecture recovery in mind, can be utilized in an SPL context most effectively. In this paper, we present a mapping study examining 35 research articles with the purpose of discussing the current state of the art in applying software architecture recovery techniques for SPL and identifying potential research gaps in this area. The results provide evidence that currently used approaches do not seem to consider the potential architectural degradation that might exist in the family of systems to be migrated. Moreover, it is hard to generalize across empirical studies as currently it seems difficult to compare and benchmark the approaches applied for software product line architecture (SPLA) extraction/reconstruction.

Place, publisher, year, edition, pages
Madrid, Spain: ACM Press, 2018
Keywords
mapping study, software architecture recovery, software architectures, software product lines, software reverse engineering
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-69815 (URN)10.1145/3241403.3241454 (DOI)000455670400049 ()978-1-4503-6483-6 (ISBN)
Conference
12th European Conference on Software Architecture ECSA '18)
Projects
REVaMP2 - Round-Trip Engineering and Variability Management Platform and Process - http://www.revamp2-project.eu
Available from: 2018-10-22 Created: 2018-10-22 Last updated: 2019-06-14Bibliographically approved
Lenhard, J., Blom, M. & Herold, S. (2018). Exploring the suitability of source code metrics for indicating architectural inconsistencies. Software quality journal
Open this publication in new window or tab >>Exploring the suitability of source code metrics for indicating architectural inconsistencies
2018 (English)In: Software quality journal, ISSN 0963-9314, E-ISSN 1573-1367Article in journal (Refereed) Published
Abstract [en]

Software architecture degradation is a phenomenon that frequently occurs during software evolution. Source code anomalies are one of the several aspects that potentially contribute to software architecture degradation. Many techniques for automating the detection of such anomalies are based on source code metrics. It is, however, unclear how accurate these techniques are in identifying the architecturally relevant anomalies in a system. The objective of this paper is to shed light on the extent to which source code metrics on their own can be used to characterize classes contributing to software architecture degradation. We performed a multi-case study on three open-source systems for each of which we gathered the intended architecture and data for 49 different source code metrics taken from seven different code quality tools. This data was analyzed to explore the links between architectural inconsistencies, as detected by applying reflexion modeling, and metric values indicating potential design problems at the implementation level. The results show that there does not seem to be a direct correlation between metrics and architectural inconsistencies. For many metrics, however, classes more problematic as indicated by their metric value seem significantly more likely to contribute to inconsistencies than less problematic classes. In particular, the fan-in, a classes’ public API, and method counts seem to be suitable indicators. The fan-in metric seems to be a particularly interesting indicator, as class size does not seem to have a confounding effect on this metric. This finding may be useful for focusing code restructuring efforts on architecturally relevant metrics in case the intended architecture is not explicitly specified and to further improve architecture recovery and consistency checking tool support.

Place, publisher, year, edition, pages
Springer, 2018
Keywords
Architectural inconsistencies Software architecture degradation Reflexion modeling Source code metrics Code anomalies Multi-case study
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-66704 (URN)10.1007/s11219-018-9404-z (DOI)000462236000007 ()
Projects
DigitalWell Research (5465)
Funder
Region Värmland
Available from: 2018-03-15 Created: 2018-03-15 Last updated: 2019-06-12Bibliographically approved
Lenhard, J., Hassan, M. M., Blom, M. & Herold, S. (2017). Are Code Smell Detection Tools Suitable For Detecting Architecture Degradation?. In: ECSA '17 Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings. Paper presented at 4th Workshop on Software Architecture Erosion and Architectural Consistency (SAEroCon 2017) co-located with the 11th European Conference on Software Architecture (ECSA 2017) (pp. 138-144). Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Are Code Smell Detection Tools Suitable For Detecting Architecture Degradation?
2017 (English)In: ECSA '17 Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, Association for Computing Machinery (ACM), 2017, p. 138-144Conference paper, Published paper (Refereed)
Abstract [en]

Context: Several studies suggest that there is a relation between code smells and architecture degradation. They claim that classes, which have degraded architecture-wise, can be detected on the basis of code smells, at least if these are manually identiÿed in the source code.

Objective: To evaluate the suitability of contemporary code smell detection tools by combining different smell categories for ÿnding classes that show symptoms of architecture degradation.

Method: A case study is performed in which architectural in-consistencies in an open source system are detected via reflexion modeling and code smell metrics are collected through several tools. Using data mining techniques, we investigate if it is possible to auto-matically and accurately classify classes connected to architectural inconsistencies based on the gathered code smell data.

Results: Results suggest that existing code smell detection techniques, as implemented in contemporary tools, are not sufficiently accurate for classifying whether a class contains architectural in-consistencies, even when combining categories of code smells.

Conclusion: It seems that current automated code smell detection techniques require ÿne-tuning for a speciÿc system if they are to be used for ÿnding classes with architectural inconsistencies. More research on architecture violation causes is needed to build more accurate detection techniques that work out-of-the-box.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2017
Keywords
architecture erosion, code smells, data mining, case study
National Category
Software Engineering
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-63784 (URN)10.1145/3129790.3129808 (DOI)000426556400032 ()978-1-4503-5217-8 (ISBN)
Conference
4th Workshop on Software Architecture Erosion and Architectural Consistency (SAEroCon 2017) co-located with the 11th European Conference on Software Architecture (ECSA 2017)
Available from: 2017-09-18 Created: 2017-09-18 Last updated: 2018-11-16Bibliographically approved
Hassan, M. M., Afzal, W., Lindström, B., Shah, S. M., Andler, S. F. & Blom, M. (2016). Testability and software performance: A systematic mapping study. In: SAC '16 Proceedings of the 31st Annual ACM Symposium on Applied Computing: . Paper presented at 31st ACM Symposium on Applied Computing (SAC'16), April 4-8, 2016 in Pisa, Italy (pp. 1566-1569). ACM Digital Library
Open this publication in new window or tab >>Testability and software performance: A systematic mapping study
Show others...
2016 (English)In: SAC '16 Proceedings of the 31st Annual ACM Symposium on Applied Computing, ACM Digital Library, 2016, p. 1566-1569Conference paper, Published paper (Refereed)
Abstract [en]

In most of the research on software testability, functionalcorrectness of the software has been the focus while the ev-idence regarding testability and non-functional propertiessuch as performance is sporadic. The objective of this studyis to present the current state-of-the-art related to issuesof importance, types and domains of software under test,types of research, contribution types and design evaluationmethods concerning testability and software performance.We nd that observability, controllability and testing e ortare the main testability issues while timeliness and responsetime (i.e., time constraints) are the main performance issuesin focus. The primary studies in the area use diverse types ofsoftware under test within di erent domains, with real-timesystems as being a dominant domain. The researchers haveproposed many di erent methods in the area, however thesemethods lack implementation in practice as suggested byour gures for research type, contribution type and designevaluation methods.

Place, publisher, year, edition, pages
ACM Digital Library, 2016
National Category
Engineering and Technology
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-40979 (URN)10.1145/2851613.2851978 (DOI)978-1-4503-3739-7 (ISBN)
Conference
31st ACM Symposium on Applied Computing (SAC'16), April 4-8, 2016 in Pisa, Italy
Projects
TOCSYC
Funder
Knowledge Foundation, 20130085
Available from: 2016-03-07 Created: 2016-03-07 Last updated: 2016-07-11Bibliographically approved
Blom, M. & Hassan, M. M. (2015). Applying clustering to analyze opinion diversity. In: He (Jason) Zhang (Ed.), Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering: . Paper presented at EASE 2015 - 19th International Conference on Evaluation and Assessment in Software Engineering, Nanjing (China), 27-29 April 2015. New York: Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Applying clustering to analyze opinion diversity
2015 (English)In: Proceedings of the 19th International Conference on Evaluation and Assessment in Software Engineering / [ed] He (Jason) Zhang, New York: Association for Computing Machinery (ACM), 2015Conference paper, Published paper (Refereed)
Abstract [en]

In empirical software engineering research there is an increased use of questionnaires and surveys to collect information from practitioners. Typically, such data is then analyzed based on overall, descriptive statistics. Even though this can capture the general trends there is a risk that the opinions of different (minority) sub-groups are lost. Here we propose the use of clustering to segment the respondents so that a more detailed analysis can be achieved. Our findings suggest that it can give a better insight about the survey population and the participants' opinions. This partitioning approach can show more precisely the extent of opinion differences between different groups. This approach also gives an opportunity for the minorities to be heard. Through the process significant new findings may also be obtained. In our example study regarding the state of testing and requirement activities in industry, we found several significant groups that showed significant opinion differences from the overall conclusion.

Place, publisher, year, edition, pages
New York: Association for Computing Machinery (ACM), 2015
Keywords
Empirical Survey, Clustering, Data Mining, Partitioning, Grouping, Diversity, Minority, Expert Opinion
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-35985 (URN)10.1145/2745802.2745809 (DOI)978-1-4503-3350-4 (ISBN)
Conference
EASE 2015 - 19th International Conference on Evaluation and Assessment in Software Engineering, Nanjing (China), 27-29 April 2015
Projects
EU: strukturfonder, projekt Compare Business Innovation Centre (CBIC III)KKS projekt 20130085: Testing of Critical System Characteristics (TOCSYC)
Funder
Knowledge FoundationEU, European Research Council
Available from: 2015-05-08 Created: 2015-05-08 Last updated: 2017-01-25Bibliographically approved
Hassan, M. M., Afzal, W., Blom, M., Lindström, B., Andler, S. & Eldh, S. (2015). Testability and Software Robustness: A Systematic Literature Review. In: 2015 41st Euromicro Conference on Software Engineering and Advanced Applications: . Paper presented at The 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA'15, August 26-28, 2015, Funchal, Madeira, Portugal (pp. 341-348). IEEE conference proceedings
Open this publication in new window or tab >>Testability and Software Robustness: A Systematic Literature Review
Show others...
2015 (English)In: 2015 41st Euromicro Conference on Software Engineering and Advanced Applications, IEEE conference proceedings, 2015, p. 341-348Conference paper, Published paper (Refereed)
Abstract [en]

The concept of software testability has been researched in several different dimensions, however the relation of this important concept with other quality attributes is a grey area where existing evidence is scattered. The objective of this study is to present a state-of-the-art with respect to issues of importance concerning software testability and an important quality attribute: software robustness. The objective is achieved by conducting a systematic literature review (SLR) on the topic. Our results show that a variety of testability issues are in focus with observability and controllability issues being most researched. Fault tolerance, exception handling and handling external influence are prominent robustness issues in focus.

Place, publisher, year, edition, pages
IEEE conference proceedings, 2015
Keywords
Software testability, Software robustness, Systematic literature review
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-37894 (URN)10.1109/SEAA.2015.47 (DOI)000380478300049 ()
Conference
The 41st Euromicro Conference on Software Engineering and Advanced Applications SEAA'15, August 26-28, 2015, Funchal, Madeira, Portugal
Projects
TOCSYC - Testing of Critical System Characteristics (KKS)
Funder
Knowledge Foundation, 20130085
Available from: 2015-09-09 Created: 2015-09-09 Last updated: 2017-08-08Bibliographically approved
Blom, M. & Eldh, S. (2013). Is Common Test Data the Solution to Poor Quality?: Solving the Right Problem – An Analysis of a Public Health Information System. In: Maria Manuela Cruz-Cunha, João Varajão, Helmut Krcmar and Ricardo Martinho (Ed.), Procedia Technology: HCIST 2013 - International Conference on Health and Social Care Information Systems and Technologies. Paper presented at HCIST 2013 - International Conference on Health and Social Care Information Systems and Technologies (pp. 1227-1236). Elsevier, 9
Open this publication in new window or tab >>Is Common Test Data the Solution to Poor Quality?: Solving the Right Problem – An Analysis of a Public Health Information System
2013 (English)In: Procedia Technology: HCIST 2013 - International Conference on Health and Social Care Information Systems and Technologies / [ed] Maria Manuela Cruz-Cunha, João Varajão, Helmut Krcmar and Ricardo Martinho, Elsevier, 2013, Vol. 9, p. 1227-1236Conference paper, Published paper (Refereed)
Abstract [en]

This paper reports our initial findings regarding the state of testing of software in the Swedish public health information system. At present, the system is only available through a black-box interface, i.e. through the GUI. This and other issues related to politics, management and organization indicate that much work is needed in order for the software to have the quality level expected by a safety-critical system. The proposed solution by the public health organization for raising the quality is to use an independent test database. Based on our initial understanding of the problem, we argue that there might be other solutions that would perhaps be more cost-effective and have a stronger impact on the quality of the system. Our main contribution lies in the data analysis, where we have collected the problems and suggested alternative cost-saving solutions.

Place, publisher, year, edition, pages
Elsevier, 2013
Series
Procedia Technology, ISSN 2212-0173
Keywords
Software testing, Public health care, Acceptance testing, Test automation, Interoperability, Information System
National Category
Computer Systems
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-35987 (URN)10.1016/j.protcy.2013.12.137 (DOI)
Conference
HCIST 2013 - International Conference on Health and Social Care Information Systems and Technologies
Projects
CBIC III
Funder
Knowledge Foundation, CBIC III
Available from: 2015-05-08 Created: 2015-05-08 Last updated: 2017-08-08
Blom, M. (2010). Is Scrum and XP suitable for CSE Development?. Paper presented at Procedia Computer Science. Paper presented at Procedia Computer Science. Elsevier, 1(1)
Open this publication in new window or tab >>Is Scrum and XP suitable for CSE Development?
2010 (English)Conference paper, Published paper (Refereed)
Abstract

This article discusses the question if Scrum and XP is well suited for development of Computational Science and Engineering (CSE) software. The reason for choosing Scrum and XP is based on two facts. Firstly, CSE developers are not used to formal processes for software development and Scrum and XP are informal in nature, hence easier to adopt. Secondly CSE projects are often once-off and aimed at producing scientific results rather than commercial software, so the overhead of a process or methodology needs to be kept at a minimum. Scrum and XP are focused on producing software, thus keeping everything else, i.e. the overhead to a minimum, a fact that benefits CSE development. In this article, the characteristics of Scrum and XP in particular and agile development in general are evaluated against the needs of CSE developers. The results show that almost all the key points in both methodologies are well suited for CSE development and that agile development in general is a good match with CSE

Place, publisher, year, edition, pages
Elsevier, 2010
Keywords
Scrum, XP, CSE, Computational Science Engineering, SE, Software Engineering
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-9942 (URN)
Conference
Procedia Computer Science
Available from: 2012-02-08 Created: 2012-02-08 Last updated: 2018-01-12Bibliographically approved
Blom, M. & Öfverberg, J. (2009). Combining Contract-Based Development and Test-Driven Development. Paper presented at Proceedings of SERP'09. Paper presented at Proceedings of SERP'09. CSREA Press
Open this publication in new window or tab >>Combining Contract-Based Development and Test-Driven Development
2009 (English)In: / [ed] Hamid R. Arabnia, Hassan Reza, CSREA Press , 2009Conference paper, Published paper (Refereed)
Abstract

Contract-based Development and Test-Driven Development are two techniques for handling and avoiding software errors. They are generally not combined and we have studied the processes associated with the techniques to

see how this combination could be done. We have found possible ways to move to and from both processes and some benefits for both ways. Moving from contracts to test cases is rather straight forward due to the completeness of the contracts, whereas moving from test cases to contracts demand some more work since the test cases are only examples of usage.

Place, publisher, year, edition, pages
CSREA Press, 2009
Keywords
Contract-Based Development, Test-Driven Development
National Category
Information Systems Computer Sciences
Research subject
Information Systems; Computer Science
Identifiers
urn:nbn:se:kau:diva-11307 (URN)1601321279 (ISBN)
Conference
Proceedings of SERP'09
Available from: 2012-02-08 Created: 2012-02-08 Last updated: 2018-01-12Bibliographically approved
Blom, M., Nordby, E. J. & Brunström, A. (2008). An Experimental Evaluation of Documentation Methods and Reusability. Paper presented at 10th International Conference on Software Reuse. Paper presented at 10th International Conference on Software Reuse. Heidelberg: Springer, 5030/2008
Open this publication in new window or tab >>An Experimental Evaluation of Documentation Methods and Reusability
2008 (English)Conference paper, Published paper (Refereed)
Abstract [en]

This paper presents an experimental evaluation carried out in an academic environment. The goal of the experiment was to compare how different methods of documenting semantic information affect software reuse. More specifically, the goal was to measure if there were any differences between the methods with regard to the time needed to implement changes to existing software. Four methods of documentation were used; executable contracts, non-executable contracts, Javadoc-style documentation and sequence diagrams. The results indicate that executable contracts demanded more time than the other three methods and that sequence diagrams and Javadoc demanded the least time

Place, publisher, year, edition, pages
Heidelberg: Springer, 2008
Keywords
Software Engineering, Reuse, Documentation Methods, Experiment, Empirical
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:kau:diva-16880 (URN)9783540680628 (ISBN)
Conference
10th International Conference on Software Reuse
Available from: 2013-01-21 Created: 2013-01-21 Last updated: 2018-06-04
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-1777-884X

Search in DiVA

Show all publications