Mik Kersten

dblp:97/4237 · DBLP profile ↗
← Back
6ranked-venue papers
2as first author
1since 2021 · last 2022
—ORCID · none

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

Software engineering, systems software and programming languages · 5 · 2 first-author · 1 since 2021Databases, data management, data science and information retrieval · 1

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
3 papers
Empirical software engineering · 57% Software maintenance and evolution · 42% Programming languages and type systems · 2%
Human-computer interaction and pervasive computing
1 paper
User interface design and tools · 100%

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

TopicWeightPapersLastEvidence papers
Empirical software engineering
developer studies
0.622022
Task modularity and the emergence of software value streams (impact award paper keynote) · ESEC/SIGSOFT FSE 2022
Using task context to improve programmer productivity · SIGSOFT FSE 2006
Software maintenance and evolution
software modularity
0.612022
Task modularity and the emergence of software value streams (impact award paper keynote) · ESEC/SIGSOFT FSE 2022
Empirical software engineering
mining software repositories
0.212022
Task modularity and the emergence of software value streams (impact award paper keynote) · ESEC/SIGSOFT FSE 2022
Empirical software engineering › developer studies › developer behavior
developer productivity
0.112006
Using task context to improve programmer productivity · SIGSOFT FSE 2006
Programming languages and type systems
aspect-oriented programming
0.011999
Atlas: A Case Study in Building a Web-Based Learning Environment using Aspect-oriented Programming · OOPSLA 1999
Computing education
educational technology
0.011999
Atlas: A Case Study in Building a Web-Based Learning Environment using Aspect-oriented Programming · OOPSLA 1999
Computing education › online education
web-based learning
0.011999
Atlas: A Case Study in Building a Web-Based Learning Environment using Aspect-oriented Programming · OOPSLA 1999

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

field study · 0.1activity monitoring · 0.1
YearPublicationVenuePosition
2022 Task modularity and the emergence of software value streams (impact award paper keynote)
abstract
The creation of techniques, languages and tools to support building software from modular parts has enabled the development and evolution of large complex software systems. For many years, the focus of modularity was on the structure of the software system. The thinking was that the right modularity would enable software teams involved in different pieces of the system to work as independently as possible. As a community, we learned over the years that a system has no one optimal modularity, and in fact, the work that is undertaken to add new features or fix defects often crosscuts the modularity of the software. The research we conducted on task contexts and Mylyn over fifteen years ago recognized that capturing the activity performed on development tasks provided a means to make explicit emergent modularity for a system. With Mylyn, we explored how the activity of one developer could enable the surfacing of emergent modularity to help a developer perform tasks on a software system. Through stewardship of the Mylyn open source project and the creation of Tasktop Technologies, we brought these ideas into use in industry. Over the past decade, through interactions with practicing developers and their organizations, we have learned more about how modularity emerges at the individual developer, team, and organizational levels. Tasktop’s products moved accordingly from supporting the activity of individual developers to supporting the streams of value teams within an organization produce. In this talk, we will discuss how following the flow of tasks within software development supports value stream management and outline open research questions about the socio-technical aspects of developing complex software systems.
Gail C. Murphy, Mik Kersten
ESEC/SIGSOFT FSE2
2006 Using task context to improve programmer productivity
abstract
When working on a large software system, a programmer typically spends an inordinate amount of time sifting through thousands of artifacts to find just the subset of information needed to complete an assigned task. All too often, before completing the task the programmer must switch to working on a different task. These task switches waste time as the programmer must repeatedly find and identify the information relevant to the task-at-hand. In this paper, we present a mechanism that captures, models, and persists the elements and relations relevant to a task. We show how our task context model reduces information overload and focuses a programmer's work by filtering and ranking the information presented by the development environment. A task context is created by monitoring a programmer's activity and extracting the structural relationships of program artifacts. Operations on task contexts integrate with development environment features, such as structure display, search, and change management. We have validated our approach with a longitudinal field study of Mylar, our implementation of task context for the Eclipse development environment. We report a statistically significant improvement in the productivity of 16 industry programmers who voluntarily used Mylar for their daily work.
Mik Kersten, Gail C. Murphy
SIGSOFT FSE1
2005 The Emergent Structure of Development Tasks
Gail C. Murphy, Mik Kersten, Martin P. Robillard, Davor Cubranic
ECOOP2
2002 Software and Culture: Beyond the Internationalization of the Interface
abstract
Software applications are designed around user interaction. One interaction component is the user interface; the other deeper components represent the applications’ logic and core functionality. Internationalization architectures recognize the need for localizing user interfaces to particular cultures. We continue the discussion on culture and software focusing on the software core rather than the user interface. This core corresponds to deep culture as opposed to the surface cultural manifestations embedded in the user interface. We argue here that deep culture can be embedded into application software in a modular way.
Gregory E. Kersten, Mik Kersten, Wojciech M. Rakowski
J. Glob. Inf. Manag.2
2001 An Overview of AspectJ
Gregor Kiczales, Erik Hilsdale, Jim Hugunin, Mik Kersten, Jeffrey Palm, William G. Griswold
ECOOP4
1999 Atlas: A Case Study in Building a Web-Based Learning Environment using Aspect-oriented Programming
abstract
The Advanced Teaching and Learning Academic Server (Atlas) is a software system that supports web-based learning. Students can register for courses, and can navigate through personalized views of course material. Atlas has been built according to Sun Microsystem's Java™ Servlet specification using Xerox PARC's aspect-oriented programming support called Aspect™. Since aspect-oriented programming is still in its infancy, little experience with employing this paradigm is currently available. In this paper, we start filling this gap by describing the aspects we used in Atlas and by discussing the effect of aspects on our object-oriented development practices. We describe some rules and policies that we employed to achieve our goals of maintainability and modifiability, and introduce a straightforward notation to express the design of aspects. Although we faced some obstacles along the way, this combination of technology helped us build a fast, well-structured system in a reasonable amount of time.
Mik Kersten, Gail C. Murphy
OOPSLA1