lnu.sePublications
Change search
Link to record
Permanent link

Direct link
Ericsson, Morgan, DocentORCID iD iconorcid.org/0000-0003-1173-5187
Publications (10 of 85) Show all publications
Jabeen, R., Ericsson, M., Nordqvist, J. & Wingkvist, A. (2025). Graph Convolution Networks for Mapping Source Code Entities to Architectural Modules. In: : . Paper presented at 22nd IEEE International Conference on Software Architecture (ICSA 2025), Odense, Denmark, March 31 - April 4, 2025. IEEE
Open this publication in new window or tab >>Graph Convolution Networks for Mapping Source Code Entities to Architectural Modules
2025 (English)Conference paper, Published paper (Other academic)
Abstract [en]

Mapping source code entities manually to architectural modules is labor-intensive and time-consuming. Automating this process can help adopt static architecture compliance checking techniques like reflection modeling. We propose a graph-based semi-supervised learning approach to automate this mapping. Our method leverages syntactic and semantic dependencies extracted from compiled software artifacts and formulates the problem as a node classification task on a graph. We investigated Graph Convolutional Network (GCN) variants: (1) a homogeneous graph approach that treats all dependencies uniformly and (2) a heterogeneous graph approach that maintains distinct dependency types, utilizing a Relational Graph Convolutional Network (RGCN). The proposed method was evaluated on eight open-source Java systems and benchmarked against the state-of-the-art Naive Bayes classifier. Results demonstrate that the RGCNN variant outperforms the baseline, offering improved accuracy for mapping source code entities to architectural modules.

Place, publisher, year, edition, pages
IEEE, 2025
Keywords
Graph convolution network, software architecture
National Category
Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-138079 (URN)
Conference
22nd IEEE International Conference on Software Architecture (ICSA 2025), Odense, Denmark, March 31 - April 4, 2025
Available from: 2025-04-16 Created: 2025-04-16 Last updated: 2025-04-16
Hönel, S., Picha, P., Ericsson, M., Brada, P., Löwe, W. & Wingkvist, A. (2024). Activity-Based Detection of (Anti-)Patterns: An Embedded Case Study of the Fire Drill. e-Informatica Software Engineering Journal, 18(1), Article ID 240106.
Open this publication in new window or tab >>Activity-Based Detection of (Anti-)Patterns: An Embedded Case Study of the Fire Drill
Show others...
2024 (English)In: e-Informatica Software Engineering Journal, ISSN 1897-7979, E-ISSN 2084-4840, Vol. 18, no 1, article id 240106Article in journal (Refereed) Published
Abstract [en]

Background: Nowadays, expensive, error-prone, expert-based evaluations are needed to identify and assess software process anti-patterns. Process artifacts cannot be automatically used to quantitatively analyze and train prediction models without exact ground truth. Aim: Develop a replicable methodology for organizational learning from process (anti-)patterns, demonstrating the mining of reliable ground truth and exploitation of process artifacts. Method: We conduct an embedded case study to find manifestations of the Fire Drill anti-pattern in n = 15 projects. To ensure quality, three human experts agree. Their evaluation and the process’ artifacts are utilized to establish a quantitative understanding and train a prediction model. Results: Qualitative review shows many project issues. (i) Expert assessments consistently provide credible ground truth. (ii) Fire Drill phenomenological descriptions match project activity time (for example, development). (iii) Regression models trained on ≈ 12–25 examples are sufficiently stable. Conclusion: The approach is data source-independent (source code or issue-tracking). It allows leveraging process artifacts for establishing additional phenomenon knowledge and training robust predictive models. The results indicate the aptness of the methodology for the identification of the Fire Drill and similar anti-pattern instances modeled using activities. Such identification could be used in post mortem process analysis supporting organizational learning for improving processes.

Place, publisher, year, edition, pages
Wroclaw University of Science and Technology, 2024
Keywords
anti-patterns, Fire-Drill Case-study
National Category
Software Engineering Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-128700 (URN)10.37190/e-inf240106 (DOI)001229559900001 ()2-s2.0-85188276370 (Scopus ID)
Available from: 2024-04-09 Created: 2024-04-09 Last updated: 2025-02-11Bibliographically approved
Björnberg, D., Ericsson, M., Lindeberg, J., Löwe, W. & Nordqvist, J. (2024). Image generation of log ends and patches of log ends with controlled properties using generative adversarial networks. Signal, Image and Video Processing, 18, 6481-6489
Open this publication in new window or tab >>Image generation of log ends and patches of log ends with controlled properties using generative adversarial networks
Show others...
2024 (English)In: Signal, Image and Video Processing, ISSN 1863-1703, E-ISSN 1863-1711, Vol. 18, p. 6481-6489Article in journal (Refereed) Published
Abstract [en]

The appearance of the log cross-section provides important information when assessing the quality of the log, where properties to consider include pith location and density of annual rings. This makes tasks like estimation of pith location and annual ring detection of great interest. However, creating labeled training data for these tasks can be time-consuming and subject to misjudgments. For this reason, we aim to create generated training data with controlled properties of pith location and amount of annual rings. We propose a two-step generator based on generative adversarial networks in which we can completely avoid manual labeling, not only when generating training data but also during training of the generator itself. This opens up the possibility to train the generator on other types of log end data without the need to manually label new training data. The same method is used to create two generated training datasets; one of entire log ends and one of patches of log ends. To evaluate how the generated data compares to real data, we train two deep learning models to perform estimation of pith location and ring counting, respectively. The models are trained separately on real and generated data and evaluated on real data only. The results show that the performance of both estimation of pith location and ring counting can be improved by replacing real training data with larger sets of generated training data.

Place, publisher, year, edition, pages
Springer, 2024
Keywords
Generative adversarial network, Image generation of log ends, Training data generation, Conditional GAN, CycleGAN
National Category
Computer Engineering Computer Sciences Computer graphics and computer vision
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-131577 (URN)10.1007/s11760-024-03331-w (DOI)001249395800002 ()2-s2.0-85196276821 (Scopus ID)
Funder
Knowledge Foundation, 20190336
Available from: 2024-07-31 Created: 2024-07-31 Last updated: 2025-02-01Bibliographically approved
Björnberg, D., Ericsson, M., Löwe, W. & Nordqvist, J. (2024). Unpaired Image-to-Image Translation to Improve Log End Identification. In: ESANN 2024 proceedings: . Paper presented at European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning (pp. 673-678). i6doc
Open this publication in new window or tab >>Unpaired Image-to-Image Translation to Improve Log End Identification
2024 (English)In: ESANN 2024 proceedings, i6doc , 2024, p. 673-678Conference paper, Published paper (Refereed)
Abstract [en]

Visual re-identification tasks are often subject to large domain variations due to camera types, brightness conditions, or environmental differences. For identification models to generalize in such varying domains, a large amount of training data is necessary for capturing these variations. We explore the potential of using unpaired image-to-image translation to enhance the generalization capacity of a log end identification model in the absence or combined with a smaller amount of labeled training data.

Place, publisher, year, edition, pages
i6doc, 2024
National Category
Computer graphics and computer vision
Identifiers
urn:nbn:se:lnu:diva-133286 (URN)9782875870902 (ISBN)
Conference
European Symposium on Artificial Neural Networks, Computational Intelligence and Machine Learning
Available from: 2024-11-09 Created: 2024-11-09 Last updated: 2025-02-07Bibliographically approved
Hönel, S., Ericsson, M., Löwe, W. & Wingkvist, A. (2023). Metrics As Scores: A Tool- and Analysis Suite and Interactive Application for Exploring Context-Dependent Distributions. Journal of Open Source Software, 8(88), Article ID 4913.
Open this publication in new window or tab >>Metrics As Scores: A Tool- and Analysis Suite and Interactive Application for Exploring Context-Dependent Distributions
2023 (English)In: Journal of Open Source Software, E-ISSN 2475-9066, Vol. 8, no 88, article id 4913Article in journal (Refereed) Published
Abstract [en]

Metrics As Scores can be thought of as an interactive, multiple analysis of variance (abbr. "ANOVA," Chambers et al., 2017). An ANOVA might be used to estimate the goodness-of-fit of a statistical model. Beyond ANOVA, which is used to analyze the differences among hypothesized group means for a single quantity (feature), Metrics As Scores seeks to answer the question of whether a sample of a certain feature is more or less common across groups. This approach to data visualization and -exploration has been used previously (e.g., Jiang etal., 2022). Beyond this, Metrics As Scores can determine what might constitute a good/bad, acceptable/alarming, or common/extreme value, and how distant the sample is from that value, for each group. This is expressed in terms of a percentile (a standardized scale of [0, 1]), which we call score. Considering all available features among the existing groups furthermore allows the user to assess how different the groups are from each other, or whether they are indistinguishable from one another. The name Metrics As Scores was derived from its initial application: examining differences of software metrics across application domains (Hönel et al., 2022). A software metric is an aggregation of one or more raw features according to some well-defined standard, method, or calculation. In software processes, such aggregations are often counts of events or certain properties (Florac & Carleton, 1999). However, without the aggregation that is done in a quality model, raw data (samples) and software metrics are rarely of great value to analysts and decision-makers. This is because quality models are conceived to establish a connection between software metrics and certain quality goals (Kaner & Bond, 2004). It is, therefore, difficult to answer the question "is my metric value good?". With Metrics As Scores we present an approach that, given some ideal value, can transform any sample into a score, given a sample of sufficiently many relevant values. While such ideal values for software metrics were previously attempted to be derived from, e.g., experience or surveys (Benlarbi et al., 2000), benchmarks (Alves et al., 2010), or by setting practical values (Grady, 1992), with Metrics As Scores we suggest deriving ideal values additionally in non-parametric, statistical ways. To do so, data first needs to be captured in a relevant context (group). A feature value might be good in one context, while it is less so in another. Therefore, we suggest generalizing and contextualizing the approach taken by Ulan et al. (2021), in which a score is defined to always have a range of [0, 1] and linear behavior. This means that scores can now also be compared and that a fixed increment in any score is equally valuable among scores. This is not the case for raw features, otherwise. Metrics As Scores consists of a tool- and analysis suite and an interactive application that allows researchers to explore and understand differences in scores across groups. The operationalization of features as scores lies in gathering values that are context-specific (group-typical), determining an ideal value non-parametrically or by user preference, and then transforming the observed values into distances. Metrics As Scores enables this procedure by unifying the way of obtaining probability densities/masses and conducting appropriate statistical tests. More than 120 different parametric distributions (approx. 20 of which are discrete) are fitted through a common interface. Those distributions are part of the scipy package for the Python programming language, which Metrics As Scores makes extensive use of (Virtanen et al., 2020). While fitting continuous distributions is straightforward using maximum likelihood estimation, many discrete distributions have integral parameters. For these, Metrics As Scores solves a mixed-variable global optimization problem using a genetic algorithm in pymoo (Blank& Deb, 2020). Additionally to that, empirical distributions (continuous and discrete) and smooth approximate kernel density estimates are available. Applicable statistical tests for assessing the goodness-of-fit are automatically performed. These tests are used to select some best-fitting random variable in the interactive web application. As an application written in Python, Metrics As Scores is made available as a package that is installable using the PythonPackage Index (PyPI): pip install metrics-as-scores. As such, the application can be used in a stand-alone manner and does not require additional packages, such as a web server or third-party libraries.

Place, publisher, year, edition, pages
Open Journals, 2023
Keywords
Metrics, Visualization, Conditional Distributions
National Category
Probability Theory and Statistics Software Engineering
Research subject
Statistics/Econometrics; Computer Science, Information and software visualization
Identifiers
urn:nbn:se:lnu:diva-124881 (URN)10.21105/joss.04913 (DOI)
Available from: 2023-09-25 Created: 2023-09-25 Last updated: 2024-05-06Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2023). Optimized Machine Learning Input for Evolutionary Source Code to Architecture Mapping. In: Batista, T., Bureš, T., Raibulet, C., Muccini, H. (Ed.), Software Architecture. ECSA 2022 Tracks and Workshops. ECSA 2022: . Paper presented at Software Architecture. ECSA 2022 Tracks and Workshops Prague, Czech Republic, September 19–23, 2022 (pp. 421-435). Springer
Open this publication in new window or tab >>Optimized Machine Learning Input for Evolutionary Source Code to Architecture Mapping
2023 (English)In: Software Architecture. ECSA 2022 Tracks and Workshops. ECSA 2022 / [ed] Batista, T., Bureš, T., Raibulet, C., Muccini, H., Springer, 2023, p. 421-435Conference paper, Published paper (Refereed)
Abstract [en]

Automatically mapping source code to architectural modules is an interesting and difficult problem. Mapping can be considered a classification problem, and machine learning approaches have been used to automatically generate mappings. Feature engineering is an essential element of machine learning. We study which source code features are important for an algorithm to function effectively. Additionally, we examine stemming and data cleaning. We systematically evaluate various combinations of features on five datasets created from JabRef, TeamMates, ProM, and two Hadoop subsystems. The systems are open-source with well-established mappings. We find that no single set of features consistently provides the highest performance, and even the subsystems of Hadoop have varied optimal feature combinations. Stemming provided minimal benefit, and cleaning the data is not worth the effort, as it also provided minimal benefit.

Place, publisher, year, edition, pages
Springer, 2023
Series
Lecture Notes in Computer Science (LNCS), ISSN 0302-9743, E-ISSN 1611-3349 ; 13928
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-126305 (URN)10.1007/978-3-031-36889-9_28 (DOI)2-s2.0-85186769388 (Scopus ID)9783031368882 (ISBN)9783031368899 (ISBN)
Conference
Software Architecture. ECSA 2022 Tracks and Workshops Prague, Czech Republic, September 19–23, 2022
Available from: 2024-01-09 Created: 2024-01-09 Last updated: 2024-03-20Bibliographically approved
Hönel, S., Ericsson, M., Löwe, W. & Wingkvist, A. (2022). Contextual Operationalization of Metrics as Scores: Is My Metric Value Good?. In: Proceedings of the 2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS): . Paper presented at 2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS), Guangzhou, China, 5-9 Dec. 2022 (pp. 333-343). IEEE
Open this publication in new window or tab >>Contextual Operationalization of Metrics as Scores: Is My Metric Value Good?
2022 (English)In: Proceedings of the 2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS), IEEE, 2022, p. 333-343Conference paper, Published paper (Refereed)
Abstract [en]

Software quality models aggregate metrics to indicate quality. Most metrics reflect counts derived from events or attributes that cannot directly be associated with quality. Worse, what constitutes a desirable value for a metric may vary across contexts. We demonstrate an approach to transforming arbitrary metrics into absolute quality scores by leveraging metrics captured from similar contexts. In contrast to metrics, scores represent freestanding quality properties that are also comparable. We provide a web-based tool for obtaining contextualized scores for metrics as obtained from one’s software. Our results indicate that significant differences among various metrics and contexts exist. The suggested approach works with arbitrary contexts. Given sufficient contextual information, it allows for answering the question of whether a metric value is good/bad or common/extreme.

Place, publisher, year, edition, pages
IEEE, 2022
Series
IEEE International Conference on Software Quality, Reliability and Security (QRS), ISSN 2693-9185, E-ISSN 2693-9177
Keywords
Software quality, Metrics, Scores, Software Domains, Measurement, Aggregates, Software quality, Software reliability, Security, software metrics, absolute quality scores, arbitrary metrics, contextual operationalization, contextualized scores, quality properties, software quality models, Web-based tool
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Research subject
Computer and Information Sciences Computer Science; Computer Science, Software Technology; Computer Science, Information and software visualization
Identifiers
urn:nbn:se:lnu:diva-120165 (URN)10.1109/QRS57517.2022.00042 (DOI)2-s2.0-85151404427 (Scopus ID)9781665477048 (ISBN)
Conference
2022 IEEE 22nd International Conference on Software Quality, Reliability and Security (QRS), Guangzhou, China, 5-9 Dec. 2022
Available from: 2023-04-12 Created: 2023-04-12 Last updated: 2023-09-27Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2022). Mapping Source Code to Modular Architectures Using Keywords. In: Scandurra, P., Galster, M., Mirandola, R., Weyns, D. (Ed.), Software Architecture. ECSA 2021: . Paper presented at European Conference on Software Architecture, ECSA 2021, Virtual, Online, 13-17 September 2021 (pp. 65-85). Springer
Open this publication in new window or tab >>Mapping Source Code to Modular Architectures Using Keywords
2022 (English)In: Software Architecture. ECSA 2021 / [ed] Scandurra, P., Galster, M., Mirandola, R., Weyns, D., Springer, 2022, p. 65-85Conference paper, Published paper (Refereed)
Abstract [en]

We implement an automatic mapper that can find the corresponding architectural module for a source code file. The mapper is based on multinomial naive Bayes, and it is trained using custom keywords for each architectural module. The mapper uses the path and file name of source code elements for prediction. We find that the needed keywords often match the module names; however, ambiguities and discrepancies exist. We evaluate the mapper using ten open-source systems with a mapping to an intended architecture and find that the mapper can successfully create a mapping with perfect precision. Still, it cannot cover all source code elements in most cases. However, other techniques can use the mapping as a foothold and automatically create further mappings. We also apply the approach to two cases where the architecture has been recovered from the implementation and find that the approach currently has limitations of applicability in such architectures. 

Place, publisher, year, edition, pages
Springer, 2022
Series
Lecture Notes in Computer Science, ISSN 0302-9743, E-ISSN 1611-3349 ; 13365
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-118118 (URN)10.1007/978-3-031-15116-3_4 (DOI)000874750000004 ()2-s2.0-85136962515 (Scopus ID)9783031151156 (ISBN)9783031151163 (ISBN)
Conference
European Conference on Software Architecture, ECSA 2021, Virtual, Online, 13-17 September 2021
Available from: 2023-01-03 Created: 2023-01-03 Last updated: 2024-05-06Bibliographically approved
Picha, P., Hönel, S., Brada, P., Ericsson, M., Löwe, W., Wingkvist, A. & Danek, J. (2022). Process anti-pattern detection: a case study. In: Proceedings of the 27th European Conference on Pattern Languages of Programs, EuroPLop 2022, Irsee, Germany, July 6-10, 2022: . Paper presented at EuroPLop '22: Proceedings of the 27th European Conference on Pattern Languages of Programs, Irsee, Germany, July 6-10, 2022 (pp. 1-18). ACM Publications, Article ID 5.
Open this publication in new window or tab >>Process anti-pattern detection: a case study
Show others...
2022 (English)In: Proceedings of the 27th European Conference on Pattern Languages of Programs, EuroPLop 2022, Irsee, Germany, July 6-10, 2022, ACM Publications, 2022, p. 1-18, article id 5Conference paper, Published paper (Refereed)
Abstract [en]

Anti-patterns are harmful phenomena repeatedly occurring, e.g., in software development projects. Though widely recognized and well-known, their descriptions are traditionally not fit for automated detection. The detection is usually performed by manual audits, or on business process models. Both options are time-, effort- and expertise-heavy, prone to biases, and/or omissions. Meanwhile, collaborative software projects produce much data as a natural side product, capturing their status and day-to-day history. Long-term, our research aims at deriving models for the automated detection of process and project management anti-patterns, applicable to project data. Here, we present a general approach for studies investigating occurrences of these types of anti-patterns in projects and discuss the entire process of such studies in detail, starting from the anti-pattern descriptions in literature. We demonstrate and verify our approach with the Fire Drill anti-pattern detection as a case study, applying it to data from 15 student projects. The results of our study suggest that reliable detection of at least some process and project management anti-patterns in project data is possible, with 13 projects assessed accurately for Fire Drill presence by our automated detection when compared to the ground truth gathered from independent data. The overall approach can be similarly applied to detecting patterns and other phenomena with manifestations in Application Lifecycle Management data.

Place, publisher, year, edition, pages
ACM Publications, 2022
Keywords
Pattern detection, Project management anti-patterns, Software process anti-patterns, ALM tools, Fire Drill
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-120164 (URN)10.1145/3551902.3551965 (DOI)2-s2.0-85148442751 (Scopus ID)9781450395946 (ISBN)
Conference
EuroPLop '22: Proceedings of the 27th European Conference on Pattern Languages of Programs, Irsee, Germany, July 6-10, 2022
Available from: 2023-04-12 Created: 2023-04-12 Last updated: 2023-09-27Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2022). To automatically map source code entities to architectural modules with Naive Bayes. Journal of Systems and Software, 183, Article ID 111095.
Open this publication in new window or tab >>To automatically map source code entities to architectural modules with Naive Bayes
2022 (English)In: Journal of Systems and Software, ISSN 0164-1212, E-ISSN 1873-1228, Vol. 183, article id 111095Article in journal (Refereed) Published
Abstract [en]

Background: The process of mapping a source code entity onto an architectural module is to a large degree a manual task. Automating this process could increase the use of static architecture conformance checking methods, such as reflexion modeling, in industry. Current techniques rely on user parameterization and a highly cohesive design. A machine learning approach would potentially require fewer parameters and better use of the available information to aid in automatic mapping.

Aim: We investigate how a classifier can be trained to map from source code to architecture modules automatically. This classifier is trained with semantic and syntactic dependency information extracted from the source code and from architecture descriptions. The classifier is implemented using multinomial naive Bayes and evaluated.

Method: We perform experiments and compare the classifier with three state-of-the-art mapping functions in eight open-source Java systems with known ground-truth-mappings.

Results: We find that the classifier outperforms the state-of-the-art in all cases and that it provides a useful baseline for further research in the area of semi-automatic incremental clustering.

Conclusions: We conclude that machine learning is a useful approach that performs better and with less need for parameterization compared to other approaches. Future work includes investigating problematic mappings and a more diverse set of subject systems.

Place, publisher, year, edition, pages
Elsevier, 2022
Keywords
Incremental clustering, Orphan adoption, Naive Bayes, Software architecture, Machine learning
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-107510 (URN)10.1016/j.jss.2021.111095 (DOI)000709898800002 ()2-s2.0-85117148740 (Scopus ID)
Available from: 2021-10-15 Created: 2021-10-15 Last updated: 2024-05-06Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-1173-5187

Search in DiVA

Show all publications