Which Method-Stereotype Changes Are Indicators of Code Smells?

Total Page:16

File Type:pdf, Size:1020Kb

Which Method-Stereotype Changes Are Indicators of Code Smells? Rochester Institute of Technology RIT Scholar Works Presentations and other scholarship Faculty & Staff Scholarship 9-23-2018 Which Method-Stereotype Changes are Indicators of Code Smells? Michael J. Decker Bowling Green State University Christian D. Newman Rochester Institute of Technology Natalia Dragan Kent State University Michael L. Collard The University of Akron Johnathan I. Maletic Kent State University See next page for additional authors Follow this and additional works at: https://scholarworks.rit.edu/other Recommended Citation M. J. Decker, C. D. Newman, N. Dragan, M. L. Collard, J. I. Maletic and N. A. Kraft, "[Research Paper] Which Method-Stereotype Changes are Indicators of Code Smells?," 2018 IEEE 18th International Working Conference on Source Code Analysis and Manipulation (SCAM), Madrid, 2018, pp. 82-91, doi: 10.1109/ SCAM.2018.00017 This Conference Paper is brought to you for free and open access by the Faculty & Staff Scholarship at RIT Scholar Works. It has been accepted for inclusion in Presentations and other scholarship by an authorized administrator of RIT Scholar Works. For more information, please contact [email protected]. Authors Michael J. Decker, Christian D. Newman, Natalia Dragan, Michael L. Collard, Johnathan I. Maletic, and Nicholas A. Kraft This conference paper is available at RIT Scholar Works: https://scholarworks.rit.edu/other/959 Which Method-Stereotype Changes are Indicators of Code Smells? Michael J. Decker Christian D. Newman Natalia Dragan Department of Computer Science Department of Software Engineering Departmnet of Management and Information Bowling Green State University Rochester Institute of Technology Systems Bowling Green, OH, USA Rochester, NY, USA Kent State University, Kent, OH, USA [email protected] [email protected] [email protected] Michael L. Collard Jonathan I. Maletic Nicholas A. Kraft Department of Computer Science Department of Computer Science ABB Corborate Research The University of Akron Kent State University Raleigh, NC, USA Akron, OH, USA Kent, OH, USA [email protected] [email protected] [email protected] Abstract— A study of how method roles evolve during the and the system as a whole. A number of researchers have lifetime of a software system is presented. Evolution is examined leveraged stereotypes for various applications by analyzing when the stereotype of a method changes. [9][10][11][12][13][14]. Two simple examples of stereotypes Stereotypes provide a high-level categorization of a method’s are accessor (e.g. getter) and mutator (e.g. setter). Accessor behavior and role, and also provide insight into how a method methods allow for information to be read from an object while interacts with its environment and carries out tasks. The study preventing modification of the object. Mutator methods allow covers 50 open-source systems and 6 closed-source systems. one to modify the state of an object. In the next section, we Results show that method behavior with respect to stereotype is present a complete set of stereotypes and definitions. highly stable and constant over time. Overall, out of all the history In the work presented here, we are interested in how the examined, only about 10% of changes to methods result in a stereotype of a particular method changes during the lifetime of change in their stereotype. Examples of methods that change stereotype are further examined. A select number of these types a system. In particular, we want to determine if a method’s of changes are indicators of code smells. stereotype changes often or rarely. What types of changes in stereotype are most common? Are some types of these changes Keywords—method stereotypes, software change, software hazardous? Or innocuous? Our goal is to determine what is the evolution, code smells, empirical norm, with regards to changes in stereotype, so we may let developers and project managers know when something is abnormal, and thus potentially a problem. I. INTRODUCTION To this end, we have undertaken an empirical study of the A typical, non-trivial, software system is in a constant state complete version history of 50 open-source C++ systems. This of evolution over its lifetime [1]. At points in this lifetime, its provides us with almost 1.4 million changes to methods. We design may degrade or be broken by the evolutionary change. also separately examined 6 closed-source systems with nearly This eventually requires developers to spend time redesigning 54K changes to methods. Each of the methods that change are parts (or the entirety) of the system. Code smells [2][3] are one examined over time and what happened to their (automatically indicator of poor design or design degradation. Thus, there is computed) stereotype is recorded. Our first goal is to examine research examining ways to automatically identify certain code the stability of method stereotypes during evolution. That is, do smells with the goal of warning users when a system’s design is method stereotypes change as methods change? potentially degrading [4][5][6]. Our second goal is to determine what types of changes from The work presented here takes a similar approach. That is, one stereotype to another stereotype are potentially hazardous. we are trying to understand what types of changes to a system Intuitively, a method should not change drastically from its are potentially hazardous to the design. Here, we are specifically original intent. If there is a drastic change in its role and/or interested in how individual methods change over time. While behavior this may be an indication of a problem. However, a change to an individual method will not typically degrade a clearly systems do evolve and the role of methods must evolve system’s design, changes to large sets of methods can. Hence, in some manner. There may also be changes that fix poor we empirically investigate and propose a relatively simple designs and these types of changes may be reflected in the abstraction and lightweight approach that indicates when a stereotype of a method. We seek to answer the following change is a potential problem. research questions: The granularity of change we are examining is at the level of • RQ1: Is a method’s stereotype stable as it evolves? a method. The abstraction we are using is the idea of method • RQ2: What types of method-stereotype changes occur? stereotypes [7][8]. Method stereotypes represent a rich • RQ3: Which method-stereotype changes are benign or abstraction of the role and behavior of a method within its class suspicious? XXX-X-XXXX-XXXX-X/XX/$XX.00 ©20XX IEEE To answer these questions, we perform three separate types identify non_const_get methods which, unlike a get method, can of analysis. First, we analyze stereotype changes in terms of the additionally mutate an object’s state (i.e., can have an additional change in behavior they represent and the consequences they stereotype from the Structural Mutator category). An alternative have on the source code. Then, we perform an empirical tool for stereotype identification [8] that works only for Java investigation on 50 open-source software systems. Finally, we programs is also available but appears to be less robust than finish with a manual investigation of method-stereotype StereoCode, hence the use of StereoCode. changes. We also examine 6 closed-source systems to see if the results are similar to the open-source code. The contributions of TABLE I. METHOD STEREOTYPE TAXONOMY. EACH STEREOTYPE this work are as follows: CATEGORY IS LISTED WITH ITS SET OF STEREOTYPES. • An empirical study that demonstrates that the stereotype Stereotype Stereotype Description of a method is very stable as it evolves within a system. Category • A set of defined stereotype transitions and their get Returns a data member. Returns Boolean value that is potential impact on a system’s design. predicate not a data member. Structural • A manual evaluation of potentially problematic Returns info about data Accessor property stereotype transitions. members. Returns information via a The paper is organized as follows. In Section II, we discuss void-accessor method stereotypes in detail. In Section III we discuss our parameter. set Sets a data member. motivation for investigating stereotype stability. In Section IV, Structural command Performs a complex change to we discuss the stability of method stereotypes and introduce a Mutator non-void-command the object’s state. taxonomy of method-stereotype changes. In Section V, we constructor, discuss how we collect data for an empirical and manual copy-constructor, Creates and/or destroys Creational investigation. In Section VI, we present the results of an destructor, objects. empirical and manual investigation of the method stereotypes factory and relate it to the taxonomy. Finally, in Sections VII and VIII, Works with objects the threats to validity and conclusion are provided. collaborator (parameter, local or return Collaborational value). Changes only an external II. METHOD STEREOTYPES controller object’s state (not this). We now provide a brief introduction to method stereotypes. Does not read/change the The work of Dragan et al. [7] [15][16] introduces a taxonomy incidental object’s state. No calls to for method stereotypes, which we show in TABLE I. A method other class methods. Degenerate Does not read/change the stereotype concisely represents behavioral aspects of a method. stateless object’s state. One call to Method stereotypes are separated into five broad categories: other class methods. Structural Accessors – query the state of an object on which it is empty Has no statements. called; Structural Mutators – modify the state of an object on which it is called; Creational – create/provide new objects; III. MOTIVATION AND RELATED WORK Collaborational – work on objects pertaining to classes other Method stereotypes have been shown to be a useful and than itself; and Degenerate – no use of the object’s state and powerful abstraction of a method’s role and behavior.
Recommended publications
  • Springer Top Titles in Natural Sciences & Engineering
    ABC springer.com Springer Top Titles in Natural Sciences & Engineering New Book Information FIRST QUARTER 2013 ABC springer.com Available The Reorientation of Higher Education ISBN 978-94-007-5847-6 Challenging the East-West Dichotomy 2013. IX, 314 p. 5 illus. (CERC Studies B. Adamson, Hong Kong Institute of Education, China; J. Nixon, University of Sheffield, UK; in Comparative Education, Volume 31) F. Su, Liverpool Hope University, UK (Eds) Hardcover Features 7 € 129,95 | £117.00 7 Focusses on the nature of, and conditions necessary for, the transformation 7 * € (D) 139,05 | € (A) 142,94 | sFr 173,00 of higher education Bookstore Location 7 Exemplifies the complexities of the process of institutional change across Education regional, national and continental divides 7 Challenges the notion of an East-West dichotomy in institutional Fields of interest repositionings International and Comparative Education; Higher Education; Educational Policy and This book presents accounts of the repositioning of higher education institutions across a range Politics of contexts in the East and the West. It argues that global governance, institutional organisation and academic practice are complementary elements within the process of institutional Target groups repositioning. While systems, institutions and individuals in the different contexts are subjected Research to similar global trends and pressures, the reorientation of higher education takes diverse forms Product category as a result of the particularities of those contexts. That reorientation cannot be explained in terms of East-West dichotomies and divisions, but only with reference to the interflow across and Contributed volume within systems. Globalisation necessitates complex interconnectivities of regionality, culture and geopolitics that this book explores in relation to specific cases and contexts.
    [Show full text]
  • Re-Purposing Commercial Entertainment Software for Military Use
    Calhoun: The NPS Institutional Archive Theses and Dissertations Thesis Collection 2000-09 Re-purposing commercial entertainment software for military use DeBrine, Jeffrey D. Monterey, California. Naval Postgraduate School http://hdl.handle.net/10945/26726 HOOL NAV CA 9394o- .01 NAVAL POSTGRADUATE SCHOOL Monterey, California THESIS RE-PURPOSING COMMERCIAL ENTERTAINMENT SOFTWARE FOR MILITARY USE By Jeffrey D. DeBrine Donald E. Morrow September 2000 Thesis Advisor: Michael Capps Co-Advisor: Michael Zyda Approved for public release; distribution is unlimited REPORT DOCUMENTATION PAGE Form Approved OMB No. 0704-0188 Public reporting burden for this collection of information is estimated to average 1 hour per response, including the time for reviewing instruction, searching existing data sources, gathering and maintaining the data needed, and completing and reviewing the collection of information. Send comments regarding this burden estimate or any other aspect of this collection of information, including suggestions for reducing this burden, to Washington headquarters Services, Directorate for Information Operations and Reports, 1215 Jefferson Davis Highway, Suite 1204, Arlington, VA 22202-4302, and to the Office of Management and Budget, Paperwork Reduction Project (0704-0188) Washington DC 20503. 1 . AGENCY USE ONLY (Leave blank) 2. REPORT DATE REPORT TYPE AND DATES COVERED September 2000 Master's Thesis 4. TITLE AND SUBTITLE 5. FUNDING NUMBERS Re-Purposing Commercial Entertainment Software for Military Use 6. AUTHOR(S) MIPROEMANPGS00 DeBrine, Jeffrey D. and Morrow, Donald E. 8. PERFORMING 7. PERFORMING ORGANIZATION NAME(S) AND ADDRESS(ES) ORGANIZATION REPORT Naval Postgraduate School NUMBER Monterey, CA 93943-5000 9. SPONSORING / MONITORING AGENCY NAME(S) AND ADDRESS(ES) 10. SPONSORING/ Office of Economic & Manpower Analysis MONITORING AGENCY REPORT 607 Cullum Rd, Floor IB, Rm B109, West Point, NY 10996-1798 NUMBER 11.
    [Show full text]
  • Beginning Game Development with Python and Pygame from Novice to Professional
    8725.book Page i Wednesday, September 26, 2007 8:08 PM Beginning Game Development with Python and Pygame From Novice to Professional ■■■ Will McGugan 8725.book Page ii Wednesday, September 26, 2007 8:08 PM Beginning Game Development with Python and Pygame: From Novice to Professional Copyright © 2007 by Will McGugan All rights reserved. No part of this work may be reproduced or transmitted in any form or by any means, electronic or mechanical, including photocopying, recording, or by any information storage or retrieval system, without the prior written permission of the copyright owner and the publisher. ISBN-13 (pbk): 978-1-59059-872-6 ISBN-10 (pbk): 1-59059-872-5 Printed and bound in the United States of America 9 8 7 6 5 4 3 2 1 Trademarked names may appear in this book. Rather than use a trademark symbol with every occurrence of a trademarked name, we use the names only in an editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the trademark. Lead Editor: Jason Gilmore Technical Reviewer: Richard Jones Editorial Board: Steve Anglin, Ewan Buckingham, Tony Campbell, Gary Cornell, Jonathan Gennick, Jason Gilmore, Kevin Goff, Jonathan Hassell, Matthew Moodie, Joseph Ottinger, Jeffrey Pepper, Ben Renow-Clarke, Dominic Shakeshaft, Matt Wade, Tom Welsh Project Manager: Kylie Johnston Copy Editor: Liz Welch Assistant Production Director: Kari Brooks-Copony Production Editor: Kelly Winquist Compositor: Pat Christenson Proofreader: Erin Poe Indexer: Becky Hornyak Cover Designer: Kurt Krames Manufacturing Director: Tom Debolski Distributed to the book trade worldwide by Springer-Verlag New York, Inc., 233 Spring Street, 6th Floor, New York, NY 10013.
    [Show full text]
  • Guide 2020 Games from Spain
    GUIDE GAMES 2020 FROM SPAIN Message from the CEO of ICEX Spain Trade and Investment Dear reader, We are proud to present the new edition of our “Guide to Games from Spain”, a publication which provides a complete picture of Spain’s videogame industry and highlights its values and its talent. This publication is your ultimate guide to the industry, with companies of various sizes and profiles, including developers, publishers and services providers with active projects in 2020. GAMES Games from Spain is the umbrella brand created and supported by ICEX Spain Trade and Investment to promote the Spanish videogame industry around the globe. You are cordially invited to visit us at our stands at leading global events, such us Game Con- nection America or Gamescom, to see how Spanish videogames are playing in the best global production league. Looking forward to seeing you soon, ICEX María Peña SPAIN TRADE AND INVESTMENT ICT AND DIGITAL CONTENT DEPARTMENT +34 913 491 871 [email protected] www.icex.es GOBIERNO MINISTERIO DE ESPAÑA DE INDUSTRIA, COMERCIO Y TURISMO EUROPEAN REGIONAL DEVELOPMENT FUND A WAY TO MAKE EUROPE GENERAL INDEX ICEX | DISCOVER GAMES FROM SPAIN 6 SPANISH VIDEOGAME INDUSTRY IN FIGURES 8 INDEX 10 DEVELOPERS 18 PUBLISHERS 262 SERVICES 288 DISCOVER www.gamesfromspain.com GAMES FROM SPAIN Silvia Barraclough Head of Videogames Animation and VR/AR ICEX, Spain Trade and Investment in collaboration with [email protected] DEV, the Spanish association for the development and +34 913 491 871 publication of games and entertainment software, is proud to present its Guide to Games from Spain 2020, the perfect way to discover Spanish games and com- panies at a glance.
    [Show full text]
  • Pipenightdreams Osgcal-Doc Mumudvb Mpg123-Alsa Tbb
    pipenightdreams osgcal-doc mumudvb mpg123-alsa tbb-examples libgammu4-dbg gcc-4.1-doc snort-rules-default davical cutmp3 libevolution5.0-cil aspell-am python-gobject-doc openoffice.org-l10n-mn libc6-xen xserver-xorg trophy-data t38modem pioneers-console libnb-platform10-java libgtkglext1-ruby libboost-wave1.39-dev drgenius bfbtester libchromexvmcpro1 isdnutils-xtools ubuntuone-client openoffice.org2-math openoffice.org-l10n-lt lsb-cxx-ia32 kdeartwork-emoticons-kde4 wmpuzzle trafshow python-plplot lx-gdb link-monitor-applet libscm-dev liblog-agent-logger-perl libccrtp-doc libclass-throwable-perl kde-i18n-csb jack-jconv hamradio-menus coinor-libvol-doc msx-emulator bitbake nabi language-pack-gnome-zh libpaperg popularity-contest xracer-tools xfont-nexus opendrim-lmp-baseserver libvorbisfile-ruby liblinebreak-doc libgfcui-2.0-0c2a-dbg libblacs-mpi-dev dict-freedict-spa-eng blender-ogrexml aspell-da x11-apps openoffice.org-l10n-lv openoffice.org-l10n-nl pnmtopng libodbcinstq1 libhsqldb-java-doc libmono-addins-gui0.2-cil sg3-utils linux-backports-modules-alsa-2.6.31-19-generic yorick-yeti-gsl python-pymssql plasma-widget-cpuload mcpp gpsim-lcd cl-csv libhtml-clean-perl asterisk-dbg apt-dater-dbg libgnome-mag1-dev language-pack-gnome-yo python-crypto svn-autoreleasedeb sugar-terminal-activity mii-diag maria-doc libplexus-component-api-java-doc libhugs-hgl-bundled libchipcard-libgwenhywfar47-plugins libghc6-random-dev freefem3d ezmlm cakephp-scripts aspell-ar ara-byte not+sparc openoffice.org-l10n-nn linux-backports-modules-karmic-generic-pae
    [Show full text]
  • Strategies for Rapidly Developing Plasma Chemistry Models*
    STRATEGIES FOR RAPIDLY DEVELOPING PLASMA CHEMISTRY MODELS* Mark J. Kushner University of Illinois Dept. of Electrical and Computer Engineering Urbana, IL, 61801, USA October 1999 * Work supported by NSF, SRC and AFOSR/DARPA GEC99A22 AGENDA · Complex plasma chemistries for microelectronics fabrication · What should you do if tasked with rapidly assessing a new chemistry? · Components of your toolbox · Sources of data · If you must estimate or guess.... · Examples of rapidly assessed chemistries · Concluding remarks University of Illinois Optical and Discharge Physics GEC99A24 COMPLEX PLASMA CHEMISTRIES · Complex plasma chemistries for etching and deposition processes are everyday occurances in microelectronics fabrication. · It is not unusual to have 4 or 5 component gas mixtures. (e.g., Ar/Cl2/BCl3/N2/HBr) · During a plasma etching process, it is not unusual for there to be 2-4 "recipe" changes. BREAK THROUGH MAIN ETCH OVER ETCH (NON-SELECTIVE (RAPID, (HIGH SELECTIVITY) ISOTROPIC) ANISOTROPIC) Native Oxide p-Si p-Si p-Si SiO2 SiO2 SiO2 · Recipe changes are different values of, for example, power, pressure, flow rate or gas mixture to address beginning, middle and end of the etch. University of Illinois Optical and Discharge Physics GEC99A23 COMPLEX PLASMA CHEMISTRIES · Most plasma processing tools have multiple chambers in which different chemistries (e.g., etch followed by clean) are used. University of Illinois Optical and Discharge Physics GEC99A23 SCENARIO: QUICK EVALUATION OF A NEW PROCESS · You work for a semiconductor equipment manufacturer. Your boss tasks you with computationally evaluating a newly proposed process. You are given 3 days to complete the job. · What should you have done in preparation for this request? · What should you ask before starting the job? · What is the procedure you should follow to fulfill the request? University of Illinois Optical and Discharge Physics GECA9901 BEFORE YOU WERE TASKED: A TOOLBOX · In preparation of your task, you should have assembled a flexible computational toolbox.
    [Show full text]
  • Game Engine Manual Game Engine Manual
    Game Engine Manual Game Engine Manual ©1998 Neale Davidson For the GEM System and Scrolls of Virtue Revised Edition Page 1 Game Engine Manual Welcome much on this pet project of mine. I’m very thankful for a loving and supportive family. Without them, Welcome to the second major version of the Game this would have never been possible. Engine Manual. It’s been an interesting road so far. Response to the game has been great, much more Lastly, I want to thank my father for showing me than I expected. I want to start off by thanking that through determination and perseverance, everyone who wrote to me about the game, and anything you want to accomplish can be thank them again for their kind words. accomplished. In the two years since GEM was first put together, Sincerely I’ve been making a number of small and subtle Neale Davidson changes. There’ve been some requests that were put in, and some streamlining of things that were a Introduction to role-playing bit clunky before. Most of these things were subtle and minor, but they started to build up. After so If you’re reading this, then you have an interest in long, it became obvious that a slight revamp of the role-playing games. This can be an exciting and system was needed. fulfilling hobby, and we hope that you find as much enjoyment from it as we have. We would also like If you’ve played the earlier version of the GEM, to thank you for picking up the Game Engine you’ll instantly notice that several things are missing Manual, or GEM.
    [Show full text]
  • CPP Strategic Plan Everyone Was Excited About Their Own Area of Research and Wanted It to Continue and Be Represented in the CPP Strategic Plan
    A Community Plan for Fusion Energy and Discovery Plasma Sciences Report of the 2019–2020 American Physical Society Division of Plasma Physics Community Planning Process A Community Plan for Fusion Energy and Discovery Plasma Sciences Chairs Scott Baalrud University of Iowa Nathaniel Ferraro Princeton Plasma Physics Laboratory Lauren Garrison Oak Ridge National Laboratory Nathan Howard Massachusetts Institute of Technology Carolyn Kuranz University of Michigan John Sarff University of Wisconsin-Madison Earl Scime (emeritus) West Virginia University Wayne Solomon General Atomics Magnetic Fusion Energy Fusion Materials and Technology Ted Biewer, ORNL John Caughman, ORNL Dan Brunner, CFS David Donovan, UT Knoxville Cami Collins, General Atomics Karl Hammond, U Missouri Brian Grierson, PPPL Paul Humrickhouse, INL Walter Guttenfelder, PPPL Robert Kolasinski, Sandia Chris Hegna, U Wisconsin-Madison Ane Lasa, UT Knoxville Chris Holland, UCSD Richard Nygren, Sandia Jerry Hughes, MIT Wahyu Setyawan, PNNL Aaro Järvinen, LLNL George Tynan, UCSD Richard Magee, TAE Steven Zinkle, UT Knoxville Saskia Mordijck, William & Mary Craig Petty, General Atomics High Energy Density Physics Matthew Reinke, ORNL Alex Arefiev, UCSD Uri Shumlak, U Washington Todd Ditmire, UT Austin Forrest Doss, LANL General Plasma Science Johan Frenje, MIT Daniel Den Hartog, U Wisconsin-Madison Cliff Thomas, UR/LLE Dan Dubin, UCSD Arianna Gleason, Stanford/SLAC Hantao Ji, Princeton Stephanie Hansen, Sandia Yevgeny Raitses, PPPL Louisa Pickworth, LLNL Dan Sinars, Sandia Jorge Rocca, Colorado State David Schaffner, Bryn Mawr College Derek Schaeffer, Princeton Steven Shannon, NC State Sean Finnegan, LANL Stephen Vincena, UCLA Figure 1. Artwork by Jennifer Hamson LLE/University of Rochester, concept by Dr. David Schaffner, Bryn Mawr College Preface This document is the final report of the Community Planning Process (CPP) that describes a comprehensive plan to deliver fusion energy and to advance plasma science.
    [Show full text]
  • Game-Like Environments for Nuclear Engineering Education Using GECK
    Proceedings of the 1st International Nuclear and Renewable Energy Conference (INREC10), Amman, Jordan, March 21-24, 2010 Game-Like Environments for Nuclear Engineering Education using GECK Carl Rytych, Lewis Conley, Hsingtzu Wu, Rizwan-uddin Department of Nuclear, Plasma, and Radiological Engineering University of Illinois at Urbana Champaign, Urbana, IL 61801 USA [email protected] game engines have different desirable features, GECK, for example, has built-in dosimeter feature. Another game engine, ABSTRACT Unreal Engine III, also is being used to develop training models, Computer games have an enormous potential to grab the and the results are reported in an accompanying paper [6]. In this undivided attention of kids ranging from 13 to 23 years of age. paper, we report a virtual reactor scenario developed using the This paper explores a new game engine called Garden of Eden GECK. Several levels have been built in this scenario. A player Creation Kit (GECK) to enhance teaching and content retention of gains knowledge as well as wins points as he or she goes through some concepts in nuclear reactor engineering. Game engine these levels step by step. technology commonly used to develop computer and video games can be used to model and simulate 3-D interactive educational 2. DEVELOPMENTAL PLATFORMS games with the help of custom-made packages and/or using well- known programming language. Specifically, some of the built-in The GECK comes with the PC version of the game, Fallout 3, features of the game engine are exploited to boost interactivity. which was developed by Bethesda Game Studios and came out in The developed game reported here is aimed at providing October 2008 [7].
    [Show full text]
  • Quake III Arena This Page Intentionally Left Blank Focus on Mod Programming for Quake III Arena
    Focus on Mod Programming for Quake III Arena This page intentionally left blank Focus on Mod Programming for Quake III Arena Shawn Holmes © 2002 by Premier Press, a division of Course Technology. All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means, elec- tronic or mechanical, including photocopying, recording, or by any information stor- age or retrieval system without written permission from Premier Press, except for the inclusion of brief quotations in a review. The Premier Press logo, top edge printing, and related trade dress are trade- marks of Premier Press, Inc. and may not be used without written permis- sion. All other trademarks are the property of their respective owners. Publisher: Stacy L. Hiquet Marketing Manager: Heather Hurley Managing Editor: Sandy Doell Acquisitions Editor: Emi Smith Series Editor: André LaMothe Project Editor: Estelle Manticas Editorial Assistant: Margaret Bauer Technical Reviewer: Robi Sen Technical Consultant: Jared Larson Copy Editor: Kate Welsh Interior Layout: Marian Hartsough Cover Design: Mike Tanamachi Indexer: Katherine Stimson Proofreader: Jennifer Davidson All trademarks are the property of their respective owners. Important: Premier Press cannot provide software support. Please contact the appro- priate software manufacturer’s technical support line or Web site for assistance. Premier Press and the author have attempted throughout this book to distinguish proprietary trademarks from descriptive terms by following the capitalization style used by the manufacturer. Information contained in this book has been obtained by Premier Press from sources believed to be reliable. However, because of the possibility of human or mechanical error by our sources, Premier Press, or others, the Publisher does not guarantee the accuracy, adequacy, or completeness of any information and is not responsible for any errors or omissions or the results obtained from use of such information.
    [Show full text]
  • IUPUI Student Research & Engagement Day Abstract Book
    IUPUI Student Research & Engagement Day Abstract Book A Effect of Mechanical Loading on Osteoblasts in vitro Sabria A. Abufares1, John Damrath23, Joseph M. Wallace1 1Department of Biomedical Engineering, Purdue School of Engineering & Technology, Indiana University-Purdue University Indianapolis; 2IU School of Medicine; 3Weldon School of Biomedical Engineering Mechanical loading has been shown to stimulate changes within bone structure, often characterized by collagen production and mineralization. A staple when studying bone, mechanical loading is most often done with whole bones on a holistic scale. Comparatively, little is understood on the microscale of the immediate response bone cells have when stimulated by mechanical loading. Cyclic loading causes fatigue in whole bone, accumulating microcracks that can result in catastrophic failure often seen in patients with degenerative bone diseases such as osteoporosis imperfecta (OI). While cyclic loading has the capability to fracture whole bone, it can lead to a formative response by modeling or remodeling the bone tissue. By studying the immediate pathways that are activated by a mechanical load, the knowledge bank on the cellular response can be expanded. Cyclic loading was done on murine bone cells to understand the immediate action that bone cells have in response to mechanical stimulation. In this study the Flexcell 5000 was used, radially stretching the cell substrate to 10% strain for 600 sinusoidal cycles over a 20-minute period and compared to plated but unstretched bone cells. Pronectin-coated 6-well plates were also used to identify how the extracellular matrix may play a role in cellular expression. After cyclic loading, the cell signals were then quantified using q-PCR.
    [Show full text]
  • Playing with the Sun: a Virtual Physics Experience for Nuclear Fusion Experimentation and Learning
    Playing with the Sun: A Virtual Physics Experience for Nuclear Fusion Experimentation and Learning Helena Lennholm Eike Falk Anderson The National Centre for Computer Animation Bournemouth University, United Kingdom Email: [email protected] [email protected] Abstract—Nuclear fusion has the potential to become an used a serious game that had been developed by Eindhoven important energy source in the future, so we propose a virtual University of Technology “to instruct high-school students on physics experience for learning about nuclear fusion and plasma electrical engineering” [4], Carr et al. created a version of physics with an interactive fusion experiment, and then placing the user inside the experiment and letting them run and control the classic arcade game Asteroids that employs a relativistic this. Implemented using Unreal Engine 4, users can manipulate physics engine, providing different game modes, both emu- parameters of the experiment in real-time with immediate visual lating the classical Asteroids by calculating “the motions of results in the form of the shape and colour glow of the virtual objects under the laws of Classical mechanics, and the other plasma, resembling that of a real plasma. with the laws of Relativistic mechanics” to teach Einstein’s Index Terms—virtual physics experience, computer games technology, edutainment, nuclear fusion, tokamak Theory of Relativity [5], and Lin and Chiou modified a commercial game to convey Newton’s Second Law of Motion [6]. Du et al. created a sandbox-game-like virtual environment I. INTRODUCTION for simple motion and collision experiments [7], and Hu et al. Computer Games, Virtual Reality (VR) and Augmented created a virtual game environment hosting electromagnetism Reality (AR), among other things, have the power to allow experiments [8].
    [Show full text]