lnu.sePublications
Change search
Link to record
Permanent link

Direct link
Publications (10 of 19) Show all publications
Börstler, J., Bennin, K. E., Hooshangi, S., Jeuring, J., Keuning, H., Kleiner, C., . . . van Assema, J. (2023). Developers talking about code quality. Empirical Software Engineering, 28(6), Article ID 128.
Open this publication in new window or tab >>Developers talking about code quality
Show others...
2023 (English)In: Empirical Software Engineering, ISSN 1382-3256, E-ISSN 1573-7616, Vol. 28, no 6, article id 128Article in journal (Refereed) Published
Abstract [en]

There are many aspects of code quality, some of which are difficult to capture or to measure. Despite the importance of software quality, there is a lack of commonly accepted measures or indicators for code quality that can be linked to quality attributes. We investigate software developers’ perceptions of source code quality and the practices they recommend to achieve these qualities. We analyze data from semi-structured interviews with 34 professional software developers, programming teachers and students from Europe and the U.S. For the interviews, participants were asked to bring code examples to exemplify what they consider good and bad code, respectively. Readability and structure were used most commonly as defining properties for quality code. Together with documentation, they were also suggested as the most common target properties for quality improvement. When discussing actual code, developers focused on structure, comprehensibility and readability as quality properties. When analyzing relationships between properties, the most commonly talked about target property was comprehensibility. Documentation, structure and readability were named most frequently as source properties to achieve good comprehensibility. Some of the most important source code properties contributing to code quality as perceived by developers lack clear definitions and are difficult to capture. More research is therefore necessary to measure the structure, comprehensibility and readability of code in ways that matter for developers and to relate these measures of code structure, comprehensibility and readability to common software quality attributes.

Place, publisher, year, edition, pages
Springer, 2023
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-124897 (URN)10.1007/s10664-023-10381-0 (DOI)001073677200001 ()2-s2.0-85171886124 (Scopus ID)
Funder
Blekinge Institute of Technology
Available from: 2023-09-26 Created: 2023-09-26 Last updated: 2024-10-23Bibliographically approved
Musaddiq, A., Maleki, N., Palma, F., Olsson, T., Toll, D., Mozart, D., . . . Ahlgren, F. (2023). Industry-Academia Cooperation: Applied IoT Research for SMEs in South-East Sweden. In: González-Vidal, A., Mohamed Abdelgawad, A., Sabir, E., Ziegler, S., Ladid, L (Ed.), Internet of Things. GIoTS 2022: . Paper presented at 5th The Global IoT Summit, GIoTS 2022, Dublin, Ireland, June 20–23, 2022, Revised Selected Papers (pp. 397-410). Springer
Open this publication in new window or tab >>Industry-Academia Cooperation: Applied IoT Research for SMEs in South-East Sweden
Show others...
2023 (English)In: Internet of Things. GIoTS 2022 / [ed] González-Vidal, A., Mohamed Abdelgawad, A., Sabir, E., Ziegler, S., Ladid, L, Springer, 2023, p. 397-410Conference paper, Published paper (Refereed)
Abstract [en]

This paper presents the activities of the Applied IoT Lab at the Department of Computer Science and Media Technology, Linnaeus University (LNU), Kalmar, Sweden. The lab is actively engaged in IoT-based educational programs, including a series of workshops and pilot cases. The lab is funded by the European Union and two Swedish counties – Kalmar and Kronoberg. The workshops and pilot cases are part of the research project named IoT Lab for Small and Medium-sized Enterprises (SMEs). One of the lab’s main objectives is to strengthen and support local companies with IoT. The project IoT Lab for SMEs also aims to spread knowledge and inspire the local community about the possibilities of using IoT technologies by organizing open lab days, in-depth lectures, and seminars. This paper introduces Applied IoT Lab at LNU, its educational programs, and industry-academic cooperation, including workshops and a number of ongoing pilot cases.

Place, publisher, year, edition, pages
Springer, 2023
Series
Lecture Notes in Computer Science ; 13533
Keywords
IoT, SME, Pilot cases
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Research subject
Computer and Information Sciences Computer Science
Identifiers
urn:nbn:se:lnu:diva-118208 (URN)10.1007/978-3-031-20936-9_32 (DOI)2-s2.0-85147856168 (Scopus ID)9783031209352 (ISBN)9783031209369 (ISBN)
Conference
5th The Global IoT Summit, GIoTS 2022, Dublin, Ireland, June 20–23, 2022, Revised Selected Papers
Projects
IoT lab for SME
Available from: 2023-01-10 Created: 2023-01-10 Last updated: 2023-11-02Bibliographically approved
Maleki, N., Musaddiq, A., Toll, D., Palma, F., Olsson, T., Mozart, D., . . . Ahlgren, F. (2022). DynaSens: Dynamic Scheduling for IoT Devices Sustainability. In: 2022 International Conference on Broadband Communications for Next Generation Networks and Multimedia Applications, CoBCom 20222022: . Paper presented at 4th International Conference on Broadband Communications for Next Generation Networks and Multimedia Applications, CoBCom 2022, Graz12-14 July 2022. IEEE
Open this publication in new window or tab >>DynaSens: Dynamic Scheduling for IoT Devices Sustainability
Show others...
2022 (English)In: 2022 International Conference on Broadband Communications for Next Generation Networks and Multimedia Applications, CoBCom 20222022, IEEE, 2022Conference paper, Published paper (Refereed)
Abstract [en]

The Internet of Things (IoT) have shown numerous potential applications that can enhance our quality of life. IoT is becoming a core technology to bring smart homes, smart cities, and smart industries into reality. However, with potential benefits comes a challenge of sustainability, and one major concern is to minimize energy consumption. In a citywide area, managing the operation of such large-scale IoT networking is one of the complex tasks. One of the ways is to utilize dynamic sensing scheduling where the IoT device goes to the sleep mode and prevents unnecessary data transmission. In this paper, we propose a dynamic sensing (DynaSens) algorithm for an IoT-based waste management system. This algorithm helps to reduce the waste bin overflowing, thus, provides better sanitation, and it is also helpful in reducing the fuel cost of waste collection vehicles. Our work utilizes measured values such as current consumption, LiDAR measurement time, and LoRa transmission time as the input data for the simulation experiment to evaluate energy consumption. We also assessed DynaSens using a real dataset obtained from a recycling house. We use Pycom LoPy4 micro-controller as a development board. For a number of garbage-thrown scenarios, DynaSens enables longer battery longevity by reducing the repeated execution of the same tasks. © 2022 IEEE.

Place, publisher, year, edition, pages
IEEE, 2022
Keywords
Automation; Energy utilization; Intelligent buildings; Internet of things; Optical radar; Scheduling; Sustainable development; Waste management, Complex task; Core technology; Dynamic scheduling; Dynamic sensing; Energy-consumption; Large scale Internet; Potential benefits; Quality of life; Scheduling; Smart homes, Energy efficiency
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-118122 (URN)10.1109/CoBCom55489.2022.9880629 (DOI)000861442700004 ()2-s2.0-85139447481 (Scopus ID)9781665485982 (ISBN)
Conference
4th International Conference on Broadband Communications for Next Generation Networks and Multimedia Applications, CoBCom 2022, Graz12-14 July 2022
Available from: 2023-01-03 Created: 2023-01-03 Last updated: 2023-11-02Bibliographically approved
Toll, D., Wingkvist, A. & Ericsson, M. (2020). Current State and Next Steps on Automated Hints for Students Learning to Code. In: 2020 IEEE Frontiers in Education Conference (FIE): . Paper presented at 2020 IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden, October 21-24, 2020 (pp. 1-5). IEEE
Open this publication in new window or tab >>Current State and Next Steps on Automated Hints for Students Learning to Code
2020 (English)In: 2020 IEEE Frontiers in Education Conference (FIE), IEEE, 2020, p. 1-5Conference paper, Published paper (Refereed)
Abstract [en]

The core of this work-in-progress is that the best way to learn how to code is to practice by solving problems. However, if students have trouble with this, they can get frustrated and give up. Automated Tutoring Systems (ATS) aim to provide hints to help them solve the problems they encounter. Many of the existing systems offer general hints, e.g., “check the conditional statement” or help the student interpret the compiler or test-case errors. While this can be useful, we think that an ATS should provide interactive and specialized feedback for each program. We snowballed through publications on promising ATS and found that there are several such systems (in 27 publications), but we could also identify many challenges and that our requirements were not met by any existing system. For example, few of them work on general-purpose programming languages, e.g., Java, or scale to realistic problems consisting of multiple methods and classes. From the search, we find ATS based on Automated Program Repair (APR) shows the most promise. However, while program repair has the potential to generate specialized hints to help guide the student to a working state, studies that looked into these have identified further challenges. For example, many APR ATS tools only show the repaired program to the students, who then have to compare and modify their program accordingly. Another issue is that APR generally only modifies a few lines, so if the student solution is far from correct, the repair might fail. This can be solved by partial repair, i.e., the program is repaired so at least one additional test-case passes. While this increases the repair rate, it might make hints more difficult or point the students in a non-obvious or even “wrong” direction. The APR can take several minutes, which also makes it unsuitable for interactive ATS. We take a design science approach to define an ATS based on APR that attempts to address the identified challenges. We give a review of the state-of-the-art for the required components, e.g., APR, how to generate hints from differences between two programs. From this, we suggest a threestep roadmap; 1. identify suitable APR-tools, 2. construct an oversized test-suite, and 3. adopt APR to the tutoring context.

Place, publisher, year, edition, pages
IEEE, 2020
Series
Frontiers in Education (FIE) Conference, ISSN 1539-4565, E-ISSN 2377-634X ; 2020
Keywords
programming, program repair, tutor tools
National Category
Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-99107 (URN)10.1109/FIE44824.2020.9274053 (DOI)000646660800185 ()2-s2.0-85098594307 (Scopus ID)9781728189611 (ISBN)9781728189628 (ISBN)
Conference
2020 IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden, October 21-24, 2020
Available from: 2020-12-01 Created: 2020-12-01 Last updated: 2021-06-11Bibliographically approved
Börstler, J., Stoerrle, H., Toll, D., van Assema, J., Duran, R., Hooshangi, S., . . . MacKellar, B. (2018). "I know it when I see it" - Perceptions of Code Quality ITiCSE'17 Working Group Report. In: ITICSE-WGR'17: PROCEEDINGS OF THE 2017 ITICSE CONFERENCE WORKING GROUP REPORTS. Paper presented at ITiCSE Conference on Working Group Reports (ITiCSE-WGR), Bologna, ITALY, JUL 03-05, 2017 (pp. 70-85). ACM Publications
Open this publication in new window or tab >>"I know it when I see it" - Perceptions of Code Quality ITiCSE'17 Working Group Report
Show others...
2018 (English)In: ITICSE-WGR'17: PROCEEDINGS OF THE 2017 ITICSE CONFERENCE WORKING GROUP REPORTS, ACM Publications, 2018, p. 70-85Conference paper, Published paper (Refereed)
Abstract [en]

Context. Code quality is a key issue in software development. The ability to develop high quality software is therefore a key learning goal of computing programs. However, there are no universally accepted measures to assess the quality of code and current standards are considered weak. Furthermore, there are many facets to code quality. Defining and explaining the concept of code quality is therefore a challenge faced by many educators. Objectives. In this working group, we investigated code quality as perceived by students, educators, and professional developers, in particular, the differences in their views of code quality and which quality aspects they consider as more or less important. Furthermore, we investigated their sources for information about code quality and its assessment. Methods. We interviewed 34 students, educators and professional developers regarding their perceptions of code quality. For the interviews they brought along code from their own experience to discuss and exemplify code quality. Results. There was no common definition of code quality among or within these groups. Quality was mostly described in terms of indicators that could measure an aspect of code quality. Among these indicators, readability was named most frequently by all groups. The groups showed significant differences in the sources they use for learning about code quality with education ranked lowest in all groups. Conclusions. Code quality should be discussed more thoroughly in educational programs.

Place, publisher, year, edition, pages
ACM Publications, 2018
Keywords
Code quality, programming
National Category
Computer and Information Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-83428 (URN)10.1145/3174781.3174785 (DOI)000455771300004 ()2-s2.0-85046906485 (Scopus ID)
Conference
ITiCSE Conference on Working Group Reports (ITiCSE-WGR), Bologna, ITALY, JUL 03-05, 2017
Available from: 2019-05-27 Created: 2019-05-27 Last updated: 2025-06-25Bibliographically approved
Toll, D. & Wingkvist, A. (2018). Visualizing programming session timelines. In: Proceedings of the 11th International Symposium on Visual Information Communication and Interaction: . Paper presented at 11th International Symposium on Visual Information Communication and Interaction, VINCI 2018, 13-15 August 2018 (pp. 106-107). ACM Publications
Open this publication in new window or tab >>Visualizing programming session timelines
2018 (English)In: Proceedings of the 11th International Symposium on Visual Information Communication and Interaction, ACM Publications, 2018, p. 106-107Conference paper, Published paper (Refereed)
Abstract [en]

Learning programming with tutor tools has grown in popularity. These tools present programming assignments and provide feedback in the form of test-cases and compilation errors. Our timeline visualization of data from one such tool allows us to tell a story about what files were accessed and for how long, in what order files were edited, grown or shrunk, what errors the student ran into, and how those errors were addressed. This can be done without a need to read and replay the entire programming session. In sum, the tool has been used to visualize logs from students that tried to solve programming assignments and we find interesting stories that can help us improve how we address new assignments.

Place, publisher, year, edition, pages
ACM Publications, 2018
Keywords
Software visualization, Time series data, Errors, Visual communication, Visualization, Learning programming, Programming assignments, Test case, Time-series data, Timeline visualizations, Data visualization
National Category
Software Engineering
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-83308 (URN)10.1145/3231622.3232506 (DOI)2-s2.0-85055502530 (Scopus ID)9781450365017 (ISBN)
Conference
11th International Symposium on Visual Information Communication and Interaction, VINCI 2018, 13-15 August 2018
Available from: 2019-05-24 Created: 2019-05-24 Last updated: 2019-05-24Bibliographically approved
Toll, D. & Wingkvist, A. (2017). How Tool Support and Peer Scoring Improved Our Students' Attitudes Toward Peer Reviews. In: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education: . Paper presented at 2017 ACM Conference on Innovation and Technology in Computer Science Education, Bologna, Italy, 3-6 July, 2017 (pp. 311-316). New York, NY, USA: ACM Publications
Open this publication in new window or tab >>How Tool Support and Peer Scoring Improved Our Students' Attitudes Toward Peer Reviews
2017 (English)In: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education, New York, NY, USA: ACM Publications, 2017, p. 311-316Conference paper, Published paper (Refereed)
Abstract [en]

We wanted to introduce peer reviews for the final report in a course on Software Testing. The students had however experienced issues with peer reviews in a previous course which made this a challenge. To get a better understanding of the situation, we distributed a pre-questionnaire to the students. 48 of the 83 students provided their expectations on peer reviews. To deal with some of the perceived issues, we developed a peer review tool where we introduce anonymity, grading of reviews, teacher interventions, as well as let students score and comment on the reviews they receive. In total, 67 reports were submitted by 83 students and 325 reviews were completed. The post-questionnaire was answered by 48 students (not necessarily the same respondents as for the pre-questionnaire as both were collected anonymously). While 27 of the students expected incorrect feedback only 13 students agreed to have got incorrect feedback in the post-questionnaire. The students reported that they found the feedback from their peers more valuable (+15%) than expected, and 88% of the students reported that they learned from doing peer reviews. Overall, we find that the students' attitudes towards peer reviews have improved.

Place, publisher, year, edition, pages
New York, NY, USA: ACM Publications, 2017
Keywords
Peer Review, Peer Grading, Software Testing, Courseware
National Category
Computer Sciences
Research subject
Computer and Information Sciences Computer Science, Computer Science
Identifiers
urn:nbn:se:lnu:diva-68419 (URN)10.1145/3059009.3059059 (DOI)000714941400061 ()2-s2.0-85029489027 (Scopus ID)978-1-4503-4704-4 (ISBN)
Conference
2017 ACM Conference on Innovation and Technology in Computer Science Education, Bologna, Italy, 3-6 July, 2017
Available from: 2017-10-23 Created: 2017-10-23 Last updated: 2022-11-03Bibliographically approved
Börstler, J., Störrle, H., Toll, D., van Assema, J., Duran, R., Hooshangi, S., . . . MacKellar, B. (2017). "I know it when I see it": perceptions of code quality. In: ITiCSE '17: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education: . Paper presented at ITiCSE '17: Innovation and Technology in Computer Science Education, Bologna, Italy, July 3-5, 2017 (pp. 389-389). New York, NY, USA: Association for Computing Machinery (ACM)
Open this publication in new window or tab >>"I know it when I see it": perceptions of code quality
Show others...
2017 (English)In: ITiCSE '17: Proceedings of the 2017 ACM Conference on Innovation and Technology in Computer Science Education, New York, NY, USA: Association for Computing Machinery (ACM), 2017, p. 389-389Conference paper, Oral presentation with published abstract (Refereed)
Abstract [en]

Code quality is a key issue in software development. The ability to develop software of high quality is therefore a key learning goal of computing programs. However, there are no universally accepted measures to assess the quality of code and current standards are consideredweak. Furthermore, there are many facets to code quality. Defining and explaining the concept of code quality is therefore a challenge faced by many educators. In this working group, we investigate the perceptions of code quality of students, teachers, and professional programmers. In particular, we are interested in the differences in views of code quality by students, educators, and professional programmers and which quality aspects they consider as more or less important. Furthermore, we are interested in which sources of information on code quality and its assessment are used by these groups. Eventually, this will help us to develop resources that can be used to broaden students' views on software quality.

Place, publisher, year, edition, pages
New York, NY, USA: Association for Computing Machinery (ACM), 2017
Keywords
Code quality, programming
National Category
Computer Sciences
Research subject
Computer Science, Software Technology
Identifiers
urn:nbn:se:lnu:diva-70486 (URN)10.1145/3059009.3081328 (DOI)000714941400097 ()978-1-4503-4704-4 (ISBN)
Conference
ITiCSE '17: Innovation and Technology in Computer Science Education, Bologna, Italy, July 3-5, 2017
Available from: 2018-02-05 Created: 2018-02-05 Last updated: 2022-11-03Bibliographically 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: 2024-05-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: 2024-05-06Bibliographically approved
Organisations
Identifiers
ORCID iD: ORCID iD iconorcid.org/0000-0001-5335-5196

Search in DiVA

Show all publications