lnu.sePublications
Change search
Link to record
Permanent link

Direct link
BETA
Alternative names
Publications (10 of 16) Show all publications
Olsson, T., Ericsson, M. & Wingkvist, A. (2019). An exploration and experiment tool suite for code to architecture mapping techniques. In: Laurence Duchien (Ed.), ECSA '19 Proceedings of the 13th European Conference on Software Architecture: . Paper presented at 13th European Conference on Software Architecture, september 9-13, 2019, Paris, France (pp. 26-29). New York, NY, USA: ACM Publications, 2
Open this publication in new window or tab >>An exploration and experiment tool suite for code to architecture mapping techniques
2019 (English)In: ECSA '19 Proceedings of the 13th European Conference on Software Architecture / [ed] Laurence Duchien, New York, NY, USA: ACM Publications, 2019, Vol. 2, p. 26-29Conference paper, Published paper (Refereed)
Abstract [en]

Reflexion modeling can be used to validate that source code conforms to an intended architecture. However, it requires a mapping of source code modules (e.g., classes) to (software) architecture elements. We have developed a tool suite that allows for evaluation and exploration of automatic techniques to map source code modules to architecture elements. The suite includes a reusable core component and tools to define the architecture, define and run experiments with mapping strategies, and explore the results of these experiments. The experiments can be executed locally or in a remote high-performance computing environment.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Publications, 2019
Keywords
Software Architecture, Module View, Architecture Compliance, Source to Architecture Mapping, Experiment
National Category
Software Engineering
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-89210 (URN)10.1145/3344948.3344997 (DOI)978-1-4503-7142-1 (ISBN)
Conference
13th European Conference on Software Architecture, september 9-13, 2019, Paris, France
Available from: 2019-09-20 Created: 2019-09-20 Last updated: 2019-09-26Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2019). Semi-Automatic Mapping of Source Code Using Naive Bayes. In: Laurence Duchien (Ed.), ECSA '19 Proceedings of the 13th European Conference on Software Architecture -: . Paper presented at 13th European Conference on Software Architecture, september 9-13, 2019, Paris, France (pp. 209-216). New York, NY, USA: ACM Publications, 2
Open this publication in new window or tab >>Semi-Automatic Mapping of Source Code Using Naive Bayes
2019 (English)In: ECSA '19 Proceedings of the 13th European Conference on Software Architecture - / [ed] Laurence Duchien, New York, NY, USA: ACM Publications, 2019, Vol. 2, p. 209-216Conference paper, Published paper (Refereed)
Abstract [en]

The software industry has not adopted continuous use of static architecture conformance checking. One hindrance is the needed mapping from source code elements to elements of the architecture. We present a novel approach of generating and combining dependency and semantic information extracted from an initial set of mapped source code files. We use this to train a Naive Bayes classifier that is then used to map the remainder of the source code files. We compare this approach with the HuGMe technique on six open source projects with known mappings. We find that our approach provides an average performance improvement of 0.22 and an average precision and recall F1-score improvement of 0.26 in comparison to HuGMe.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Publications, 2019
Keywords
software architecture, software architecture conformance, reflexion modeling, naive bayes, source code
National Category
Software Engineering
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-89209 (URN)10.1145/3344948.3344984 (DOI)978-1-4503-7142-1 (ISBN)
Conference
13th European Conference on Software Architecture, september 9-13, 2019, Paris, France
Available from: 2019-09-20 Created: 2019-09-20 Last updated: 2019-09-26Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2018). Towards Improved Initial Mapping in Semi Automatic Clustering. In: ECSA 2018: PROCEEDINGS OF THE 12TH EUROPEAN CONFERENCE ON SOFTWARE ARCHITECTURE: COMPANION PROCEEDINGS. Paper presented at 12th European Conference on Software Architecture (ECSA), Madrid, Spain, Sep 24-28, 2018. Association for Computing Machinery (ACM)
Open this publication in new window or tab >>Towards Improved Initial Mapping in Semi Automatic Clustering
2018 (English)In: ECSA 2018: PROCEEDINGS OF THE 12TH EUROPEAN CONFERENCE ON SOFTWARE ARCHITECTURE: COMPANION PROCEEDINGS, Association for Computing Machinery (ACM), 2018Conference paper, Published paper (Refereed)
Abstract [en]

An important step in Static Architecture Conformance Checking (SACC) is the mapping of source code entities to entities in the intended architecture. This step is currently relying on manual work, which is one hindrance for more widespread adoption of SACC in industry. Semi-automatic clustering is a promising approach to improve this, and the HuGMe clustering algorithm is an example of such a technique for use in SACC. But HuGMe relies on an initial set of clustered source code elements and algorithm parameters. We investigate the automatic mapping performance of HuGMe in two experiments to gain insight into what influence the starting set has in a medium-sized open source system, JabRef, which contain a relatively large number of architectural violations. Our results show that the highest automatic mapping performance can be achieved with a low number of elements within the initial set. However, the variability of the performance is high. We find a benefit in favoring source code elements with a high fan-out in the initial set.

Place, publisher, year, edition, pages
Association for Computing Machinery (ACM), 2018
Keywords
Clustering, Software Architecture Conformance, HuGMe
National Category
Computer and Information Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-80159 (URN)10.1145/3241403.3241456 (DOI)000455670400051 ()2-s2.0-85055708745 (Scopus ID)978-1-4503-6483-6 (ISBN)
Conference
12th European Conference on Software Architecture (ECSA), Madrid, Spain, Sep 24-28, 2018
Available from: 2019-02-01 Created: 2019-02-01 Last updated: 2019-08-29Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2018). Using Repository Data for Driving Software Architecture. In: Proceeding of the 40th International Conference on Software Engineering: Companion Proceeedings (ICSE), 2018. Paper presented at 40th International Conference on Software Engineering, Gothenburg, May 27-June 3, 2018 (pp. 197-198). ACM Publications
Open this publication in new window or tab >>Using Repository Data for Driving Software Architecture
2018 (English)In: Proceeding of the 40th International Conference on Software Engineering: Companion Proceeedings (ICSE), 2018, ACM Publications, 2018, p. 197-198Conference paper, Poster (with or without abstract) (Refereed)
Abstract [en]

We are in the pursuit of establishing a method for continuous data driven software architecture. We describe the problem with current methods for measuring the impact of refactoring long lived systems at the architectural level and architecture compliance checking. We summarize our studies of code churn, productivity and an automatic tool for compliance checking. We conclude that architecture violations seem to play an important role, but current methods are infeasible for industry practice. Finally we propose to use repository data mining to improve current methods for architecture compliance checking.

Place, publisher, year, edition, pages
ACM Publications, 2018
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-80971 (URN)10.1145/3183440.3195094 (DOI)978-1-4503-5663-3 (ISBN)
Conference
40th International Conference on Software Engineering, Gothenburg, May 27-June 3, 2018
Funder
Knowledge Foundation, 20150088
Available from: 2019-03-05 Created: 2019-03-05 Last updated: 2019-03-14Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2017). Motivation and Impact of Modeling Erosion using Static Architecture Conformance Checking. In: Proceedings - 2017 IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings. Paper presented at IEEE International Conference on Software Architecture Workshop, 2017, Young Researchers Forum, April 3-7, 2017, Gothenburg (pp. 204-209). IEEE
Open this publication in new window or tab >>Motivation and Impact of Modeling Erosion using Static Architecture Conformance Checking
2017 (English)In: Proceedings - 2017 IEEE International Conference on Software Architecture Workshops, ICSAW 2017: Side Track Proceedings, IEEE, 2017, p. 204-209Conference paper, Published paper (Refereed)
Abstract [en]

We motivate and describe why erosion modelingfrom a static architecture conformance checking point of view isimportant as well as the impact we think it can have on industry.Our research goal is to get a better understanding of erosionand develop smarter and simpler methods to assess erosion. Wedescribe preliminary results from a retrospective, longitudinalcase study of an open source software. The software system westudy, JabRef, was created in 2003, and refactored to a layeredstructure to “transition from a spaghetti to a more structuredarchitecture” in 2015. We construct a model from this new,layered architecture, and assess 30 versions of JabRef to findarchitectural conformance violations. Our preliminary resultsshow a significant difference in productivity after refactoring andsuggest that there is a connection between our model of erosionand productivity where more erosion gives lower productivity.

Place, publisher, year, edition, pages
IEEE, 2017
Keywords
Software Architecture, Conformance Checking, Layers
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-62457 (URN)10.1109/ICSAW.2017.15 (DOI)000413089000042 ()2-s2.0-85025583762 (Scopus ID)9781509047932 (ISBN)
Conference
IEEE International Conference on Software Architecture Workshop, 2017, Young Researchers Forum, April 3-7, 2017, Gothenburg
Projects
Software and Information Quality
Available from: 2017-04-13 Created: 2017-04-13 Last updated: 2019-08-29Bibliographically approved
Olsson, T., Ericsson, M. & Wingkvist, A. (2017). The relationship of code churn and architectural violations in the open source software JabRef. In: ECSA '17 Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings. Paper presented at European Conference on Software Architecture, Canterbury, UK, 11-15 September,2017 (pp. 152-158). New York, NY, USA: ACM Publications
Open this publication in new window or tab >>The relationship of code churn and architectural violations in the open source software JabRef
2017 (English)In: ECSA '17 Proceedings of the 11th European Conference on Software Architecture: Companion Proceedings, New York, NY, USA: ACM Publications, 2017, p. 152-158Conference paper, Published paper (Refereed)
Abstract [en]

The open source application JabRef has existed since 2003. In 2015, the developers decided to make an architectural refactoring as continued development was deemed too demanding. The developers also introduced Static Architecture Conformance Checking (SACC) to prevent violations to the intended architecture. Measurements mined from source code repositories such as code churn and code ownership has been linked to several problems, for example fault proneness, security vulnerabilities, code smells, and degraded maintainability. The root cause of such problems can be architectural. To determine the impact of the refactoring of JabRef, we measure the code churn and code ownership before and after the refactoring and find that large files with violations had a significantly higher code churn than large files without violations before the refactoring. After the refactoring, the files that had violations show a more normal code churn. We find no such effect on code ownership. We conclude that files that contain violations detectable by SACC methods are connected to higher than normal code churn.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Publications, 2017
Series
ACM International Conference Proceeding Series
Keywords
Software Architecture, Code Churn, Open Source, Architecrual Erosion, Technical Debt
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-68408 (URN)10.1145/3129790.3129810 (DOI)000426556400034 ()2-s2.0-85037741580 (Scopus ID)978-1-4503-5217-8 (ISBN)
Conference
European Conference on Software Architecture, Canterbury, UK, 11-15 September,2017
Projects
Information and Software Qualtiy
Available from: 2017-10-20 Created: 2017-10-20 Last updated: 2019-08-29Bibliographically approved
Olsson, T., Toll, D., Ericsson, M. & Wingkvist, A. (2016). Evaluation of an architectural conformance checking software service. In: ACM Proccedings of the 10th European Conference on Software Architecture Workshops (ECSA-W): . Paper presented at 10th European Conference on Software Architecture, November 28 - December 02, 2016, Copenhagen, Denmark. ACM Press, Article ID 15.
Open this publication in new window or tab >>Evaluation of an architectural conformance checking software service
2016 (English)In: ACM Proccedings of the 10th European Conference on Software Architecture Workshops (ECSA-W), ACM Press, 2016, article id 15Conference paper, Published paper (Refereed)
Abstract [en]

Static architectural conformance checking can be used to find architectural violations, cases where the implementation does not adhere to the architecture, and prevent architectural erosion. We implement a software service for automated conformance checking and investigate the effect this has on the number of architectural violations in software projects. The service is implemented using our heuristic-based approach to static architecture conformance checking of the Model-View-Controller pattern. The service is integrated in the source code management system of each project, so a report is generated every time the source code is modified. The service was evaluated in a field experiment that consisted of eight student projects. We found that the four projects that used the service produced significantly fewer violations compared to those that did not.

Place, publisher, year, edition, pages
ACM Press, 2016
Series
ACM International Conference Proceeding Series
Keywords
Static Architectural Conformance Checking, Model-ViewController, Software as a Service, Field Experiment
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-60472 (URN)10.1145/2993412.3003391 (DOI)000406156800015 ()978-1-4503-4781-5 (ISBN)
Conference
10th European Conference on Software Architecture, November 28 - December 02, 2016, Copenhagen, Denmark
Available from: 2017-02-03 Created: 2017-02-03 Last updated: 2019-03-06Bibliographically approved
Toll, D., Olsson, T., Ericsson, M. & Wingkvist, A. (2016). Fine-Grained Recording of Student Programming Sessions to Improve Teaching and Time Estimations. Paper presented at 20th Annual Conference on Innovation and Technology in Computer Science Education, JUL 06-08, 2015, Vilnius, LITHUANIA. International journal of engineering education, 32(3), 1069-1077
Open this publication in new window or tab >>Fine-Grained Recording of Student Programming Sessions to Improve Teaching and Time Estimations
2016 (English)In: International journal of engineering education, ISSN 0949-149X, Vol. 32, no 3, p. 1069-1077Article in journal (Refereed) Published
Abstract [en]

It is not possible to directly observe how students work in an online programming course. This makes it harder for teachers to help struggling students. By using an online programming environment, we have the opportunity to record what the students actually do to solve an assignment. These recordings can be analyzed to provide teachers with valuable information. We developed such an online programming tool with fine-grained event logging and used it to observe how our students solve problems. Our tool provides descriptive statistics and accurate replays of a student's programming sessions, including mouse movements. We used the tool in a course and collected 1028 detailed recordings. In this article, we compare fine-grained logging to existing coarse-grained logging solutions to estimate assignment-solving time. We find that time aggregations are improved by including time for active reading and navigation, both enabled by the increased granularity. We also divide the time users spent into editing (on average 14.8%), active use (on average 37.8%), passive use (on average 29.0%), and estimate time used for breaks (on average 18.2%). There is a correlation between assignment solving time for students who pass assignments early and students that pass later but also a case where the times differ significantly. Our tool can help improve computer engineering education by providing insights into how students solve programming assignments and thus enable teachers to target their teaching and/or improve instructions and assignments.

Place, publisher, year, edition, pages
Chicago, IL: Tempus Publications, 2016
Keywords
computer science education, learning analytics, educational data mining, computer engineering education
National Category
Computer and Information Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-55062 (URN)000378700600003 ()2-s2.0-84973569061 (Scopus ID)
Conference
20th Annual Conference on Innovation and Technology in Computer Science Education, JUL 06-08, 2015, Vilnius, LITHUANIA
Available from: 2016-07-26 Created: 2016-07-22 Last updated: 2019-08-13Bibliographically approved
Olsson, T. (2016). Towards Pattern Based Architectural Conformance Checking. (Licentiate dissertation). Växjö: Linnaeus University
Open this publication in new window or tab >>Towards Pattern Based Architectural Conformance Checking
2016 (English)Licentiate thesis, monograph (Other academic)
Abstract [en]

Patterns are a source of knowledge when architecting software systems. They provide abstract and time-tested solutions that show how a system should be structured to achieve needed qualities. However, when developing software there is a chance that small mistakes are introduced in the source code. Over time, these mistakes can accumulate and break the structure of the pattern and its qualities are lost. There are methods that can help find such errors, but none of these provide a pattern abstraction. In this work, we describe a method that raises the level of abstraction from checking individual dependencies to checking key dependencies in the pattern. We implement our method, apply it to check the Model-View-Controller pattern. We show that the method can find architectural problems in real source code and examine how removal of detected erosions affects the source code. We conducted an experiment in a software project setting to determine if using the method affects the number of architectural problems. Some project teams were randomly assigned to use a software service that automated our method. It checked how well their implementation conformed to Model-View-Controller every time they updated the source code. The experiment showed that developers that used the tool had significantly fewer detected architectural problems during the course of the project. Our method makes conformance checking easier to use. This might help increase the adoption of conformance checking in industry.

Place, publisher, year, edition, pages
Växjö: Linnaeus University, 2016. p. 92
Series
Faculty of Technology, Report ; 43
Keywords
Software Architecture, Software Erosion, Conformance Checking, Model View Controller
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-56487 (URN)978-91-88357-12-0 (ISBN)
Presentation
2016-04-14, Ny110, Kalmar Nyckel, Kalmar, 10:48 (English)
Opponent
Supervisors
Available from: 2016-09-16 Created: 2016-09-13 Last updated: 2018-01-10Bibliographically approved
Toll, D., Olsson, T., Ericsson, M. & Wingkvist, A. (2015). Detailed recordings of student programming sessions. In: ITiCSE '15: Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education. Paper presented at 20th ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2015, July 4-8 2015, Vilnius (pp. 328-328). ACM Press
Open this publication in new window or tab >>Detailed recordings of student programming sessions
2015 (English)In: ITiCSE '15: Proceedings of the 2015 ACM Conference on Innovation and Technology in Computer Science Education, ACM Press, 2015, p. 328-328Conference paper, Published paper (Refereed)
Abstract [en]

Observation is important when we teach programming. It can help identify students that struggle, concepts that are not clearly presented during lectures, poor assignments, etc. However, as development tools become more widely available or courses move off-campus and online, we lose our ability to naturally observe students. Online programming environments provide an opportunity to record how students solve assignments and the data recorded allows for in-depth analysis. For example, file activities, mouse movements, text-selections, and text caret movements provide a lot of information on when a programmer collects information and what task is currently worked on. We developed CSQUIZ to allow us to observe students on our online courses through data analysis. Based on our experience with the tool in a course, we find recorded sessions a sufficient replacement for natural observations.

Place, publisher, year, edition, pages
ACM Press, 2015
National Category
Computer and Information Sciences
Research subject
Computer and Information Sciences Computer Science
Identifiers
urn:nbn:se:lnu:diva-55003 (URN)10.1145/2729094.2754859 (DOI)2-s2.0-84952050834 (Scopus ID)9781450334402 (ISBN)
Conference
20th ACM Conference on Innovation and Technology in Computer Science Education, ITiCSE 2015, July 4-8 2015, Vilnius
Available from: 2016-07-22 Created: 2016-07-22 Last updated: 2018-01-10Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0003-1154-5308

Search in DiVA

Show all publications