Macneil Shonle

dblp:49/5747 · DBLP profile ↗
← Back
9ranked-venue papers
4as first author
0since 2021 · last 2013
—ORCID · none

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

Software engineering, systems software and programming languages · 9 · 4 first-authorArtificial intelligence and machine learning · 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
4 papers
Requirements engineering and software design · 62% Software maintenance and evolution · 38%
Network and information security
1 paper
Authentication and access control · 77% Systems and software security · 12% Hardware security and side channels · 12%
Human-computer interaction and pervasive computing
1 paper
User interface design and tools · 100%

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

TopicWeightPapersLastEvidence papers
Software maintenance and evolution
software modularization
0.222011
GitBAC: Flexible access control for non-modular concerns · ASE 2011
Modular aspect-oriented design with XPIs · ACM Trans. Softw. Eng. Methodol. 2010
Requirements engineering and software design › software design methodology
aspect-oriented design
0.222010
Modular aspect-oriented design with XPIs · ACM Trans. Softw. Eng. Methodol. 2010
Information hiding interfaces for aspect-oriented design · ESEC/SIGSOFT FSE 2005
Authentication and access control
access control
0.112011
GitBAC: Flexible access control for non-modular concerns · ASE 2011
Authentication and access control › access control
fine-grained access control
0.112011
GitBAC: Flexible access control for non-modular concerns · ASE 2011
Requirements engineering and software design › separation of concerns
crosscutting concerns
0.112011
GitBAC: Flexible access control for non-modular concerns · ASE 2011
User interface design and tools
end-user programming
0.112010
Compose & conquer: modularity for end-users · ICSE (2) 2010
Requirements engineering and software design
software architecture
0.112010
Modular aspect-oriented design with XPIs · ACM Trans. Softw. Eng. Methodol. 2010
Software maintenance and evolution
refactoring
0.112007
Beyond refactoring: a framework for modular maintenance of crosscutting design idioms · ESEC/SIGSOFT FSE 2007
Requirements engineering and software design › software design principles
information hiding
0.112005
Information hiding interfaces for aspect-oriented design · ESEC/SIGSOFT FSE 2005
Requirements engineering and software design
modularity
0.112005
Information hiding interfaces for aspect-oriented design · ESEC/SIGSOFT FSE 2005
Systems and software security
insider threat
0.012011
GitBAC: Flexible access control for non-modular concerns · ASE 2011
Hardware security and side channels
intellectual property protection
0.012011
GitBAC: Flexible access control for non-modular concerns · ASE 2011

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

concern-based access control · 0.2quantitative analysis · 0.1qualitative analysis · 0.1constraint checking · 0.1real options analysis · 0.1
YearPublicationVenuePosition
2013 Using Change Entries to Collect Software Project Information
Hazeline U. Asuncion, Macneil Shonle, Robert Porter, Karen Potts, Nathan Duncan, William Joseph Matthies Jr.
SEKE2
2012 A framework for the checking and refactoring of crosscutting concepts
abstract
Programmers employ crosscutting concepts, such as design patterns and other programming idioms, when their design ideas cannot be efficiently or effectively modularized in the underlying programming language. As a result, implementations of these crosscutting concepts can be hard to change even when the code is well structured. In this article, we describe Arcum, a system that supports the modular maintenance of crosscutting concepts. Arcum can be used to both check essential constraints of crosscutting concepts and to substitute crosscutting concept implementations with alternative implementations. Arcum is complementary to existing refactoring systems that focus on meaning-preserving program transformations at the programming-language-semantics level, because Arcum focuses on transformations at the conceptual level. We present the underpinnings of the Arcum approach and show how Arcum can be used to address several classical software engineering problems.
Macneil Shonle, William G. Griswold, Sorin Lerner
ACM Trans. Softw. Eng. Methodol.1
2011 Programming from the Reader's Perspective: Toward an Expectations Approach
abstract
There are many guidelines for composing programs, but few methodologies take into account the expectations readers have when reading an unfamiliar program. As a result, code that seems well-written and clear to the developer might not be read and interpreted by the reader in the way the programmer expected. We conducted a survey of Java programmers to determine how a program's structure may signal subjective cues to the reader. We found that the use of meaning-preserving program refactorings had a measurable effect on what readers believed the programmer's main intention was.
Gayani Samaraweera, Macneil Shonle, John Quarles
ICPC2
2011 GitBAC: Flexible access control for non-modular concerns
abstract
Today's techniques for controlling access to software artifacts are limited to restricting access to whole files and directories. But when a company's access control policy does not match a project's existing physical modularization, these techniques require either an all-or-nothing approach or re-modularization of the files and directories. The increased maintenance overhead this brings to project administration can lead to unimplemented or insufficient developer access control and an increased risk of insider security incidents (e.g., theft of intellectual property). We have created a tool (GitBAC) to provide access control of software artifacts using a crosscutting concern instead of artifact modularization. Our method provides fine-grained access control of artifacts and accommodates flexible access control policies.
Mark Robinson, Jianwei Niu 0001, Macneil Shonle
ASE3
2010 Compose & conquer: modularity for end-users
abstract
Users have vast amounts of information at their disposal and access to many tools that can compute on that data. Often, no particular program can fulfill a user's needs; or, when such a program exists, it may be too obscure for the user to find. When users encounter this problem, they resort to ad-hoc approaches, such as importing and exporting data to different file formats, as a way to piece together disparate features from several different programs. As a result, users end up manually entering and manipulating data, defeating the purpose of automatic computing machines.
Macneil Shonle, Timothy T. Yuen
ICSE (2)1
2010 Modular aspect-oriented design with XPIs
abstract
The emergence of aspect-oriented programming (AOP) languages has provided software designers with new mechanisms and strategies for decomposing programs into modules and composing modules into systems. What we do not yet fully understand is how best to use such mechanisms consistent with common modularization objectives such as the comprehensibility of programming code, its parallel development, dependability, and ease of change. The main contribution of this work is a new form of information-hiding interface for AOP that we call the crosscut programming interface, or XPI. XPIs abstract crosscutting behaviors and make these abstractions explicit. XPIs can be used, albeit with limited enforcement of interface rules, with existing AOP languages, such as AspectJ. To evaluate our notion of XPIs, we have applied our XPI-based design methodology to a medium-sized network overlay application called Hypercast. A qualitative and quantitative analysis of existing AO design methods and XPI-based design method shows that our approach produces improvements in program comprehensibility, in opportunities for parallel development, and in the ease when code can be developed and changed.
Kevin J. Sullivan, William G. Griswold, Hridesh Rajan, Yuanyuan Song, Yuanfang Cai, Macneil Shonle, Nishit Tewari
ACM Trans. Softw. Eng. Methodol.6
2008 Addressing common crosscutting problems with Arcum
abstract
Crosscutting is an inherent part of software development and can typically be managed through modularization: A module's stable properties are defined in an interface while its likely-to-change properties are encapsulated within the module [19]. The crosscutting of the stable properties, such as class and method names, can be mitigated with automated refactoring tools that allow, for example, the interface's elements to be renamed [9, 18]. However, often the crosscutting from design idioms (such as design patterns and coding styles) are so specific to the program's domain that their crosscutting would not likely have been anticipated by the developers of an automated refactoring system.
Macneil Shonle, William G. Griswold, Sorin Lerner
PASTE1
2007 Beyond refactoring: a framework for modular maintenance of crosscutting design idioms
abstract
Despite the automated refactoring support provided by today's IDEs many program transformations that are easy to conceptualize--such as improving the implementation of a design pattern--are not supported and are hence hard to perform. We propose an extension to the refactoring paradigm that provides for the modular maintenance of crosscutting design idioms, supporting both substitutability of design idiom implementations and the checking of essential constraints. We evaluate this new approach through the design and use of Arcum, an IDE-based mechanism for declaring, checking, and evolving crosscutting design idioms.
Macneil Shonle, William G. Griswold, Sorin Lerner
ESEC/SIGSOFT FSE1
2005 Information hiding interfaces for aspect-oriented design
abstract
The growing popularity of aspect-oriented languages, such as AspectJ, and of corresponding design approaches, makes it important to learn how best to modularize programs in which aspect-oriented composition mechanisms are used. We contribute an approach to information hiding modularity in programs that use quantified advising as a module composition mechanism. Our approach rests on a new kind of interface: one that abstracts a crosscutting behavior, decouples the design of code that advises such a behavior from the design of the code to be advised, and that can stipulate behavioral contracts. Our interfaces establish design rules that govern how specific points in program execution are exposed through a given join point model and how conforming code on either side should behave. In a case study of the HyperCast overlay network middleware system, including a real options analysis, we compare the widely cited oblivious design approach with our own, showing significant weaknesses in the former and benefits in the latter.
Kevin J. Sullivan, William G. Griswold, Yuanyuan Song, Yuanfang Cai, Macneil Shonle, Nishit Tewari, Hridesh Rajan
ESEC/SIGSOFT FSE5