Network


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

Hotspot


Dive into the research topics where R. E. K. Stirewalt is active.

Publication


Featured researches published by R. E. K. Stirewalt.


international conference on software engineering | 2008

A study of student strategies for the corrective maintenance of concurrent software

Scott D. Fleming; Eileen Kraemer; R. E. K. Stirewalt; Shaohua Xie; Laura K. Dillon

Graduates of computer science degree programs are increasingly being asked to maintain large, multi-threaded software systems; however, the maintenance of such systems is typically not well-covered by software engineering texts or curricula. We conducted a think-aloud study with 15 students in a graduate-level computer science class to discover the strategies that students apply, and to what effect, in performing corrective maintenance on concurrent software. We collected think-aloud and action protocols, and annotated the protocols for a number of behavioral attributes and maintenance strategies. We divided the protocols into groups based on the success of the participant in both diagnosing and correcting the failure. We evaluated these groups for statistically significant differences in these attributes and strategies. In this paper, we report a number of interesting observations that came from this study. All participants performed diagnostic executions of the program to aid program comprehension; however, the participants that used this as their predominant strategy for diagnosing the fault were all unsuccessful. Among the participants that successfully diagnosed the fault and displayed high confidence in their diagnosis, we found two commonalities. They all recognized that the fault involved the violation of a concurrent-programming idiom. And, they all constructed detailed behavioral models (similar to UML sequence diagrams) of execution scenarios. We present detailed analyses to explain the attributes that correlated with success or lack of success. Based on these analyses, we make recommendations for improving software engineering curriculums by better training students how to apply these strategies effectively.


automated software engineering | 1998

Automating UI generation by model composition

R. E. K. Stirewalt; Spencer Rugaber

Automated user-interface generation environments have been criticized for their failure to deliver rich and powerful interactive applications. To specify more powerful systems, designers require multiple specialized modeling notations. The model-composition problem is concerned with automatically deriving powerful, correct, and efficient user interfaces from multiple models specified in different notations. Solutions balance the advantages of separating code generation into specialized code generators with deep, model-specific knowledge against the correctness and efficiency obstacles that result from such separation. We present a correct and efficient solution that maximizes the advantage of separation through run-time composition mechanisms.


international symposium on software testing and analysis | 2011

Scalable analysis of conceptual data models

Matthew J. Mcgill; Laura K. Dillon; R. E. K. Stirewalt

Conceptual data models describe information systems without the burden of implementation details, and are increasingly used to generate code. They could also be analyzed for consistency and to generate test data except that the expressive constraints supported by popular modeling notations make such analysis intractable. In an earlier empirical study of conceptual models created at LogicBlox Inc., Smaragdakis, Csallner, and Subramanian found that a restricted subset of ORM, called ORM−, includes the vast majority of constraints used in practice and, moreover, allows scalable analysis. After that study, however, LogicBlox Inc. obtained a new ORM modeling tool, which supports discovery and specification of more complex constraints than the previous tool. We report findings of a follow-up study of models constructed using the more powerful tool. Our study finds that LogicBlox developers increasingly rely on a small number of features not in the ORM− subset. We extend ORM− with support for two of them: objectification and a restricted class of external uniqueness constraints. The extensions significantly improve our ability to analyze the ORM models created by developers using the new tool. We also show that a recent change to ORM has rendered the original ORM− algorithms unsound, in general; but that an efficient test suffices to show that these algorithms are in fact sound for the ORM− constraints appearing in any of the models currently in use at LogicBlox.


automated software engineering | 2001

Adequate reverse engineering

Spencer Rugaber; T. Shikano; R. E. K. Stirewalt

Reverse engineering a program constructs a high-level representation suitable for various software development purposes such as documentation or reengineering. Unfortunately however, there are no established guidelines to assess the adequacy of such a representation. We propose two such criteria, completeness and accuracy, and show how they can be determined during the course of reversing the representation. A representation is successfully reversed when it is given as input to a suitable code generator, and a program equivalent to the original is produced. To explore this idea, we reverse engineer a small but complex numerical application, represent our understanding using algebraic specifications, and then use a code generator to produce code from the specification. We discuss the strengths and weaknesses of the approach as well as alternative approaches to reverse engineering adequacy.


principles systems and applications of ip telecommunications | 2008

On Mechanisms for Deadlock Avoidance in SIP Servlet Containers

Yi Huang; Laura K. Dillon; R. E. K. Stirewalt

Increasingly, VoIP applications are being deployed to multi-threaded SIP servlet containers. Unfortunately, the standard specification for these containers is silent with regard to synchronization issues, and the lack of direction has led different vendors to adopt a variety of different and incompatible policies for preventing data races among concurrent threads. In addition to the obvious portability problems, some policies make servlet code prone to deadlock under common scenarios of use. This paper documents this problem with concrete examples and proposes modifications to the standard to allow programmers to implement the protocols needed to avoid these common deadlocks. These extensions will open the way for automatic generation of the synchronization logic needed to implement these avoidance protocols, thereby increasing the safety and reliability of applications deployed in this environment.


international conference on program comprehension | 2008

Refining existing theories of program comprehension during maintenance for concurrent software

Scott D. Fleming; Eileen Kraemer; R. E. K. Stirewalt; Laura K. Dillon; Shaohua Xie

While the sources of complexity in the initial design and verification of multi-threaded software systems are well-documented, less is known of the issues specific to the maintenance of these systems. The literature contains a number of observational studies of programmers performing maintenance, conducted in the context of sequential software and designed to investigate the factors and behaviors that lead to success. To help fill the gap in knowledge in the area of concurrent software maintenance, we conducted a study that refines the findings of two prior studies, those of Littman et al. and of Vessey, to address issues and obstacles that arise in the understanding of concurrent software. We validated these refinements by observing programmers performing corrective maintenance on a small but complex multi-threaded server program.


international conference on software engineering | 2009

The inference validity problem in legal discovery

R. E. K. Stirewalt; Laura K. Dillon; Eileen Kraemer

This paper introduces the inference validity problem, a software-engineering concern that manifests in and complicates the pre-trial process of discovery in litigation. The problem is related to the requirements validation problem in traditional software engineering, but with stricter constraints on stakeholder communication and potentially severe liability risks on the part of software engineers who are retained as expert witnesses. We propose an approach, based on the use of formal methods and traceability, to enable software engineers to avoid this problem, thereby increasing the quality of written opinions while mitigating the risk of liability.


software visualization | 2008

Assessing the benefits of synchronization-adorned sequence diagrams: two controlled experiments

Shaohua Xie; Eileen Kraemer; R. E. K. Stirewalt; Laura K. Dillon; Scott D. Fleming

Learning about concurrency and synchronization is difficult for novices. In prior work, we developed saUML, a refinement of UML sequence diagrams, to address these difficulties and found them to be beneficial when compared to text-only presentations. This paper compares saUML to standard UML sequence diagrams to judge their relative effectiveness in enhancing a novice programmers understanding of programs with different levels of synchronization complexity. One experiment compared the two notations when used to understand programs of low synchronization complexity, as judged by their use of only simple synchronization primitives, such as mutex locks. Here, a beneficial trend was observed, but it did not rise to the level of statistical significance. A second experiment compared the two notations on similar tasks but on programs with more complex synchronization constructs, in this case condition synchronization using primitives, such as wait and signal. Here, a significant benefit (p < 0.05) was found to exist.


international conference on program comprehension | 2009

Prototyping synchronization policies for existing programs

Yi Huang; Laura K. Dillon; R. E. K. Stirewalt

We describe a framework, called the Synchronization Policy Prototyper (SyPP), for generating tools to aid in assessing the appropriateness of strictly exclusive synchronization policies under expected program usage scenarios. A SyPP tool aims to help during evolution of an existing program when the synchronization policy that it implements needs to be changed.


OTM '09 Proceedings of the Confederated International Workshops and Posters on On the Move to Meaningful Internet Systems: ADI, CAMS, EI2N, ISDE, IWSSA, MONET, OnToContent, ODIS, ORM, OTM Academy, SWWS, SEMELS, Beyond SAWSDL, and COMBEK 2009 | 2009

Automated Test Input Generation for Software That Consumes ORM Models

Matthew J. Mcgill; R. E. K. Stirewalt; Laura K. Dillon

Software tools that analyze and generate code from ORM conceptual schemas are highly susceptible to feature interaction bugs. When testing such tools, test suites are needed that cover many combinations of features, including combinations that rarely occur in practice. Manually creating such a test suite is extremely labor-intensive, and the tester may fail to cover feasible feature combinations that are counter-intuitive or that rarely occur. This paper describes ATIG, a prototype tool for automatically generating test suites that cover diverse combinations of ORM features. ATIG makes use of combinatorial testing to optimize coverage of select feature combinations within constraints imposed by the need to keep the sizes of test suites manageable. We have applied ATIG to generate test inputs for an industrial strength ORM-to-Datalog code generator. Initial results suggest that it is useful for finding feature interaction errors in tools that operate on ORM models.

Collaboration


Dive into the R. E. K. Stirewalt's collaboration.

Top Co-Authors

Avatar

Laura K. Dillon

Michigan State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Yi Huang

Michigan State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Spencer Rugaber

Georgia Institute of Technology

View shared research outputs
Top Co-Authors

Avatar

Matthew Nizol

Michigan State University

View shared research outputs
Top Co-Authors

Avatar

T. Shikano

Georgia Institute of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge