Scott M. Pike

Department of Computer Science, Texas A&M University

Department of Computer Science, Texas A&M University
  • home »
  • publications »
  • View all publications
back

Links

  • Home
  • +  Research
    • Main research page
    • Research Project 1
    • Research Project 2
  • +  Teaching
    • Main teaching page
    • CPSC-668
    • CPSC-689
    • CPSC-410/611
  • +  Publications
    • All publications
    • Book Chapters
    • Conference Proceedings
    • Workshop Papers
  • Service
  • New Students
  • Resources
  • CV
  • Personal

Contact

  • pike [at] cs.tamu.edu
  • Office: 325 HRBB
  • Phone: +1 979.845.2369
  • Fax: +1 979.847.8578
13

Publications

Publications listed by category and date of publication.

Please observe the copyright notices posted here governing the use of material from this page.

Click for papers indexed by

ACM, IEEE, DBLP, Springer, CiteSeer, and Google Scholar

Sort:

By Date: Newest publications first | Oldest publications first
By Category: Book Chapters | Conference Proceedings | Workshop Papers
By Publisher: ACM | ACTA | Cambridge | ETD | IEEE Xplore | None | Springer



Conference Proceedings


  Dining Philosophers with Crash Locality 1

  2004 [more]
IEEE Xplores Icon
  • Citation:
    Scott M. Pike and Paolo A.G. Sivilotti, "Dining Philosophers with Crash Locality 1" in Proceedings of ICDCS 2004, pp. 22-29. © IEEE 2004. Best Paper Award (1st place out of 475 submitted papers).
  • Abstract:
    Ideally, distributed algorithms isolate the side-effects of faults within local neighborhoods of impact. Failure locality quantifies this concept as the maximum radius of impact caused by a given fault. We present new locality results for the dining philosophers problem subject to crash failures. The optimal crash locality for dining is 0 in synchronous networks, but degrades to 2 in asynchronous networks. Using the eventually-perfect failure detector /spl diams/P , we construct the first known dining algorithms with crash locality 1 under partial synchrony. These algorithms close the failure-locality complexity gap and improve the crash tolerance of resource allocation algorithms in practical networks. We prove the optimality of our results with two fundamental theorems. First, no dining solution using /spl diams/P achieves locality 0. Second, /spl diams/P is the weakest failure detector in the Chandra-Toueg hierarchy to realize locality 1.
  • Publisher: IEEE Xplore
  • Link to copy of this pubilcation on file with the publisher:
    ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1281564

  • Download this publication:  
    FL1.ps FL1.ps
    FL1.pdf FL1.pdf
    Fl1.bib Fl1.bib




  Dynamic Module Replacement in Distributed Protocols

  2003 [more]
IEEE Xplores Icon
  • Citation:
    Nigamanth Sridhar, Scott M. Pike, and Bruce W. Weide, "Dynamic Module Replacement in Distributed Protocols" in Proceedings of ICDCS 2003, pp. 620-627. © IEEE 2003.
  • Abstract:
    Dynamic module replacement - the ability to hot swap a component's implementation at runtime - is fundamental to supporting evolutionary change in long-lived and highly-available systems. Most existing solutions require special-purpose middleware or depend on research languages with limited support for mainstream software development. We present a language-neutral technique for dynamic module replacement using Service Facilities (Serfs) - a pattern-based design strategy for decoupling runtime dependencies. We demonstrate the sufficiency of Serfs with respect to a litmus test of criteria for module replacement. Next, we extend the traditional scope of module replacement to encompass the domain of modules for distributed protocols. We conclude by applying the Serf strategy to illustrate dynamic replacement of mutual exclusion protocols in modules for distributed resource allocation.
  • Publisher: IEEE Xplore
  • Link to copy of this pubilcation on file with the publisher:
    ieeexplore.ieee.org/search/wrapper.jsp?arnumber=1203513

  • Download this publication:  
    DynReconfig.pdf DynReconfig.pdf
    DynReconfig.ps DynReconfig.ps
    DynReconfig.bib DynReconfig.bib




  Encapsulating Concurrency with Early-Reply

  2002 [more]
ACMs Icon
  • Citation:
    Scott M. Pike, "Encapsulating Concurrency with Early-Reply" in Companion Proceedings of the 17th ACM Conference on Object-Oriented Programming, Languages, Systems, and Applications OOPSLA 2002, pp. 18-19.
  • Abstract:
    Component methods often produce their final parameter values long before the method body is ready to terminate. To minimize client blocking, Early-Reply can be used to forward invocation results to the caller as soon as they are (safely) available. After executing Early-Reply, the method remainder and the client caller can proceed concurrently, modulo synchronization constraints. The prime motivation for Early-Reply, then, is to improve performance factors such as response time and resource utilization.Early-Reply received previous attention as a construct for explicit concurrent programming. It's value for sequential programming, however, has not been widely recognized. The present research supplies a formal treatment of Early-Reply as a basis for concurrent execution of sequential programs. In particular, we reformulate Early-Reply under local proof obligations that encapsulate concurrency as a (temporal) unit of information hiding. The upshot is that software developers can use Early-Reply to exploit the performance benefits of concurrent execution, without compromising the reasoning benefits of sequential programming.
  • Publisher: ACM
  • Link to copy of this pubilcation on file with the publisher:
    doi.acm.org/10.1145/985072.985082

  • Download this publication:  
    ECWER.pdf ECWER.pdf
    ECWER.ps ECWER.ps
    OOPSLA Final Program.pdf OOPSLA Final Program.pdf
    OOPSLA2002.bib OOPSLA2002.bib




  Early-Reply Components: Concurrent Execution with Sequential Reasoning

  2002 [more]
Springers Icon
  • Citation:
    Scott M. Pike and Nigamanth Sridhar, "Early-Reply Components: Concurrent Execution with Sequential Reasoning" in Proceedings of ICSR7. Software Reuse: Methods, Techniques, and Tools. LNCS 2319, pp. 46-61. © Springer-Verlag 2002.
  • Abstract:
    This book constitutes the refereed proceedings of the 7th International Conference on Software Reuse, ICSR-7, held in Austin, Texas, USA, in April 2002. The 22 revised full papers presented together with summaries or abstracts of keynotes, workshops, and tutorials were carefully reviewed and selected from numerous submissions. The papers are organized in topical sections on implementation, product lines, managerial and economic issues, generators, reuse of non-code artifacts, and design issues. The book contributes to bridging the gap between industrial practice and academic research and development in the area.
  • Publisher: Springer
  • Link to copy of this pubilcation on file with the publisher:
    www.springer.com/sgw/cda/frontpage/0,11855,5-0-22-2209833-0,00.html?referer=www.springer.de%2

  • Download this publication:  
    Early-Reply.pdf Early-Reply.pdf
    Early-Reply.ps Early-Reply.ps
    ICSR7.bib ICSR7.bib




  Reasoning About Software-Component Behavior

  2000 [more]
Springers Icon
  • Citation:
    M. Sitaraman, S. Atkinson, G. Kulczycki, B.W. Weide, T.J. Long, P. Bucci, W.D. Heym, S.M. Pike, J.E. Hollingsworth, "Reasoning About Software-Component Behavior" in Proceedings of ICSR6 Software Reuse: Advances in Software Reusability. LNCS 1844, 266-283. © Springer-Verlag 2000. Citations: [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23]
  • Abstract:
    Mathematical modeling is essential for reasoning about component-based software. Without precise descriptions based on mathematical models, the potential benefits of component-based software development are unlikely to be fully realized because clients who use existing components will be unable to understand those components well enough to reason soundly about non-trivial programs which use them.
  • Publisher: Springer
  • Link to copy of this pubilcation on file with the publisher:
    springerlink.metapress.com/(2o4yo455mjahlx55xv5uqo45)/app/home/issue.asp?referrer=parent&back

  • Download this publication:  
    reasoning-paper.pdf reasoning-paper.pdf
    ICSR6.bib ICSR6.bib
    reasoning-paper.html reasoning-paper.html




  A New Distributed Resource-Allocation Algorithm with Optimal Failure Locality

  2000 [more]
ACTAs Icon
  • Citation:
    Paolo A.G. Sivilotti, Scott M. Pike, and Nigamanth Sridhar, "A New Distributed Resource-Allocation Algorithm with Optimal Failure Locality." in Proceedings of PDCS 2000, Vol 2, pp. 524-529, IASTED/ACTA Press, 2000. Citations: [1] [2] [3] [4]
  • Abstract:
    Failure locality measures an algorithm's robustness to process failures. We present a new algorithm for the dining philosophers problem | a classic problem in distributed resource allocation | that has optimal failure locality. As a re nement, the algorithm can be easily parameterized by a simple failure model to achieve super-optimal failure locality in the average case. Keywords: distributed algorithms, fault tolerance, dining philosophers, failure locality. 1 Introduction The dining philosophers problem is a classic and fundamental resource allocation problem [6]. Although rst formulated as a shared-memory concurrency problem, it has since received considerable attention as a distributed conict-resolution problem [8]. It can be seen as a generalization of the mutual exclusion problem, in which neighboring processes cannot access a shared resource simultaneously. It has many applications in the construction of other distributed resourceallocation algorithms, including drinking p...
  • Publisher: ACTA
  • Link to copy of this pubilcation on file with the publisher:
    www.actapress.com/proceedings/pdcs.htm

  • Download this publication:  
    faultloc.pdf faultloc.pdf
    faultloc.ps faultloc.ps
    PDCS2000.bib PDCS2000.bib




  Checkmate: Cornering C++ Dynamic Memory Errors With Checked Pointers.

  2000 [more]
ACMs Icon
  • Citation:
    Scott M. Pike, Bruce W. Weide, and Joseph E. Hollingsworth, "Checkmate: Cornering C++ Dynamic Memory Errors With Checked Pointers." in Proceedings of SIGCSE 2000, pp. 352-356. © ACM Press 2000. Citations: [1] [2] [3] [4] [5] [6]
  • Abstract:
    Pointer errors are stumbling blocks for student and veteran programmers alike. Although languages such as Java use references to protect programmers from pointer pitfalls, the use of garbage collection dictates that languages like C++ will still be used for real-time mission-critical applications. Pointers will stay in the classroom as long as they're used in industry, so as educators, we must find better ways to teach them. This paper presents checked pointers, a simple wrapper for C++ pointers that prevents pointer arithmetic and other common sources of pointer errors, and detects all dereferencing and deallocation errors, including memory leaks. The syntax of checked pointers is highly faithful to raw C++ pointers, but provides run-time error detection and debugging information. After debugging, changing one #include is all that is required to substitute a non-checking implementation that is as fast as raw C++.
  • Publisher: ACM
  • Link to copy of this pubilcation on file with the publisher:
    portal.acm.org/citation.cfm?doid=330908.331884

  • Download this publication:  
    pointer-paper.pdf pointer-paper.pdf
    SIGCSE2000.bib SIGCSE2000.bib
    pointer-paper.html pointer-paper.html





Book Chapters


  Distributed Resource Allocation with Scalable Crash Containment.

  2004 [more]
ETDs Icon
  • Citation:
    Scott M. Pike, "Distributed Resource Allocation with Scalable Crash Containment." Ph.D. Dissertation (2004) at the Ohio State University, Department of Computer Science & Engineering, 154 pages.
  • Abstract:
    This thesis describes theoretical and practical contributions to isolating partial failures in distributed systems to small, local neighborhoods of impact. Specifically, we develop scalable techniques for minimizing the impact of crash faults in a broad class of static resource allocation problems. Our particular lens of investigation focuses on the generalized dining philosophers problem as a fundamental abstraction for distributed resource allocation. Within this domain of inquiry, we construct fault-tolerant algorithms that restrict the scope of failures precipitated by crash faults. Additionally, we prove impossibility results for our techniques and optimality results for our constructions under different models of mutual exclusion and process synchronization. An overarching theme of our work is the central role of locality (and the limitations imposed by local knowledge) in the construction of scalable algorithms supporting the survivability and availability of distributed systems from a global perspective.
  • Publisher: ETD
  • Link to copy of this pubilcation on file with the publisher:
    www.ohiolink.edu/etd/view.cgi?osu1092857584

  • Download this publication:  
    smpike.bib smpike.bib
    dissertation.pdf dissertation.pdf




  Toward a Normative Theory for Component-Based System Design and Analysis.

  2000 [more]
Cambridges Icon
  • Citation:
    David S. Gibson, Bruce W. Weide, Scott M. Pike, Stephen H. Edwards, "Toward a Normative Theory for Component-Based System Design and Analysis." in Foundations of Component-Based Systems, G.T. Leavens and M. Sitaraman, eds., Cambridge University Press, 2000, pp. 211-230.Citations: [1]
  • Abstract:
  • Publisher: Cambridge
  • Link to copy of this pubilcation on file with the publisher:
    www.cambridge.org/uk/catalogue/catalogue.asp?isbn=0521771641



Workshop Papers


  Encapsulating Concurrency as an Approach to Unification

  2004 [more]
ACMs Icon
  • Citation:
    Santosh Kumar, Bruce W. Weide, Paolo A.G. Sivilotti, Nigamanth Sridhar, Jason O. Hallstrom, and Scott M. Pike, "Encapsulating Concurrency as an Approach to Unification" in Proceedings of the Third Workshop on Specification and Verification of Component-Based Systems (SAVCBS), co-located with FSE 2004.
  • Abstract:
    We extend traditional techniques for sequential specifcation and verifcation to systems involving intrinsically concurrent activities. Our approach uses careful design of component specifcations to encapsulate inherent concurrency, and hence isolate clients from associated verifcation concerns. The approach has three parts: (i) relational specifcations to capture the interleaved effects of concurrent threads of execution, (ii) intermediate components to support a client's view of being the only active thread of computation, and (iii) a new specifcation clause to express requirements on a client's future behavior. We illustrate these ideas, and discuss their merits, in the context of a case study specifed using RESOLVE.
  • Publisher: ACM
  • Link to copy of this pubilcation on file with the publisher:

  • Download this publication:  
    KumarSAVCBS2004.ppt KumarSAVCBS2004.ppt
    Unification.pdf Unification.pdf
    Unification.ps Unification.ps




  Why Swapping?

  2002 [more]
Nones Icon
  • Citation:
    Bruce W. Weide, Scott M. Pike, and Wayne D. Heym, "Why Swapping?" in Proceedings of the RESOLVE Workshop 2002, pp. 72-79. Citations: [1] [2] [3] [4]
  • Abstract:
    An analysis of the pros and cons of all options available for the built-in data movement operator in imperative languages shows that the swap operator is the best choice, while the assignment operator is the worst.
  • Publisher: None
  • Link to copy of this pubilcation on file with the publisher:

  • Download this publication:  
    RESOLVE2002.pdf RESOLVE2002.pdf
    Weide2.html Weide2.html
    RESOLVE2002.bib RESOLVE2002.bib




  Iterators Reconsidered

  2002 [more]
Nones Icon
  • Citation:
    Jason O. Hallstrom, Scott M. Pike, and Nigamanth Sridhar, "Iterators Reconsidered" in Proceedings of the Fifth ICSE Workshop on Component-Based Software Engineering.
  • Abstract:
    Software developers are eager to increase the scale of their software products at a rate proportional to the growth of computing resources. With memory, bandwidth, and computing power doubling roughly every eighteen months, development approaches that are not based on compositional reasoning techniques can not be used to engineer the systems of tomorrow. The enormous scale of these projects far outstrips our ability to understand them using ad-hoc approaches. Industry best practice recognizes the importance of component reuse, but the emphasis is weighted heavily on the reuse of component code, often times neglecting the need to reuse the effort that went into understanding the component's behavior. That is, any scalable software engineering discipline must provide mechanisms for reusing software components, as well as mechanisms for reusing the reasoning effort required to use those components. This paper examines the Iterator pattern with regard to compositional reasoning. The approach, touted as industry best practice, is shown to provide ample opportunity for breaking the principles of encapsulation. These various hazards are briefly described, and several techniques for ensuring safe use of the pattern are explored.
  • Publisher: None
  • Link to copy of this pubilcation on file with the publisher:

  • Download this publication:  
    Iterators.pdf Iterators.pdf
    Iterators.ps Iterators.ps
    ICSE2002.bib ICSE2002.bib




  Binary Trees: A Challenge Problem for Separating Concerns

  2001 [more]
Nones Icon
  • Citation:
    Scott M. Pike, "Binary Trees: A Challenge Problem for Separating Concerns," in Proceedings of the ICSE 2001 Workshop on Advanced Separation of Concerns in Software Engineering, pp. 99-101.
  • Abstract:
    The explosive growth in hardware performance over the last 50 years has buttressed a belief in Moore’s Law that storage, bandwidth, and computing power will double approximately every 18 months. This unparalleled rate of progess in hardware technology has fueled an ever-growing industry of software applications. Unfortunately, the scale of current software has outpaced the development of tools and technologies for bringing software complexity within the tractable range of our limited human intellect. Research in separation of concerns has addressed this problem on many fronts, but it stands in need of challenge problems to motivate and evaluate new and existing approaches. This position paper outlines a formidable set of cross-cutting concerns pertaining to binary trees. The centrality of this data structure in diverse and conflicting application domains makes it an ideal challenge problem for current research.
  • Publisher: None
  • Link to copy of this pubilcation on file with the publisher:
    www.research.ibm.com/hyperspace/workshops/icse2001/papers-index.htm

  • Download this publication:  
    binarytree.pdf binarytree.pdf
    binarytree.ps binarytree.ps
    ICSE2001.bib ICSE2001.bib




Total Number of Publications: 13
publication admin

Last Modified: Mon Jul 21 11:14:57 BST 2008
© Scott M. Pike (some rights reserved...)     My Erdös Number | Copyright | Site Map | Contact | About