Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Michael J. Coblenz is active.

Publication


Featured researches published by Michael J. Coblenz.


Ai Magazine | 2003

GRACE: an autonomous robot for the AAAI Robot challenge

Reid G. Simmons; Dani Goldberg; Adam Goode; Michael Montemerlo; Nicholas Roy; Brennan Sellner; Chris Urmson; Alan C. Schultz; Myriam Abramson; William Adams; Amin Atrash; Magdalena D. Bugajska; Michael J. Coblenz; Matt MacMahon; Dennis Perzanowski; Ian Horswill; Robert Zubek; David Kortenkamp; Bryn Wolfe; Tod Milam; Bruce Allen Maxwell

In an attempt to solve as much of the AAAI Robot Challenge as possible, five research institutions representing academia, industry, and government integrated their research into a single robot named GRACE. This article describes this first-year effort by the GRACE team, including not only the various techniques each participant brought to GRACE but also the difficult integration effort itself.


symposium on visual languages and human-centric computing | 2005

Using objects of measurement to detect spreadsheet errors

Michael J. Coblenz; Andrew J. Ko; Brad A. Myers

There are many common spreadsheet errors that traditional spreadsheet systems do not help users find. This paper presents a statically-typed spreadsheet language that adds additional information about the objects that the spreadsheet values represent. By annotating values with both units and labels, users denote both the system of measurement in which the values are expressed as well as the properties of the objects to which the values refer. This information is used during computation to detect some invalid computations and allow users to identify properties of the resulting values.


eclipse technology exchange | 2006

JASPER: an Eclipse plug-in to facilitate software maintenance tasks

Michael J. Coblenz; Andrew J. Ko; Brad A. Myers

Recent research has shown that developers spend significant amounts of time navigating around code. Much of this time is spent on redundant navigations to code that the developer previously found. This is necessary today because existing development environments do not enable users to easily collect relevant information, such as web pages, textual notes, and code fragments. JASPER is a new system that allows users to collect relevant artifacts into a working set for easy reference. These artifacts are visible in a single view that represents the users current task and allows users to easily make each artifact visible within its context. We predict that JASPER will significantly reduce time spent on redundant navigations. In addition, JASPER will facilitate multitasking, interruption management, and sharing task information with other developers.


international conference on software engineering | 2016

Exploring language support for immutability

Michael J. Coblenz; Joshua Sunshine; Jonathan Aldrich; Brad A. Myers; Sam Weber; Forrest Shull

Programming languages can restrict state change by preventing it entirely (immutability) or by restricting which clients may modify state (read-only restrictions). The benefits of immutability and read-only restrictions in software structures have been long-argued by practicing software engineers, researchers, and programming language designers. However, there are many proposals for language mechanisms for restricting state change, with a remarkable diversity of techniques and goals, and there is little empirical data regarding what practicing software engineers want in their tools and what would benefit them. We systematized the large collection of techniques used by programming languages to help programmers prevent undesired changes in state. We interviewed expert software engineers to discover their expectations and requirements, and found that important requirements, such as expressing immutability constraints, were not reflected in features available in the languages participants used. The interview results informed our design of a new language extension for specifying immutability in Java. Through an iterative, participatory design process, we created a tool that reflects requirements from both our interviews and the research literature.


international conference on software engineering | 2017

Glacier: transitive class immutability for Java

Michael J. Coblenz; Whitney Nelson; Jonathan Aldrich; Brad A. Myers; Joshua Sunshine

Though immutability has been long-proposed as a way to prevent bugs in software, little is known about how to make immutability support in programming languages effective for software engineers. We designed a new formalism that extends Java to support transitive class immutability, the form of immutability for which there is the strongest empirical support, and implemented that formalism in a tool called Glacier. We applied Glacier successfully to two real-world systems. We also compared Glacier to Javas final in a user study of twenty participants. We found that even after being given instructions on how to express immutability with final, participants who used final were unable to express immutability correctly, whereas almost all participants who used Glacier succeeded. We also asked participants to make specific changes to immutable classes and found that participants who used final all incorrectly mutated immutable state, whereas almost all of the participants who used Glacier succeeded. Glacier represents a promising approach to enforcing immutability in Java and provides a model for enforcement in other languages.


international conference on software engineering | 2017

Obsidian: a safer blockchain programming language

Michael J. Coblenz

Blockchain platforms, such as Ethereum, promise to facilitate transactions on a decentralized computing platform among parties that have not established trust. Recognition of the unique challenges of blockchain programming has inspired developers to create domain-specific languages, such as Solidity, for programming blockchain systems. Unfortunately, bugs in Solidity programs have recently been exploited to steal money. We propose a new programming language, Obsidian, to make it easier for programmers to write correct programs.


symposium on visual languages and human-centric computing | 2015

A course-based usability analysis of Cilk Plus and OpenMP

Michael J. Coblenz; Robert C. Seacord; Brad A. Myers; Joshua Sunshine; Jonathan Aldrich

Cilk Plus and OpenMP are parallel language extensions for the C and C++ programming languages. The CPLEX Study Group of the ISO/IEC C Standards Committee is developing a proposal for a parallel programming extension to C that combines ideas from Cilk Plus and OpenMP. We conducted a preliminary comparison of Cilk Plus and OpenMP in a masters level course on security to evaluate the design tradeoffs in the usability and security of these two approaches. The eventual goal is to inform decision-making within the committee. We found several usability problems worthy of further investigation based on student performance, including declaring and using reductions, multi-line compiler directives, and the understanda-bility of task assignment to threads.


sigplan symposium on new ideas new paradigms and reflections on programming and software | 2018

Interdisciplinary programming language design

Michael J. Coblenz; Jonathan Aldrich; Brad A. Myers; Joshua Sunshine

Approaches for programming language design used commonly in the research community today center around theoretical and performance-oriented evaluation. Recently, researchers have been considering more approaches to language design, including the use of quantitative and qualitative user studies that examine how different designs might affect programmers. In this paper, we argue for an interdisciplinary approach that incorporates many different methods in the creation and evaluation of programming languages. We argue that the addition of user-oriented design techniques can be helpful at many different stages in the programming language design process.


international conference on software engineering | 2017

Principles of usable programming language design

Michael J. Coblenz

Tools for software engineers, such as programming languages and IDEs, should reflect the needs of their users. Unfortunately, designers of programming languages lack strong guidance regarding how to make these tools most effective for users. Though there is a well-developed theory of programming languages, there is little evidence regarding how to use this theory to build languages in which software engineers are most productive. I propose to develop methods for programming language design that fuse results from programming language theory with methods from human-computer interaction so that designers can create effective tools for users.


2017 IEEE Cybersecurity Development (SecDev) | 2017

Empirical Studies on the Security and Usability Impact of Immutability

Sam Weber; Michael J. Coblenz; Brad A. Myers; Jonathan Aldrich; Joshua Sunshine

Although it is well-known that API design has a large and long-term impact on security, the literature contains few substantial guidelines for practitioners on how to design APIs that improve security. Even fewer of those guidelines have been evaluated empirically. Security professionals have proposed that software engineers choose immutable APIs and architectures to enhance security. Unfortunately, prior empirical research argued that immutablity decreases API usability. This paper brings together the results from a number of previous papers that together aim to show that immutability, when carefully designed using usability as a first-class requirement, can have positive effects on both usability and security. We also make observations on study design in this field.

Collaboration


Dive into the Michael J. Coblenz's collaboration.

Top Co-Authors

Avatar

Brad A. Myers

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Joshua Sunshine

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Jonathan Aldrich

Carnegie Mellon University

View shared research outputs
Top Co-Authors

Avatar

Andrew J. Ko

University of Washington

View shared research outputs
Top Co-Authors

Avatar

Sam Weber

Software Engineering Institute

View shared research outputs
Top Co-Authors

Avatar

Alan C. Schultz

United States Naval Research Laboratory

View shared research outputs
Top Co-Authors

Avatar

Amin Atrash

University of Southern California

View shared research outputs
Top Co-Authors

Avatar

Dennis Perzanowski

United States Naval Research Laboratory

View shared research outputs
Top Co-Authors

Avatar

Matt MacMahon

University of Texas at Austin

View shared research outputs
Top Co-Authors

Avatar

Myriam Abramson

United States Naval Research Laboratory

View shared research outputs
Researchain Logo
Decentralizing Knowledge