Stuart R. Faulk
University of Oregon
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Stuart R. Faulk.
Requirements Engineering | 2001
Stuart R. Faulk
Software product-line engineering can provide significant gains in quality and productivity through systematic reuse of softwares conceptual structures. For embedded safety- or mission-critical systems, much of the development effort goes into understanding, specifying, and validating the requirements. If developers can reuse rather than re-do requirements for families of similar systems, we can improve productivity while significantly reducing the opportunity for requirements errors. The paper describes a systematic approach to developing a Product-line Requirements Specification (PRS) for such systems. The PRS explicitly represents the familys common requirements as well as the allowed variations that distinguish family members. When completed, the PRS definition also supports generation of well-formed software requirements specifications (SRS) for members of the product line. We describe a process for developing a PRS starting from an analysis of a program familys commonalities and variabilities. The approach is illustrated with examples from a case study of a real family of systems, the Rockwell Collins Commercial Flight Control System product-line.
ieee international conference on high performance computing data and analytics | 2004
Stuart R. Faulk; John Gustafson; Philip M. Johnson; Adam A. Porter; Walter F. Tichy; Lawrence G. Votta
One key to improving high performance computing (HPC) productivity is to find better ways to measure it. We define productivity in terms of mission goals, i.e. greater productivity means that more science is accomplished with less cost and effort. Traditional software productivity metrics and computing benchmarks have proven inadequate for assessing or predicting such end-to-end productivity. In this paper we introduce a new approach to measuring productivity in HPC applications that addresses both development time and execution time. Our goal is to develop a public repository of effective productivity benchmarks that anyone in the HPC community can apply to assess or predict productivity.
international conference on software engineering | 2000
Stuart R. Faulk
Many educational institutions are developing graduate programs in software engineering targeted to working professionals. These educators face the dilemma of providing programs with both industrial relevance and academic excellence. This paper describes our experience and lessons learned in developing such a program, the Oregon Master of Software Engineering (OMSE). It describes a structured approach to curriculum design, curriculum design principles and methods that can be applied to develop a quality professional program.
Computing in Science and Engineering | 2009
Stuart R. Faulk; Eugene Loh; Michael L. Van De Vanter; Susan Squires; Lawrence G. Votta
Hardware improvements do little to improve real productivity in scientific programming. Indeed, the dominant barriers to productivity improvement are now in the software processes. To break the gridlock, we must establish a degree of cooperation and collaboration with the software engineering community that does not yet exist.
software product lines | 2000
Stuart R. Faulk; Robert R. Harmon; David Raffo
We consider a set of programs a family when it pays to look at their common aspects before looking at their differences. For commercial software developers the implications are twofold: First, making rational decisions about product-line processes and products requires the ability to answer the question: “Does it pay?” Second, whether or not something pays is ultimately a business (rather than software engineering) question. In short, making sound software engineering decisions requires understanding the business implications of those decisions, and vice versa. This paper describes work in progress to develop a product-line process model and common value metric that adequately link product value drivers (what it pays) with the software engineering decisions that affect those drivers. We describe a systematic approach to quantifying the return on both product and process improvements, based on common software engineering principles and a common value metric, customer value .
conference on software engineering education and training | 2012
Eduardo Santana de Almeida; Li Dali; Stuart R. Faulk; Crescencio Lima; Zhang Rui; David M. Weiss; Jin Ying; Michal Young; Lian Yu
Companies around the world routinely distribute their software development across different sites. Students, however, rarely get a chance to learn the potential problems that arise, and the potential solutions to those problems, when conducting distributed development. It is especially difficult to simulate the situation for students when development is distributed across time zones and cultures. We have developed a course that requires teams of students at widely separated universities to collaborate with each other to complete a software development project. Instances of the course have been presented four times using combinations of five different universities, and we are seeking to create a larger pool of universities interested in and capable of presenting it. This paper discusses our goals, the characteristics of the course and the results of teaching it, with a primary result that all the universities want to and will offer the course again.
international conference on software engineering | 2010
Michal Young; Stuart R. Faulk
Software engineering research has long borrowed and adapted ideas from other disciplines to adapt to the peculiar context of building software. That context is less and less peculiar, as automation and communication transform other fields, and it is time for us to consider how approaches developed in software engineering can be transferred and generalized to other fields. Considering generalization of software engineering to domains outside computer science has implications for both software engineering research and education.
international conference on software engineering | 1997
Stuart R. Faulk; Constance L. Heitmeyer
This half-day tutorial provides an in-depth introduction to the SCR (Software Cost Reduction) requirements method, a practical, industrial-strength approach to formal requirements specification. Topics covered in the tutorial include the industrial perspective on formal methods, necessary attributes of methods and tools appropriate for industrial development of requirements, how the SCR method addresses common industrial concerns, Ihe SCR requiremenls model, llie SCR toolset, technology transfer efforts, and results and lessons learned from application of the SCR method to commercial software development.
international conference on software engineering | 2013
Stuart R. Faulk; Michal Young; Rafael Prikladnicki; David M. Weiss; Lian Yu
Software engineering project courses where student teams are geographically distributed can effectively simulate the problems of globally distributed software development (DSD). However, this pedagogical model has proven difficult to adopt or sustain. It requires significant pedagogical resources and collaboration infrastructure. Institutionalizing such courses also requires compatible and reliable teaching partners. The purpose of this workshop is to continue building on our outreach efforts to foster a community of international faculty and institutions committed to developing, teaching and researching DSD. Foundational materials presented will include pedagogical materials and infrastructure developed and used in teaching DSD courses along with results and lessons learned. The third CTGDSD workshop will also focus on publishing workshop results and collaborating with the larger DSD community. Longrange goals include: lowering adoption barriers by providing common pedagogical materials, collaboration infrastructure, and a pool of potential teaching partners from around the globe.
frontiers in education conference | 2012
Arthur M. Farley; Stuart R. Faulk; Virginia Mary Lo; Andrzej Proskurowski; Michal Young
Computer science graduates face unprecedented opportunities and unforeseen challenges in todays highly global economy. These students will have to work and to think with international perspectives and cultural awareness. In this paper, we report on our experiences organizing and teaching the Pacific Rim Summer Schools in Global Distributed Software Development. We describe the motivation for our focus, our summer school curricula and programs, provide information on the costs of organizing and running the summer schools, and examine the sustainability of our program. We conclude with a discussion of the role of such experiences in computer science curricula and in the education of American and international computer science professionals.