Bruce R. Maxim

dblp:05/3502 · DBLP profile ↗
← Back
18ranked-venue papers
9as first author
4since 2021 · last 2025
0000-0002-0979-7787ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 11 · 9 first-author · 3 since 2021Software engineering, systems software and programming languages · 6 · 1 since 2021Artificial intelligence and machine learning · 1Graphics, computer vision, multimedia, augmented reality and games · 1
YearPublicationVenuePosition
2025 VRTestSniffer: Test Smell Detector for Virtual Reality (VR) Software Projects
abstract
Virtual Reality (VR) is an emerging technology increasingly adopted in sectors such as gaming, education, border security, and industrial training. However, testing VR applications presents unique challenges due to factors like active user interaction, hardware dependencies, and immersive environments. Recent studies suggest that developers often write fewer test cases for VR applications, and these limited test cases frequently exhibit test smells. Current research on VR test smell detection can only identify a small subset of test smells and often lacks the necessary context for comprehensive detection. This highlights a critical gap in current testing practices for VR applications and underscores the need for approaches tailored to detecting and addressing quality issues in VR test cases.To address this research gap, we developed VRTestSniffer, a static analysis-based tool that extends test smell detection capabilities specifically for Unity-based VR applications. VRTestSniffer can detect 17 test smell categories, building upon those identified by the state-of-the-art tool tsDetect, and achieves an F1-score of 95.61%. It leverages abstract syntax trees (ASTs), control flow graphs (CFGs), and data flow graphs (DFGs) to enhance detection accuracy by capturing both control and data dependencies specific to VR testing patterns. In parallel, we conducted an empirical analysis of real-world VR projects to examine the prevalence and characteristics of these test smells. Our findings reveal that a few smelly test categories are associated with design issues such as Blob and Complex Class in functional code. We believe that VRTestSniffer, along with the empirical insights derived from this study, can help VR developers write more effective, reliable, and maintainable test cases. To support further research and replication, our tool, dataset, and analysis results are publicly available at [1].
Faraz Gurramkonda, Avishak Chakroborty, Bruce R. Maxim, Mohamed Wiem Mkaouer, Foyzul Hassan
ASE3
2024 A PBL-Based Mini Course Module for Teaching Computer Science Students to Utilize Generative AI for Enhanced Learning
abstract
This research-to-practice paper introduces a mini-course module designed to teach computer science students how to interact more efficiently with Generative AI(GAI). The rapid rise of GAI is transforming education by providing students with easy access to knowledge and answers to their questions, acting as a personal tutor. Particularly in the field of computer science, where GAI can easily generate code based on specific requirements, many instructors struggle to prevent students from using tools like ChatGPT for completing assigned programming assignments and homeworks. However, we argue that 1) the use of GAI is inevitable, necessitating a redesign of courses so that students cannot merely rely on GAI without actual learning; and 2) students' learning can be enhanced if they learn to use GAI more effectively. In this paper, we demonstrate how we integrate Project-Based Learning to design the course module in a concise yet effective manner, which not only facilitates students' learning of GAI but also enriches their learning in relation to the host course where this mini-course module is embedded. In particular, the goal of this module is to teach CS students: 1) the basic principles and workflow of GAI; 2) Prompt Engineering: how to craft questions to interact more effectively with GAI; and 3) Extending GAI: how to create interactive tools by training customized GAI models. Designed to be completed within two weeks, the mini-course module can easily be incorporated into host courses. This mini-course module was integrated into a graduate-level Artificial Intelligence course with 42 students in Winter 2024. To assess the module's impact on student learning and engagement, we conducted pre- and post-course surveys as well as student interviews. The results from the surveys and interviews highlighted key areas for improving the design of educational modules to better teach essential GAI skills. These insights focused on enhancing student engagement and learning efficiency within a concise time frame.
Venkata Alekhya Kusam, Summit Shrestha, Khalid Kattan, Bruce R. Maxim, Zheng Song 0001
FIE4
2024 Managing Students in Hybrid Software Project Classes
abstract
This innovative practice paper describes the authors' experiences introducing active learning methodologies into a hybrid undergraduate software engineering project course. On our campus hybrid courses have both in-person and online students participating in a single course taught by the same instructor. The project team adapted the face-to-face class activities to accommodate the idiosyncrasies of an online course delivery environment. Using active learning and authentic assessment techniques, the authors sought to improve the levels of engagement exhibited by online students. The students in this course learn to use agile software engineering practices to deliver incremental software prototypes. The online and in-person students were surveyed at the conclusion of their course to measure their perceived levels of engagement with course activities. Data was collected from two recent offerings of this course. The results suggest that the neither the in-person or online students were not significantly different from one another on most survey responses or most performance measures.
Bruce R. Maxim, Belen A. Garcia
FIE1
2021 Student Engagement in an Online Software Engineering Course
abstract
Engineering instructors often rely on lectures as their primary mode of instruction even in project courses. In the lecture mode of instruction student engagement with the course material is often low or non-existent. Many engineering educators regard experiential learning as the best way to train the next generation of software engineers. For the past five years, one of the authors has taught a junior level software engineering course using active learning methods in a flipped classroom setting. During this past year, the COVID-19 lockdown prevented in-person delivery of this course. The challenge facing engineering faculty everywhere is figuring out how to include active learning experiences in online course delivery. This paper describes the authors' experiences introducing active learning methodologies into a junior level online software engineering course. The project team carefully considered the active learning course materials used in the in-person delivery of this course and adapted them to accommodate the idiosyncrasies of an online course delivery environment. Most importantly, a comparable online course delivery alternative needed to include zoom video class sessions containing live active learning exercises. The investigators compared the levels of student engagement between previous in-person offerings of the course with the online adaptation of the same course. Student engagement data was collected from each style of course delivery. In some cases, this data was supplemented by observational data and with Canvas course analytics. We found that students in both course settings were least engaged when listening to short lectures (either live or video recordings) and felt most engaged when involved in small group activities (either in person or in Zoom sessions with breakout rooms).
Bruce R. Maxim, Thomas Limbaugh, Jeffrey J. Yackley
FIE1
2020 Web service design defects detection: A bi-level multi-objective approach
Soumaya Rebai, Marouane Kessentini, Bruce R. Maxim
Inf. Softw. Technol.4
2019 Student Engagement in Active Learning Software Engineering Courses
abstract
Engineering instructors often rely on lectures as their primary mode of instruction even in project courses. In the lecture mode of instruction student engagement with the course material is often low or non-existent until the date of an assessment activity (assignment or exam) is near. In passive learning environments students often do not get many opportunities to develop their soft skills. Many engineering educators regard experiential learning as a better way to train the next generation of software engineers to do project work. This paper describes the authors' experiences introducing active learning opportunities in a junior level software engineering course and a senior level game design course. The materials created for these courses were developed using a variation of the ADDIE (analyze, design, development, implementation, evaluation) process model. The team created a mix of case-study review, role play, trigger videos, and hands-on exercises involving work with software engineering artifacts or tools to facilitate coverage of the topics. The investigators collected observational data on student engagement while they were involved in various class activities and found that they were least engaged when listening to even short lectures. Student feedback and the authors' own lessons learned are being used to plan the next iterations of these courses.
Bruce R. Maxim, Adrienne Decker, Jeffrey J. Yackley
FIE1
2019 Simultaneous Refactoring and Regression Testing
abstract
Currently, refactoring and regression testing are treated independently by existing studies. However, software developers frequently switch between these two activities, using regression testing to identify unwanted behavior changes introduced while refactoring and applying refactoring on identified buggy code fragments. Our hypothesis is that the tools to support developers in these two tasks could transfer part of the knowledge extracted from the process of finding refactoring opportunities to identify relevant test cases, and vice-versa. We propose a simultasking, search-based algorithm that unifies the tasks of refactoring and regression testing, hence solving them simultaneously and enabling knowledge transfer between them. The salient feature of the proposed algorithm is a unified and generic solution representation scheme for both problems, which serves as a common platform for knowledge transfer between them. We implemented and evaluated the proposed simultasking approach on six opensource systems and one industrial project. Our study features quantitative and qualitative analysis performed with developers, and the results achieved show that the proposed approach provides advantages over mono-task techniques treating refactoring and regression testing separately.
Jeffrey J. Yackley, Marouane Kessentini, Gabriele Bavota, Vahid Alizadeh, Bruce R. Maxim
SCAM5
2017 Use of role-play and gamification in a software project course
abstract
Soft skills are increasingly important to the engineering profession and course modifications are often needed to ensure students have opportunities to practice them prior to graduation. This suggests that engineering programs need to go beyond simply offering industry-based capstone courses and internships. Role-play has a long history as a tool for learning. It can be used to simulate real world practices in environments where consequences can be mitigated safely. This paper discusses the use of team role-play activities to simulate the experience of working in a professional, game development studio as a means of enhancing an advanced undergraduate game design course. In conjunction with the role-play, a gamification framework was used within the course to allow students to customize their course participation. Gamification was used to reward students for compliance with software process steps and for taking the initiative to improve their “soft skills”. In this project allowing students to negotiate the nature of their activities and rewards helped them develop those skills. The student feedback obtained and the authors' own lessons learned are being used to plan the next iteration of this course.
Bruce R. Maxim, Stein Brunvand, Adrienne Decker
FIE1
2017 Multi-objective code-smells detection using good and bad design examples
Usman Mansoor, Marouane Kessentini, Bruce R. Maxim, Kalyanmoy Deb
Softw. Qual. J.3
2016 An agile software engineering process improvement game
abstract
Many computing students do not receive adequate training in software quality management. Some students do not have the opportunity to practice software process improvement activities even if they do see the topics covered in their course lectures and textbooks. Serious games are gaining popularity as a means of instruction in higher education. Some excellent prescriptive software process simulation games have been created, as well as a few software engineering drill and practice games. In general, these games do not allow students to create agile process models or experiment with process improvement strategies. We are creating a serious game that will serve as a virtual learning environment to allow students to explore agile process improvement practices. Our game is designed as a single-player game where the player takes the role of software team leader and plays against an AI (artificial intelligence) opponent representing the customer's interests and needs. Players are rewarded for developing project strategies that allow for completion of projects on time, within budget, and meet the necessary software quality requirements. It is our intention to create a game with sufficiently detailed instructions to allow instructors to introduce hands on practice with agile process improvement activities without requiring additional class time.
Bruce R. Maxim, Raspinder Kaur, Christopher Apzynski, David Edwards, Ethan Evans
FIE1
2016 Identification of Web Service Refactoring Opportunities as a Multi-objective Problem
abstract
We propose, in this paper, to consider the problemof Web service antipatterns detection as a multi-objectiveproblem where examples of Web service antipatterns and welldesignedcode are used to generate detection rules. To thisend, we use multi-objective genetic programming (MOGP)to find the best combination of metrics that maximizes thedetection of Web service antipattern examples and minimizesthe detection of well-designed Web service design examples. We report the results of an empirical study using 8 differenttypes of common Web service antipatterns. We compared ourmulti-objective formulation with random search, one existingmono-objective approach, and one state-of-the-art detectiontechnique not based on heuristic search. Statistical analysis ofthe obtained results demonstrates that our approach is efficientin antipattern detection, on average, with a precision score of94% and a recall score of 92%.
Ali Ouni 0001, Marouane Kessentini, Bruce R. Maxim, William I. Grosky
ICWS4
2011 Work in progress - Using social media to teach engineering process
abstract
Due to the outsourcing of many low level computing jobs, many students have a perception that there are very few computer science related jobs in the United States. Consequently, the number of students majoring in computer science has been decreasing. This project attempts to use social media as a means of attracting more students to study computer science and software engineering by exposing 16 to 20 year old students opportunities to the soft skills associated project management without being concerned about programming implementation details. It is an expectation that using a game setting to expose potential students to the rich set of activities that make up software engineering process may attract them to the consider the field as a course of study. An explicit goal of this project is to try to attract female students to the study of STEM coursework although the game is being designed to appeal to male students as well. It is also hoped to determine which types of engineering process activities are most attractive to female students. A prototype of proposed game will be completed during the summer of 2011.
Bruce R. Maxim, Margaret Turton, Wassim M. Nahle
FIE1
2008 Analyzing the efficacy of using digital ink devices in a learning environment
Akila Varadarajan, Nilesh V. Patel, Bruce R. Maxim, William I. Grosky
Multim. Tools Appl.3
2006 A Three-Layer Model for Software Engineering Metrics
abstract
This paper presents a three-layer model that captures the fundamentals of software metrics within a unifying framework. The model readily lends itself for use in both instructional and practitioner environments. The first (lowest) layer of the model consists of the three primitive software engineering metrics: person-months (PM), function-points (FP), and lines of code (LOC). They are presented as "primary" metrics from which other metrics are computed. Time is also included as a fundamental (not necessarily software) primary metric. The second layer consists of general-purpose metrics such as productivity measures, which are computed from the primary metrics, and the third layer consists of special-purpose metrics such as reliability and quality measures. This third layer is inherently extensible
Kiumi Akingbehin, Bruce R. Maxim
SNPD2
2000 Yet, more Web exercises for learning C++
abstract
This paper describes a set of author developed interactive web exercises and a development environment designed to facilitate language acquisition in a beginning course in C++. The exercises test the students' understanding of several C++ language constructs as well as general programming concepts such as scope of variables. The environment allows students to write and test sections of code in a instructor controlled setting. Together the exercises and environment can be used to enhance computer science education for both traditional and distance learning students. The paradigm of generalization and automation of standard exercises can be extended to facilitate web education in other courses.
Bruce S. Elenbogen, Bruce R. Maxim, Chris McDonald
SIGCSE2
1993 Programming languages-comparatively speaking
abstract
Assignments in an upperlevel undergraduate programming languages course should require students to do more than write elementary programs in several languages.Assignments for this course should allow students to explore alternative programming language paradigms and require critical written evaluation of their strengths and weaknesses.Course assignments can help students develop their research skills by requiring students to make use of the professional literature and by providing them with experiences in designing experiments.This paper describes four assignments which require students to utilize these skills.
Bruce R. Maxim
SIGCSE1
1990 Introducing parallel algorithms in undergraduate computer science courses (tutorial session)
abstract
No abstract available.
Bruce R. Maxim, Gregory F. Bachelis, David James, Quentin F. Stout
SIGCSE1
1987 Teaching programming algorithms aided by computer graphics
abstract
Effects of operations on abstract data objects are often difficult for students to comprehend. Visual models can be helpful to students, when the connections among the data object models, virtual machine representations of data objects, and algorithms operating on the data objects are made clear to the students.
Bruce R. Maxim, Bruce S. Elenbogen
SIGCSE1