Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jeffrey J. Yackley

dblp:255/0781 · DBLP profile ↗
← Back
5ranked-venue papers
2as first author
3since 2021 · last 2024
0000-0001-6383-7359ORCID · corroborated

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

Human-computer interaction and ubiquitous computing · 3 · 1 first-author · 2 since 2021Software engineering, systems software and programming languages · 2 · 1 first-author · 1 since 2021

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Software engineering, system software, and programming languages
1 paper
Software maintenance and evolution · 100%

Topics — the 2 heaviest of 2, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
refactoring
0.712023
Dependent or Not: Detecting and Understanding Collections of Refactorings · IEEE Trans. Software Eng. 2023
Software maintenance and evolution › refactoring
refactoring recommendation
0.712023
Dependent or Not: Detecting and Understanding Collections of Refactorings · IEEE Trans. Software Eng. 2023

Methods — techniques the papers use, named apart from their topics

graph visualization · 0.7dependency analysis · 0.7
YearPublicationVenuePosition
2024 Active Learning for Introductory Cybersecurity
abstract
This innovative practice full paper describes the author's efforts to create an introductory course for cybersecurity using a flipped classroom model with active learning. The University of Michigan-Flint recently opened a new, four-year, undergraduate cybersecurity program. As part of this new program, the author was tasked with developing the first course of the program without requiring any pre-requisite knowledge to facilitate first- and second-year students to enter the program regardless of their academic background. Further, a requirement was added to all of the author's institution's undergraduate computing majors to require this course as part of their programs. This course is designed to introduce students to the field of cybersecurity and the foundational principles of security and networking needed for future courses. The author describes their iterative experience in designing this face-to-face course moving from more traditional lecture practices to using the flipped classroom model and active learning techniques. The use of the flipped classroom model, active learning, and collaborative learning were spurred by several motivations. The first motivation was that students have a strong preference for less lectures and more hands-on practical and collaborative experiences as indicated in the first asynchronous offering of the course before the face- to- face version was designed. The second motivation was the expressed desire to start developing students' soft skills to help them be able to pursue internships and co-operative education opportunities in alignment with the College of Innovation & Technology's new polytechnic focus. Students were surveyed to measure their thoughts on the course design and their engagement with the material of the course. The course is assessed using these surveys in addition to the instructor evaluation surveys and student assessment data from the in-person offerings of the course in Winter 2023, Fall 2023, and Winter 2024. The initial assessment data indicates greater student achievement and satisfaction with the active learning version of the course most recently offered in Fall 2023 and Winter 2024 in comparison to the more traditional approach used in Winter 2023.
Jeffrey J. Yackley
FIE1
2023 Dependent or Not: Detecting and Understanding Collections of Refactorings
abstract
Refactoring is a program transformation to improve the internal structure of a program while preserving its external behavior. Developers frequently apply multiple refactorings that depend on each other to achieve goals such as improving code reusability. Although manually applying a sequence of dependent refactorings is a common practice, existing refactoring recommendation tools treat refactorings in isolation without revealing the dependencies among them to developers. One reason is that these relationships among refactorings are poorly understood. Current approaches treat refactoring recommendations as a strictly ordered sequence limiting developers’ ability to understand, validate, and apply recommended refactorings. To address this gap, this paper describes a theory for reasoning about collections of refactorings through defining an ordering dependency relation among refactorings and organizing collection of refactorings as a set of refactoring graphs. We propose an algorithm for identifying refactoring dependencies and illustrate these concepts with a tool for visualizing such refactoring dependencies and refactoring graphs. Our validation results demonstrate that 43% of the 1,457,873 recommended refactorings from 9,595 projects that we studied are part of dependent refactoring graphs. Furthermore, refactorings are not only commonly involved in dependent relations, but also when applied, dependent refactoring graphs improve all of the quality attribute metrics in our experiments more than individual refactorings.
Thiago do Nascimento Ferreira, James Ivers, Jeffrey J. Yackley, Marouane Kessentini, Ipek Ozkaya, Khouloud Gaaloul
IEEE Trans. Software Eng.3
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
FIE3
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
FIE3
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
SCAM1