Network


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

Hotspot


Dive into the research topics where William G. Griswold is active.

Publication


Featured researches published by William G. Griswold.


international conference on software engineering | 1999

Dynamically discovering likely program invariants to support program evolution

Michael D. Ernst; Jake Cockrell; William G. Griswold; David Notkin

Explicitly stated program invariants can help programmers by identifying program properties that must be preserved when modifying code. In practice, however, these invariants are usually implicit. An alternative to expecting programmers to fully annotate code with invariants is to automatically infer invariants from the program itself. This research focuses on dynamic techniques for discovering invariants from execution traces. This paper reports two results. First, it describes techniques for dynamically discovering invariants, along with an instrumenter and an inference engine that embody these techniques. Second, it reports on the application of the engine to two sets of target programs. In programs from Criess work on program derivation, we rediscovered predefined invariants. In a C program lacking explicit invariants, we discovered invariants that assisted a software evolution task.


european conference on object oriented programming | 2001

An Overview of AspectJ

Gregor Kiczales; Erik Hilsdale; Jim Hugunin; Mik Kersten; Jeffrey Palm; William G. Griswold

Aspect] is a simple and practical aspect-oriented extension to Java With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJs dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are special method-like constructs that can be attached to pointcuts; and aspects are modular units of crosscutting implementation, comprising pointcuts, advice, and ordinary Java member declarations. AspectJ code is compiled into standard Java bytecode. Simple extensions to existing Java development environments make it possible to browse the crosscutting structure of aspects in the same kind of way as one browses the inheritance structure of classes. Several examples show that AspectJ is powerful, and that programs written using it are easy to understand.


Communications of The ACM | 2001

Getting started with ASPECTJ

Gregor Kiczales; Erik Hilsdale; Jim Hugunin; Mik Kersten; Jeffrey Palm; William G. Griswold

Many software developers are attracted to the idea of AOP, but unsure about how to begin using the technology. They recognize the concept of crosscutting concerns, and know that they have had problems with the implementation of such concerns in the past. But there are many questions about how to adopt AOP into the development process. Common questions include: Can I use aspects in my existing code? What kinds of benefits can I expect to get? How do I find aspects? How steep is the learning curve for AOP? What are the risks of using this new technology?


Journal of Medical Internet Research | 2009

A Text Message-Based Intervention for Weight Loss: Randomized Controlled Trial

Kevin Patrick; Fred Raab; Marc A. Adams; Lindsay Dillon; Marian Zabinski; Cheryl L. Rock; William G. Griswold; Gregory J. Norman

Background To our knowledge, no studies have evaluated whether weight loss can be promoted in overweight adults through the use of an intervention that is largely based on daily SMS (Short Message Service: text) and MMS (Multimedia Message Service: small picture) messages transmitted via mobile phones. Objective This paper describes the development and evaluation of a text message–based intervention designed to help individuals lose or maintain weight over 4 months. Methods The study was a randomized controlled trial, with participants being exposed to one of the following two conditions, lasting 16 weeks: (1) receipt of monthly printed materials about weight control; (2) an intervention that included personalized SMS and MMS messages sent two to five times daily, printed materials, and brief monthly phone calls from a health counselor. The primary outcome was weight at the end of the intervention. A mixed-model repeated-measures analysis compared the effect of the intervention group to the comparison group on weight status over the 4-month intervention period. Analysis of covariance (ANCOVA) models examined weight change between baseline and 4 months after adjusting for baseline weight, sex, and age. Results A total of 75 overweight men and women were randomized into one of the two groups, and 65 signed the consent form, completed the baseline questionnaire, and were included in the analysis. At the end of 4 months, the intervention group (n = 33) lost more weight than the comparison group (−1.97 kg difference, 95% CI −0.34 to −3.60 kg, P = .02) after adjusting for sex and age. Intervention participants’ adjusted average weight loss was 2.88 kg (3.16%). At the end of the study, 22 of 24 (92%) intervention participants stated that they would recommend the intervention for weight control to friends and family. Conclusions Text messages might prove to be a productive channel of communication to promote behaviors that support weight loss in overweight adults. Trial Registration Clinicaltrials.gov NCT00415870; http://clinicaltrials.gov/ct2/show/NCT00415870 (Archived by WebCite at http://www.webcitation.org/5dnolbkFt)


American Journal of Preventive Medicine | 2008

Health and the Mobile Phone

Kevin Patrick; William G. Griswold; Fred Raab; Stephen S. Intille

Within the next 8 years, annual U.S. expenditure on health care is projected to reach


foundations of software engineering | 2001

The structure and value of modularity in software design

Kevin J. Sullivan; William G. Griswold; Yuanfang Cai; Ben Hallen

4 trillion/year, or 20% of the gross domestic product.1 Whether resource consumption of this order of magnitude is sustainable is an open question, but at the very least it suggests the need for population-level solutions for everything from the primary prevention of disease to improving end-of-life care. Ours is a society that often views challenges like this as being solved through the application of technology, and one technology in particular is emerging that may become very important to the delivery of health care: mobile phones. By June 2007 there were 239 million users of mobile phones in the U.S. or 79% of the population,2 and users are highly diverse.3 Mobile phones are beginning to replace landline telephones for some, and except for very young children, may ultimately reach an effective penetration of “one phone: one person” as is already the case in some countries such as Finland.4 This paper provides an overview of the implications of this trend for the delivery of healthcare services. In addition to addressing how mobile phones are changing the way health professionals communicate with their patients, a summary is provided of current and projected technologic capabilities of mobile phones that have the potential to render them an increasingly indispensable personal health device. Finally, the health risks of mobile phone use are addressed, as are several unresolved technical and policy-related issues unique to mobile phones. Because these issues may influence how well and how quickly mobile phones are integrated into health care, and how well they serve the needs of the entire population, they deserve the attention of both the healthcare and public health community.


human factors in computing systems | 2008

A diary study of mobile information needs

Timothy Sohn; Kevin A. Li; William G. Griswold; James D. Hollan

The concept of information hiding modularity is a cornerstone of modern software design thought, but its formulation remains casual and its emphasis on changeability is imperfectly related to the goal of creating added value in a given context. We need better explanatory and prescriptive models of the nature and value of information hiding. We evaluate the potential of a new theory---developed to account for the influence of modularity on the evolution of the computer industry---to inform software design. The theory uses design structure matrices to model designs and real options techniques to value them. To test the potential utility of the theory for software we apply it to Parnass KWIC designs. We contribute an extension to design structure matrices, and we show that the options results are consistent with Parnass conclusions. Our results suggest that such a theory does have potential to help inform software design.


international conference on software engineering | 2000

Quickly detecting relevant program invariants

Michael D. Ernst; Adam Czeisler; William G. Griswold; David Notkin

Being mobile influences not only the types of information people seek but also the ways they attempt to access it. Mobile contexts present challenges of changing location and social context, restricted time for information access, and the need to share attentional resources among concurrent activities. Understanding mobile information needs and associated interaction challenges is fundamental to improving designs for mobile phones and related devices. We conducted a two-week diary study to better understand mobile information needs and how they are addressed. Our study revealed that depending on the time and resources available, as well as the situational context, people use diverse and, at times, ingenious ways to obtain needed information. We summarize key findings and discuss design implications for mobile technology.


ubiquitous computing | 2006

Mobility detection using everyday GSM traces

Timothy Sohn; Alex Varshavsky; Anthony LaMarca; Mike Y. Chen; Tanzeem Choudhury; Ian E. Smith; Sunny Consolvo; Jeffrey Hightower; William G. Griswold; Eyal de Lara

Explicitly stated program invariants can help programmers by characterizing certain aspects of program execution and identifying program properties that must be preserved when modifying code. Unfortunately, these invariants are usually absent from code. Previous work showed how to dynamically detect invariants from program traces by looking for patterns in and relationships among variable values. A prototype implementation, Daikon, accurately recovered invariants from formally-specified programs, and the invariants it detected in other programs assisted programmers in a software evolution task. However, Daikon suffered from reporting too many invariants, many of which were not useful, and also failed to report some desired invariants. The paper presents, and gives experimental evidence of the efficacy of, four approaches for increasing the relevance of invariants reported by a dynamic invariant detector. One of them (exploiting unused polymorphism), adds desired invariants to the output. The other three (suppressing implied invariants, limiting which variables are compared to one another, and ignoring unchanged values), eliminate undesired invariants from the output and also improve runtime by reducing the work done by the invariant detector.


IEEE Software | 2006

Modular software design with crosscutting interfaces

William G. Griswold; Macneil Shonle; Kevin J. Sullivan; Yuanyuan Song; Nishit Tewari; Yuanfang Cai; Hridesh Rajan

Recognition of everyday physical activities is difficult due to the challenges of building informative, yet unobtrusive sensors. The most widely deployed and used mobile computing device today is the mobile phone, which presents an obvious candidate for recognizing activities. This paper explores how coarse-grained GSM data from mobile phones can be used to recognize high-level properties of user mobility, and daily step count. We demonstrate that even without knowledge of observed cell tower locations, we can recognize mobility modes that are useful for several application domains. Our mobility detection system was evaluated with GSM traces from the everyday lives of three data collectors over a period of one month, yielding an overall average accuracy of 85%, and a daily step count number that reasonably approximates the numbers determined by several commercial pedometers.

Collaboration


Dive into the William G. Griswold's collaboration.

Top Co-Authors

Avatar

David Notkin

University of California

View shared research outputs
Top Co-Authors

Avatar

Kevin Patrick

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Macneil Shonle

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Sorin Lerner

University of California

View shared research outputs
Top Co-Authors

Avatar

Beth Simon

University of California

View shared research outputs
Top Co-Authors

Avatar

Colleen Buono

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge