his.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Publications (10 of 20) Show all publications
Durisic, D., Staron, M., Tichy, M. & Hansson, J. (2019). Assessing the impact of meta-model evolution: a measure and its automotive application. Software and Systems Modeling, 18(2), 1419-1445
Open this publication in new window or tab >>Assessing the impact of meta-model evolution: a measure and its automotive application
2019 (English)In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374, Vol. 18, no 2, p. 1419-1445Article in journal (Refereed) Published
Abstract [en]

Domain-specific meta-models play an important role in the design of large software systems by defining language for the architectural models. Such common modeling languages are particularly important if multiple actors are involved in the development process as they assure interoperability between modeling tools used by different actors. The main objective of this paper is to facilitate the adoption of new domain-specific meta-model versions, or a subset of the new architectural features they support, by the architectural modeling tools used by different actors in the development of large software systems. In order to achieve this objective, we developed a simple measure of meta-model evolution (named NoC-Number of Changes) that captures atomic modification between different versions of the analyzed meta-model. We evaluated the NoC measure on the evolution of the AUTOSAR meta-model, a domain-specific meta-model used in the design of automotive system architectures. The evaluation shows that the measure can be used as an indicator of effort needed to update meta-model-based tools to support different actors in modeling new architectural features. Our detailed results show the impact of 14 new AUTOSAR features on the modeling tools used by the main actors in the automotive development process. We validated our results by finding a significant correlation between the results of the NoC measure and the actual effort needed to support these features in the modeling tools reported by the modeling practitioners from four AUTOSAR tool vendors and the AUTOSAR tooling team at Volvo Cars. Generally, our study shows that quantitative analysis of domain-specific meta-model evolution using a simple measure such as NoC can be used as an indicator of the required updates in the meta-model-based tools that are needed to support new meta-model versions. However, our study also shows that qualitative analysis that may include an inspection of the actual meta-model changes is needed for more accurate assessment.

Place, publisher, year, edition, pages
Springer, 2019
Keywords
Domain-specific meta-models, Modeling tools, Architectural features, Software evolution, Measurement, Automotive software, AUTOSAR
National Category
Computer Sciences
Identifiers
urn:nbn:se:his:diva-16839 (URN)10.1007/s10270-017-0601-1 (DOI)000464022400029 ()2-s2.0-85019757380 (Scopus ID)
Available from: 2019-04-25 Created: 2019-04-25 Last updated: 2019-09-30Bibliographically approved
Al Mamun, M. A., Berger, C. & Hansson, J. (2019). Effects of measurements on correlations of software code metrics. Journal of Empirical Software Engineering, 24(4), 2764-2818
Open this publication in new window or tab >>Effects of measurements on correlations of software code metrics
2019 (English)In: Journal of Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 24, no 4, p. 2764-2818Article in journal (Refereed) Published
Abstract [en]

Context

Software metrics play a significant role in many areas in the life-cycle of software including forecasting defects and foretelling stories regarding maintenance, cost, etc. through predictive analysis. Many studies have found code metrics correlated to each other at such a high level that such correlated code metrics are considered redundant, which implies it is enough to keep track of a single metric from a list of highly correlated metrics.

Objective

Software is developed incrementally over a period. Traditionally, code metrics are measured cumulatively as cumulative sum or running sum. When a code metric is measured based on the values from individual revisions or commits without consolidating values from past revisions, indicating the natural development of software, this study identifies such a type of measure as organic. Density and average are two other ways of measuring metrics. This empirical study focuses on whether measurement types influence correlations of code metrics.

Method

To investigate the objective, this empirical study has collected 24 code metrics classified into four categories, according to the measurement types of the metrics, from 11,874 software revisions (i.e., commits) of 21 open source projects from eight well-known organizations. Kendall’s τ -B is used for computing correlations. To determine whether there is a significant difference between cumulative and organic metrics, Mann-Whitney U test, Wilcoxon signed rank test, and paired-samples sign test are performed.

Results

The cumulative metrics are found to be highly correlated to each other with an average coefficient of 0.79. For corresponding organic metrics, it is 0.49. When individual correlation coefficients between these two measure types are compared, correlations between organic metrics are found to be significantly lower (with p <0.01) than cumulative metrics. Our results indicate that the cumulative nature of metrics makes them highly correlated, implying cumulative measurement is a major source of collinearity between cumulative metrics. Another interesting observation is that correlations between metrics from different categories are weak.

Conclusions

Results of this study reveal that measurement types may have a significant impact on the correlations of code metrics and that transforming metrics into a different type can give us metrics with low collinearity. These findings provide us a simple understanding how feature transformation to a different measurement type can produce new non-collinear input features for predictive models.

Place, publisher, year, edition, pages
Springer, 2019
Keywords
Software code metrics, Measurement effects on correlations, Collinearity, Software engineering, Cumulative measurement
National Category
Software Engineering
Identifiers
urn:nbn:se:his:diva-17532 (URN)10.1007/s10664-019-09714-9 (DOI)000477582700029 ()2-s2.0-85066026436 (Scopus ID)
Available from: 2019-08-15 Created: 2019-08-15 Last updated: 2019-11-08Bibliographically approved
Al Mamun, M. A., Martini, A., Staron, M., Berger, C. & Hansson, J. (2019). Evolution of technical debt: An exploratory study. In: CEUR Workshop Proceedings: . Paper presented at 2019 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement, IWSM-Mensura 2019; Haarlem; Netherlands; 7 October 2019 through 9 October 2019 (pp. 87-102). CEUR-WS
Open this publication in new window or tab >>Evolution of technical debt: An exploratory study
Show others...
2019 (English)In: CEUR Workshop Proceedings, CEUR-WS , 2019, p. 87-102Conference paper, Published paper (Refereed)
Abstract [en]

Context: Technical debt is known to impact maintainability of software. As source code files grow in size, maintainability becomes more challenging. Therefore, it is expected that the density of technical debt in larger files would be reduced for the sake of maintainability. Objective: This exploratory study investigates whether a newly introduced metric ‘technical debt density trend’ helps to better understand and explain the evolution of technical debt. The ‘technical debt density trend’ metric is the slope of the line of two successive ‘technical debt density’ measures corresponding to the ‘lines of code’ values of two consecutive revisions of a source code file. Method: This study has used 11,822 commits or revisions of 4,013 Java source files from 21 open source projects. For the technical debt measure, SonarQube tool is used with 138 code smells. Results: This study finds that ‘technical debt density trend’ metric has interesting characteristics that make it particularly attractive to understand the pattern of accrual and repayment of technical debt by breaking down a technical debt measure into multiple components, e.g., ‘technical debt density’ can be broken down into two components showing mean density corresponding to revisions that accrue technical debt and mean density corresponding to revisions that repay technical debt. The use of ‘technical debt density trend’ metric helps us understand the evolution of technical debt with greater insights. 

Place, publisher, year, edition, pages
CEUR-WS, 2019
Series
CEUR Workshop Proceedings, ISSN 1613-0073 ; 2476
Keywords
Code debt, Code smells, Slope of technical debt density, Software metrics, Technical debt, Technical debt density, Technical debt density trend, Codes (symbols), Maintainability, Odors, Code smell, Exploratory studies, Java source files, Multiple components, Open source projects, Technical debts, Open source software
National Category
Software Engineering
Identifiers
urn:nbn:se:his:diva-17859 (URN)2-s2.0-85074108547 (Scopus ID)
Conference
2019 Joint Conference of the International Workshop on Software Measurement and the International Conference on Software Process and Product Measurement, IWSM-Mensura 2019; Haarlem; Netherlands; 7 October 2019 through 9 October 2019
Available from: 2019-11-07 Created: 2019-11-07 Last updated: 2019-11-19Bibliographically approved
Liebel, G., Marko, N., Tichy, M., Leitner, A. & Hansson, J. (2018). Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice. Software and Systems Modeling, 17(1), 91-113
Open this publication in new window or tab >>Model-based engineering in the embedded systems domain: an industrial survey on the state-of-practice
Show others...
2018 (English)In: Software and Systems Modeling, ISSN 1619-1366, E-ISSN 1619-1374, Vol. 17, no 1, p. 91-113Article in journal (Refereed) Published
Abstract [en]

Model-based engineering (MBE) aims at increasing the effectiveness of engineering by using models as important artifacts in the development process. While empirical studies on the use and the effects of MBE in industry exist, only few of them target the embedded systems domain. We contribute to the body of knowledge with an empirical study on the use and the assessment of MBE in that particular domain. The goal of this study is to assess the current state-of-practice and the challenges the embedded systems domain is facing due to shortcomings with MBE. We collected quantitative data from 113 subjects, mostly professionals working with MBE, using an online survey. The collected data spans different aspects of MBE, such as the used modeling languages, tools, notations, effects of MBE introduction, or shortcomings of MBE. Our main findings are that MBE is used by a majority of all participants in the embedded systems domain, mainly for simulation, code generation, and documentation. Reported positive effects of MBE are higher quality and improved reusability. Main shortcomings are interoperability difficulties between MBE tools, high training effort for developers and usability issues. Our study offers valuable insights into the current industrial practice and can guide future research in the fields of systems modeling and embedded systems.

Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 2018
Keywords
Model-based engineering, Model-driven engineering, Embedded systems, Industry, Modeling, Empirical study, State-of-practice
National Category
Software Engineering Computer Sciences
Identifiers
urn:nbn:se:his:diva-14789 (URN)10.1007/s10270-016-0523-3 (DOI)000424654100007 ()2-s2.0-84962207101 (Scopus ID)
Available from: 2018-03-02 Created: 2018-03-02 Last updated: 2018-04-25Bibliographically approved
Antinyan, V., Staron, M., Sandberg, A. & Hansson, J. (2016). A Complexity Measure for Textual Requirements. In: Jens Heidrich & Frank Vogelezang (Ed.), Proceedings of the 26th International Workshop on Software Measurement (IWSM) and the 11th International Conference on Software Process and Product Measurement (Mensura) IWSM-Mensura 2016: . Paper presented at Joint Conference of the 26th International Workshop on Software Measurement (IWSM) and the 11th International Conference on Software Process and Product Measurement (Mensura) (IWSM-Mensura 2016), Berlin, Germany, October 5-7, 2016 (pp. 148-158). IEEE
Open this publication in new window or tab >>A Complexity Measure for Textual Requirements
2016 (English)In: Proceedings of the 26th International Workshop on Software Measurement (IWSM) and the 11th International Conference on Software Process and Product Measurement (Mensura) IWSM-Mensura 2016 / [ed] Jens Heidrich & Frank Vogelezang, IEEE, 2016, p. 148-158Conference paper, Published paper (Refereed)
Abstract [en]

Unequivocally understandable requirements are vital for software design process. However, in practice it is hard to achieve the desired level of understandability, because in large software products a substantial amount of requirements tend to have ambiguous or complex descriptions. Over time such requirements decelerate the development speed and increase the risk of late design modifications, therefore finding and improving them is an urgent task for software designers. Manual reviewing is one way of addressing the problem, but it is effort-intensive and critically slow for large products. Another way is using measurement, in which case one needs to design effective measures. In recent years there have been great endeavors in creating and validating measures for requirements understandability: most of the measures focused on ambiguous patterns. While ambiguity is one property that has major effect on understandability, there is also another important property, complexity, which also has major effect on understandability, but is relatively less investigated. In this paper we define a complexity measure for textual requirements through an action research project in a large software development organization. We also present its evaluation results in three large companies. The evaluation shows that there is a significant correlation between the measurement values and the manual assessment values of practitioners. We recommend this measure to be used with earlier created ambiguity measures as means for automated identification of complex specifications.

Place, publisher, year, edition, pages
IEEE, 2016
Keywords
measure, requirement, quality, complexity, automation
National Category
Software Engineering Computer Sciences
Identifiers
urn:nbn:se:his:diva-13549 (URN)10.1109/IWSM-Mensura.2016.030 (DOI)000399139200018 ()2-s2.0-8501196621 (Scopus ID)978-1-5090-4147-3 (ISBN)978-1-5090-4148-0 (ISBN)
Conference
Joint Conference of the 26th International Workshop on Software Measurement (IWSM) and the 11th International Conference on Software Process and Product Measurement (Mensura) (IWSM-Mensura 2016), Berlin, Germany, October 5-7, 2016
Available from: 2017-05-05 Created: 2017-05-05 Last updated: 2018-01-13Bibliographically approved
Rana, R., Staron, M., Berger, C., Hansson, J., Nilsson, M. & Meding, W. (2016). Analyzing defect inflow distribution and applying Bayesian inference method for software defect prediction in large software projects. Journal of Systems and Software, 117, 229-244
Open this publication in new window or tab >>Analyzing defect inflow distribution and applying Bayesian inference method for software defect prediction in large software projects
Show others...
2016 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 117, p. 229-244Article in journal (Refereed) Published
Abstract [en]

Tracking and predicting quality and reliability is a major challenge in large and distributed software development projects. A number of standard distributions have been successfully used in reliability engineering theory and practice, common among these for modeling software defect inflow being exponential, Weibull, beta and Non-Homogeneous Poisson Process (NHPP). Although standard distribution models have been recognized in reliability engineering practice, their ability to fit defect data from proprietary and OSS software projects is not well understood. Lack of knowledge about underlying defect inflow distribution also leads to difficulty in applying Bayesian based inference methods for software defect prediction. In this paper we explore the defect inflow distribution of total of fourteen large software projects/release from two industrial domain and open source community. We evaluate six standard distributions for their ability to fit the defect inflow data and also assess which information criterion is practical for selecting the distribution with best fit. Our results show that beta distribution provides the best fit to the defect inflow data for all industrial projects as well as majority of OSS projects studied. In the paper we also evaluate how information about defect inflow distribution from historical projects is applied for modeling the prior beliefs/experience in Bayesian analysis which is useful for making software defect predictions early during the software project lifecycle.

Place, publisher, year, edition, pages
Elsevier, 2016
Keywords
Software, SRGM, Defect Inflow
National Category
Software Engineering
Identifiers
urn:nbn:se:his:diva-12642 (URN)10.1016/j.jss.2016.02.015 (DOI)000377231800015 ()2-s2.0-84961641102 (Scopus ID)
Available from: 2016-07-01 Created: 2016-07-01 Last updated: 2018-06-05Bibliographically approved
Antinyan, V., Staron, M., Derehag, J., Runsten, M., Wikström, E., Meding, W., . . . Hansson, J. (2015). Identifying Complex Functions: By Investigating Various Aspects of Code Complexity. In: Proceedings of 2015 Science and Information Conference (SAI): July 28-30, 2015, London, United Kingdom. Paper presented at Science and Information Conference (SAI), London, United Kingdom, July 28-30, 2015 (pp. 879-888). IEEE Press
Open this publication in new window or tab >>Identifying Complex Functions: By Investigating Various Aspects of Code Complexity
Show others...
2015 (English)In: Proceedings of 2015 Science and Information Conference (SAI): July 28-30, 2015, London, United Kingdom, IEEE Press, 2015, p. 879-888Conference paper, Published paper (Refereed)
Abstract [en]

The complexity management of software code has become one of the major problems in software development industry. With growing complexity the maintenance effort of code increases. Moreover, various aspects of complexity create difficulties for complexity assessment. The objective of this paper is to investigate the relationships of various aspects of code complexity and propose a method for identifying the most complex functions. We have conducted an action research project in two software development companies and complemented it with a study of three open source products. Four complexity metrics are measured, and their nature and mutual influence are investigated. The results and possible explanations are discussed with software engineers in industry. The results show that there are two distinguishable aspects of complexity of source code functions: Internal and outbound complexities. Those have an inverse relationship. Moreover, the product of them does not seem to be greater than a certain limit, regardless of software size. We present a method that permits identification of most complex functions considering the two aspects of complexities. The evaluation shows that the use of the method is effective in industry: It enables identification of 0.5% most complex functions out of thousands of functions for reengineering.

Place, publisher, year, edition, pages
IEEE Press, 2015
Keywords
code, complexity, management, risk, trade-off
National Category
Computer and Information Sciences Computer Sciences Software Engineering
Identifiers
urn:nbn:se:his:diva-12796 (URN)10.1109/SAI.2015.7237246 (DOI)000380448800122 ()2-s2.0-84957825136 (Scopus ID)978-1-4799-8547-0 (ISBN)978-1-4799-8548-7 (ISBN)
Conference
Science and Information Conference (SAI), London, United Kingdom, July 28-30, 2015
Available from: 2016-08-19 Created: 2016-08-19 Last updated: 2018-01-10Bibliographically approved
Liebel, G., Marko, N., Tichy, M., Leitner, A. & Hansson, J. (2014). Assessing the state-of-practice of model-based engineering in the embedded systems domain. In: Juergen Dingel, Wolfram Schulte, Isidro Ramos, Silvia Abrahão, Emilio Insfran (Ed.), Model-Driven Engineering Languages and Systems: 17th International Conference, MODELS 2014, Valencia, Spain, September 28 – October 3, 2014. Proceedings. Paper presented at 17th International Conference, MODELS 2014, Valencia, Spain, September 28 – October 3, 2014 (pp. 166-182). Springer
Open this publication in new window or tab >>Assessing the state-of-practice of model-based engineering in the embedded systems domain
Show others...
2014 (English)In: Model-Driven Engineering Languages and Systems: 17th International Conference, MODELS 2014, Valencia, Spain, September 28 – October 3, 2014. Proceedings / [ed] Juergen Dingel, Wolfram Schulte, Isidro Ramos, Silvia Abrahão, Emilio Insfran, Springer, 2014, p. 166-182Conference paper, Published paper (Refereed)
Abstract [en]

Abstract Model-Based Engineering (MBE) aims at increasing the effectiveness of engineering by using models as key artifacts in the development process. While empirical studies on the use and the effects of MBE in industry exist, there is only little work targeting the embedded systems domain. We contribute to the body of knowledge with a study on the use and the assessment of MBE in that particular domain. We collected quantitative data from 112 subjects, mostly professionals working with MBE, with the goal to assess the ...

Place, publisher, year, edition, pages
Springer, 2014
Series
Lecture Notes in Computer Science, ISSN 0302-9743 ; 8767
National Category
Embedded Systems Computer Systems
Research subject
Technology
Identifiers
urn:nbn:se:his:diva-10380 (URN)10.1007/978-3-319-11653-2_11 (DOI)000345508500011 ()2-s2.0-84921415602 (Scopus ID)978-3-319-11652-5 (ISBN)978-3-319-11653-2 (ISBN)
Conference
17th International Conference, MODELS 2014, Valencia, Spain, September 28 – October 3, 2014
Note

Best paper award (Foundations track)

Available from: 2014-12-10 Created: 2014-12-10 Last updated: 2019-09-10Bibliographically approved
Al Mamun, A., Berger, C. & Hansson, J. (2014). Explicating, Understanding and Managing Technical Debt from Self-Driving Miniature Car Projects. In: Proceedings 2014 6th IEEE International Workshop on Managing Technical Debt: MTD 2014. Paper presented at 30th IEEE International Conference on Software Maintenance and Evolution (ICSME), 6th Workshop on Managing Technical Debt, 30 September, 2014, Victoria, British Columbia, Canada (pp. 11-18). Los Alamitos, CA: IEEE Computer Society
Open this publication in new window or tab >>Explicating, Understanding and Managing Technical Debt from Self-Driving Miniature Car Projects
2014 (English)In: Proceedings 2014 6th IEEE International Workshop on Managing Technical Debt: MTD 2014, Los Alamitos, CA: IEEE Computer Society, 2014, p. 11-18Conference paper, Published paper (Refereed)
Abstract [en]

Technical debt refers to various weaknesses in the design or implementation of a system resulting from trade-offs during software development usually for a quick release. Accumulating such debt over time without reducing it can seriously hamper the reusability and maintainability of the software. The aim of this study is to understand the state of the technical debt in the development of self-driving miniature cars so that proper actions can be planned to reduce the debt to have more reusable and maintainable software. A case study on a selected feature from two self-driving miniature car development projects is performed to assess the technical debt. Additionally, an interview study is conducted involving the developers to relate the findings of the case study with the possible root causes. The result of the study indicates that "the lack of knowledge" is not the primary reason for the accumulation of technical debt from the selected code smells. The root causes are rather in factors like time pressure followed by issues related to software/hardware integration and incomplete refactoring as well as reuse of legacy, third party, or open source code.

Place, publisher, year, edition, pages
Los Alamitos, CA: IEEE Computer Society, 2014
National Category
Embedded Systems Computer Systems
Research subject
Technology
Identifiers
urn:nbn:se:his:diva-10381 (URN)10.1109/MTD.2014.15 (DOI)2-s2.0-84920376907 (Scopus ID)978-1-4799-6791-9 (ISBN)
Conference
30th IEEE International Conference on Software Maintenance and Evolution (ICSME), 6th Workshop on Managing Technical Debt, 30 September, 2014, Victoria, British Columbia, Canada
Available from: 2014-12-10 Created: 2014-12-10 Last updated: 2019-09-12Bibliographically approved
Staron, M., Hansson, J. & Bosch, J. (Eds.). (2014). Performance in software development – Special issue editorial (56ed.). Elsevier
Open this publication in new window or tab >>Performance in software development – Special issue editorial
2014 (English)Collection (editor) (Other academic)
Place, publisher, year, edition, pages
Elsevier, 2014. p. 463-526 Edition: 56
Series
Information and Software Technology, ISSN 0950-5849 ; 56
National Category
Computer Systems Other Electrical Engineering, Electronic Engineering, Information Engineering
Research subject
Technology
Identifiers
urn:nbn:se:his:diva-10386 (URN)
Available from: 2014-12-12 Created: 2014-12-12 Last updated: 2017-11-27Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-2895-0780

Search in DiVA

Show all publications