Impact Analysis for Aspectj

Total Page:16

File Type:pdf, Size:1020Kb

Impact Analysis for Aspectj May 30, 2007 Impact Analysis for AspectJ A Critical Analysis and Tool-Based Approach to AOP Dissertation Maximilian Störzer Eingereicht an der Fakultät für Informatik und Mathematik der Universität Passau Abstract Aspect-Oriented Programming (AOP) has been promoted as a solution for modularization problems known as the tyranny of the dominant decomposition in literature. However, when analyzing AOP languages it can be doubted that uncontrolled AOP is indeed a silver bullet. The contributions of the work presented in this thesis are twofold. First, we critically an- alyze AOP language constructs and their effects on program semantics to sensitize program- mers and researchers to resulting problems. We further demonstrate that AOP—as available in AspectJ and similar languages—can easily result in less understandable, less evolvable, and thus error prone code—quite opposite to its claims. Second, we examine how tools relying on both static and dynamic program analysis can help to detect problematical usage of aspect-oriented constructs. We propose to use change impact analysis techniques to both automatically determine the impact of aspects and to deal with AOP system evolution. We further introduce an analysis technique to detect potential semantical issues related to undefined advice precedence. The thesis concludes with an overview of available open source AspectJ systems and an assessment of aspect-oriented programming considering both fundamentals of software engi- neering and the contents of this thesis. Acknowledgements My thanks goes to Prof. Dr. Gregor Snelting who accepted me as a PhD student and gave me the opportunity to follow my research interests. My thanks also goes to Prof. Dr. Barbara G Ryder (Rutgers University) and Dr. Frank Tip (IBM Research) who gave me the opportunity to participate in their Change Impact Analysis project as a visiting researcher for half a year and who provided funding during this time. I’d also like to thank all students who worked with me and by doing so contributed to this thesis. In alphabetic order, Uli Eibauer, Katrin Fehlner, Andrea Fischer, Florian Forster, Jürgen Graf, Christian Koppen, Christoph Koch, Marc Pfeffer, Michael Pisula, Michael Rank, Stefan Schöffmann, Thorsten Schühlein and, last but not least, Robin Sterr. And of course I’d like to thank my colleague Daniel Wasserrab for his support while writing this thesis. Finally my thanks goes to my parents, who financed my studies of computer science and to Carol, who was my anchor while writing this thesis. Without their support this thesis would not exist. Table of Contents 1 Introduction to AOP 1 1.1 Separation of Concerns . .1 1.1.1 Impact on Programming . .3 1.1.2 Crosscutting Concerns . .4 1.2 The Approach of Aspect-Oriented Programming . .5 1.2.1 Quantification and Obliviousness . .5 1.2.2 An Overview of AspectJ . .6 1.2.3 Aspect-Orientation—An abstract view . .8 1.3 Summary . 11 2 AOP as “Silver Bullet”? 15 2.1 Examining available Case Studies . 15 2.1.1 Aspectizing Distribution . 16 2.1.2 Aspectizing Transactions . 17 2.1.3 Error Handling . 17 2.1.4 Distribution and Persistence . 18 2.1.5 Persistence as an Aspect . 18 2.2 A Critique of AOP . 19 2.2.1 Scalability . 20 2.2.2 Evolvability . 21 2.2.3 Comprehensibility . 21 2.2.4 Reuse . 22 2.2.5 Discussion . 22 2.3 Related Work . 24 2.3.1 Modular Reasoning . 24 2.3.2 Modules in Aspect-Orientation . 26 2.3.3 Summary . 28 3 Static Crosscutting 33 3.1 Background . 33 3.2 Static Crosscutting in AspectJ . 34 3.2.1 Inter Type Declarations . 34 3.2.2 Hierarchy Modifications . 35 3.2.3 Exception Softening . 35 3.2.4 Inter Type Declarations to Interfaces . 36 3.2.5 Running Example . 39 3.3 Theoretical Foundations . 39 3.3.1 The Snelting/Tip Criterion and Statically Bound Members . 40 3.3.2 Extending Snelting/Tip for Fields and Static Methods . 41 3.4 Impact of Default Implementations . 42 3.5 Impact of Class Inter Type Declaration . 44 3.5.1 Field Inter Type Declarations . 44 iv TABLE OF CONTENTS 3.5.2 Overriding Method Inter Type Declarations . 45 3.5.3 Overloading Method Inter Type Declarations . 46 3.5.4 Noninterference Criterion . 47 3.6 Hierarchy Modifications . 49 3.6.1 Hierarchy Change Impact . 49 3.6.2 Hierarchy Modification as Composition . 51 3.6.3 Induced Hierarchy for Static Crosscutting . 51 3.7 Impact of Type Changes . 52 3.8 Finding Changed Lookups . 52 3.8.1 Deriving Lookup Changes . 53 3.8.2 Client Specific versus General Analysis . 58 3.9 An Example Analysis . 59 3.9.1 The System to Analyze . 59 3.9.2 Applying the Proposed Analysis . 59 3.10 Conclusion and Related Work . 62 3.10.1 Summary . 62 3.10.2 Related Work . 63 4 Change Impact Analysis 67 4.1 Basic Concepts of Change Impact Analysis . 67 4.1.1 Challenge of Impact Analysis . 68 4.1.2 Impact Analysis Process . 69 4.1.3 Impact Analysis Algorithms . 70 4.1.4 Change Impact Analysis in Literature . 73 4.1.5 Change Impact Analysis and AspectJ . 75 4.2 The Change Impact Analysis of Chianti . 76 4.2.1 The Change Impact Analysis of Chianti—By Example . 78 4.2.2 Formal Definitions . 81 4.3 Finding Buggy Code using JUnit/CIA . 82 4.3.1 The Scenario . 82 4.3.2 Change Classification—By Example . 84 4.3.3 Test Model and Classification . 85 4.3.4 Change Classification . 85 4.3.5 The JUnit/CIA-Prototype . 87 4.3.6 Effectiveness of Change Classifiers . 90 4.3.7 Related Work . 99 4.3.8 Conclusions and Future Work . 100 4.4 Supporting Early Release of Changes . 101 4.4.1 Early Release of Changes—Why? . 101 4.4.2 Early Release of Changes—By Example . 102 4.4.3 Tests, Changes and Dependences . 105 4.4.4 Detecting Semantic Dependences . 107 4.4.5 Conclusions and Future Work . 113 4.5 CIA for AOP . 113 4.5.1 Analysis Variants and Example . 113 4.5.2 Calculating Changes . 114 4.5.3 Aspects as Change Encodings . 117 4.5.4 Change Impact Analysis for AspectJ . 118 4.5.5 Affected Tests and Affecting Changes . 119 4.5.6 Debugging Support for AOP . 121 4.5.7 Implementation . 122 4.5.8 Evaluation . 124 TABLE OF CONTENTS v 4.5.9 Performance and Scalability . 141 4.5.10 Summary . 143 5 System Evolution 149 5.1 Pointcuts and Coupling . 149 5.1.1 Pointcuts and Aspect-Base Coupling . 150 5.1.2 The Understanding of Pointcuts . 151 5.1.3 Evolution in AO Systems . 152 5.2 Pointcut Delta Analysis . 154 5.2.1 Detecting Failures and their Reasons . 155 5.2.2 Calculating PC-Deltas . 155 5.2.3 Defining an Equality Relation for Pointcuts and Advice . 157 5.2.4 Dynamic Pointcut Designators . 158 5.3 Explaining Deltas . 160 5.3.1 New or Removed Advice . 160 5.3.2 Modified Pointcuts . 161 5.3.3 Base Code Edits . 165 5.3.4 Explained Delta Set . 166 5.3.5 Base Code Edits and Dynamic Predicates . 166 5.4 Case Studies . 166 5.4.1 AspectJ Examples . 167 5.4.2 The abc Test Suite . 171 5.4.3 Auction System . 177 5.4.4 AJHotDraw ............................... 177 5.4.5 HSQLDB ................................. 181 5.4.6 Case Studies—Conclusions . 186 5.5 Related Work . ..
Recommended publications
  • Mapping Direct Manipulation to Source Code Transformations
    Transmorphic: Mapping direct Manipulation to Source Code Transformations Robin Schreiber, Robert Krahn, Daniel H. H. Ingalls, Robert Hirschfeld Technische Berichte Nr. 110 des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam ISBN 978-3-86956-387-9 ISSN 1613-5652 Technische Berichte des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam Technische Berichte des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam | 110 Robin Schreiber | Robert Krahn | Daniel H. H. Ingalls | Robert Hirschfeld Transmorphic Mapping direct Manipulation to Source Code Transformations Universitätsverlag Potsdam Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über http://dnb.dnb.de/ abrufbar. Universitätsverlag Potsdam 2017 http://verlag.ub.uni-potsdam.de/ Am Neuen Palais 10, 14469 Potsdam Tel.: +49 (0)331 977 2533 / Fax: 2292 E-Mail: [email protected] Die Schriftenreihe Technische Berichte des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam wird herausgegeben von den Professoren des Hasso-Plattner-Instituts für Softwaresystemtechnik an der Universität Potsdam. ISSN (print) 1613-5652 ISSN (online) 2191-1665 Das Manuskript ist urheberrechtlich geschützt. Online veröffentlicht auf dem Publikationsserver der Universität Potsdam URN urn:nbn:de:kobv:517-opus4-98300 http://nbn-resolving.de/urn:nbn:de:kobv:517-opus4-98300 Zugleich gedruckt erschienen im Universitätsverlag Potsdam: ISBN 978-3-86956-387-9 Defining Graphical User Interfaces (GUIs) through functional abstractions can reduce the complexity that arises from mutable abstractions. Recent examples, such as Facebook’s React GUI framework have shown, how modelling the view as a func- tional projection from the application state to a visual representation can reduce the number of interacting objects and thus help to improve the reliabiliy of the system.
    [Show full text]
  • Infrastructure) IMS > J
    NE DO-IT-O 0 16 <i#^^0%'IW#^#^#(Hyper-Intellectual-IT Infrastructure) IMS > J TO 1 3 ¥ 3 M NEDD H»* r— • ^ ’V^^ m) 010018981-0 (Hyper-Intellectual-IT fr9, (Hyper IT) i-6Z 6 & g 1% ^ L/bo i2 NEDO-IT-0016 < (Hyper-Intel lectual-IT Infrastructure) 9H3E>J 1 3 # 3 ^ lT5fe (%) B^f-r^'a'W^ZPJf (Summary) -f — t 7-j'<7)7*0- K/O- % -y f-7-? ±K*EL/--:#<<7)->5a.v-j'^T*-j'^-7OTSmiLr1 Eft • Skit • tWs§ (Otis ti® o T S T V' £ „ Ltf' U - 7- L*{Hffi,»ftffiIBIS<7)'> 5 a. V- -> 3 >^x- ? ^-Xfijfflic-7V>TI±#<<7)*®»:C0E@»S»6L, -en<b»sili*5tL^itn(i\ *7h Ty — t’ 4-^hLfcE&tt>fc1SSSeF% • Eft • KS& k" f> $ $ & b ttv>, (1) 3>ti- (2) f -^ (3) $-y t-7-7 (4) ->i ( 5 ) 7 7 t 73H7ft#-9— fxwilttas Sti:, ±EP$t t k ic, KSUWSSiaBF^ ■ Elt ■ # ## k T-<7)FB1«6 4-$v>tti u iirn *iiM LrtlSS-S k a6* 0 (1) Hyper-IT 4 7 —-y OEE$l&teH k $l!$ (2 ) Hyper-IT -f7-y*k##<7)tbK (3) KS<7)i5tv^k (4) #@<7)SEE • IISE<7)#S (5) Hwif^silftftkn-KvyT ’tt Summary In recently years, we have broad band network and The Internet environment , using these infrastructure, we will develop knowledge co-operate manufacturing support system, which can be use various kinds of simulators and databases. But knowledge co-operate manufacturing support system has a lot of problems, such as data format, legal problems, software support system and so no.
    [Show full text]
  • Java Programming Standards & Reference Guide
    Java Programming Standards & Reference Guide Version 3.2 Office of Information & Technology Department of Veterans Affairs Java Programming Standards & Reference Guide, Version 3.2 REVISION HISTORY DATE VER. DESCRIPTION AUTHOR CONTRIBUTORS 10-26-15 3.2 Added Logging Sid Everhart JSC Standards , updated Vic Pezzolla checkstyle installation instructions and package name rules. 11-14-14 3.1 Added ground rules for Vic Pezzolla JSC enforcement 9-26-14 3.0 Document is continually Raymond JSC and several being edited for Steele OI&T noteworthy technical accuracy and / PD Subject Matter compliance to JSC Experts (SMEs) standards. 12-1-09 2.0 Document Updated Michael Huneycutt Sr 4-7-05 1.2 Document Updated Sachin Mai L Vo Sharma Lyn D Teague Rajesh Somannair Katherine Stark Niharika Goyal Ron Ruzbacki 3-4-05 1.0 Document Created Sachin Sharma i Java Programming Standards & Reference Guide, Version 3.2 ABSTRACT The VA Java Development Community has been establishing standards, capturing industry best practices, and applying the insight of experienced (and seasoned) VA developers to develop this “Java Programming Standards & Reference Guide”. The Java Standards Committee (JSC) team is encouraging the use of CheckStyle (in the Eclipse IDE environment) to quickly scan Java code, to locate Java programming standard errors, find inconsistencies, and generally help build program conformance. The benefits of writing quality Java code infused with consistent coding and documentation standards is critical to the efforts of the Department of Veterans Affairs (VA). This document stands for the quality, readability, consistency and maintainability of code development and it applies to all VA Java programmers (including contractors).
    [Show full text]
  • Command Line Interface
    Command Line Interface Squore 21.0.2 Last updated 2021-08-19 Table of Contents Preface. 1 Foreword. 1 Licence. 1 Warranty . 1 Responsabilities . 2 Contacting Vector Informatik GmbH Product Support. 2 Getting the Latest Version of this Manual . 2 1. Introduction . 3 2. Installing Squore Agent . 4 Prerequisites . 4 Download . 4 Upgrade . 4 Uninstall . 5 3. Using Squore Agent . 6 Command Line Structure . 6 Command Line Reference . 6 Squore Agent Options. 6 Project Build Parameters . 7 Exit Codes. 13 4. Managing Credentials . 14 Saving Credentials . 14 Encrypting Credentials . 15 Migrating Old Credentials Format . 16 5. Advanced Configuration . 17 Defining Server Dependencies . 17 Adding config.xml File . 17 Using Java System Properties. 18 Setting up HTTPS . 18 Appendix A: Repository Connectors . 19 ClearCase . 19 CVS . 19 Folder Path . 20 Folder (use GNATHub). 21 Git. 21 Perforce . 23 PTC Integrity . 25 SVN . 26 Synergy. 28 TFS . 30 Zip Upload . 32 Using Multiple Nodes . 32 Appendix B: Data Providers . 34 AntiC . 34 Automotive Coverage Import . 34 Automotive Tag Import. 35 Axivion. 35 BullseyeCoverage Code Coverage Analyzer. 36 CANoe. 36 Cantata . 38 CheckStyle. ..
    [Show full text]
  • Squore Acceptance Provides a Fast and High Return on Investment by Efficiently
    Acceptance SQUORE Squoring Technologies delivers an innovative decision-making dashboard dedicated to managing outsourced software development projects. Acceptance represents a key phase of every software development project, whatever the process: Acquisition or Third Party Application Maintenance. Beyond functional suitability, Acceptance must consider all software product dimensions, from quality characteristics such as Reliability, Maintainability and Performance, to work products like source code, requirements and test cases. TREND As required by the CMMI®, Supplier Management INDICATOR implies an objective and impartial assessment of these components, based on quantified measurement criteria adapted to the context and objectives of each project. Squore Acceptance provides a fast and high return on investment by efficiently: Contractualizing non- Increasing confidence Securing deployment functional, technical between customer and and operation. requirements. supplier. Defining common and Demonstrating compliance Reducing acceptance shared acceptance of deliverables with costs and efforts. criteria. quality requirements. Visit www.squore-acceptance.com Innovative features dedicated to the management of outsourced software projects. “Out-of-the-box” standardized control points, metrics and rules using best industry standards, and still customizable to fit in-house practices. Predefined software product quality models based on international standards: ISO SQuaRE 25010, ISO/IEC 9126, ECSS Quality Handbook, SQUALE . Standardized evaluation process in accordance with ISO/IEC 14598 and ISO/IEC 15939 standards. Squore covers all software product quality characteristics under a standard breakdown Quantified acceptance criteria for every type of deliverable, from requirements to documentation, via source code and test cases. Comprehensive overview of software product compliance through Key Performance Indicators and trend analysis. Unrivaled in-depth analysis where at-risk components are immediately identified, down to the most elementary function or method.
    [Show full text]
  • Best Practices in Business Instruction. INSTITUTION Delta Pi Epsilon Society, Little Rock, AR
    DOCUMENT RESUME ED 477 251 CE 085 038 AUTHOR Briggs, Dianna, Ed. TITLE Best Practices in Business Instruction. INSTITUTION Delta Pi Epsilon Society, Little Rock, AR. PUB DATE 2001-00-00 NOTE 97p. AVAILABLE FROM Delta Pi Epsilon, P.O. Box 4340, Little Rock, AR 72214 ($15). Web site: http://www.dpe.org/ . PUB TYPE Collected Works General (020) Guides Classroom Teacher (052) EDRS PRICE EDRS Price MF01/PC04 Plus Postage. DESCRIPTORS Accounting; *Business Education; Career Education; *Classroom Techniques; Computer Literacy; Computer Uses in Education; *Educational Practices; *Educational Strategies; Group Instruction; Keyboarding (Data Entry); *Learning Activities; Postsecondary Education; Secondary Education; Skill Development; *Teaching Methods; Technology Education; Vocational Adjustment; Web Based Instruction IDENTIFIERS *Best Practices; Electronic Commerce; Intranets ABSTRACT This document is intended to give business teachers a few best practice ideas. Section 1 presents an overview of best practice and a chart detailing the instructional levels, curricular areas, and main competencies addressed in the 26 papers in Section 2. The titles and authors of the papers included in Section 2 are as follows: "A Software Tool to Generate Realistic Business Data for Teaching" (Catherine S. Chen); "Alternatives to Traditional Assessment of Student Learning" (Nancy Csapo); "Applying the Principles of Developmental Learning to Accounting Instruction" (Burt Kaliski); "Collaborative Teamwork in the Classroom" (Shelia Tucker); "Communicating Statistics Measures of Central Tendency" (Carol Blaszczynski); "Creating a Global Business Plan for Exporting" (Les Dlabay); "Creating a Supportive Learning Environment" (Rose Chinn); "Developing Job Survival Skills"(R. Neil Dortch); "Engaging Students in Personal Finance and Career Awareness Instruction: 'Welcome to the Real World!'" (Thomas Haynes); "Enticing Students to Prepare for and to Stay 'Engaged' during Class Presentations/Discussions" (Zane K.
    [Show full text]
  • Integration Definition for Function Modeling (IDEF0)
    NIST U.S. DEPARTMENT OF COMMERCE PUBLICATIONS £ Technology Administration National Institute of Standards and Technology FIPS PUB 183 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION INTEGRATION DEFINITION FOR FUNCTION MODELING (IDEFO) » Category: Software Standard SUBCATEGORY: MODELING TECHNIQUES 1993 December 21 183 PUB FIPS JK- 45C .AS A3 //I S3 IS 93 FIPS PUB 183 FEDERAL INFORMATION PROCESSING STANDARDS PUBLICATION INTEGRATION DEFINITION FOR FUNCTION MODELING (IDEFO) Category: Software Standard Subcategory: Modeling Techniques Computer Systems Laboratory National Institute of Standards and Technology Gaithersburg, MD 20899 Issued December 21, 1993 U.S. Department of Commerce Ronald H. Brown, Secretary Technology Administration Mary L. Good, Under Secretary for Technology National Institute of Standards and Technology Arati Prabhakar, Director Foreword The Federal Information Processing Standards Publication Series of the National Institute of Standards and Technology (NIST) is the official publication relating to standards and guidelines adopted and promulgated under the provisions of Section 111 (d) of the Federal Property and Administrative Services Act of 1949 as amended by the Computer Security Act of 1987, Public Law 100-235. These mandates have given the Secretary of Commerce and NIST important responsibilities for improving the utilization and management of computer and related telecommunications systems in the Federal Government. The NIST, through its Computer Systems Laboratory, provides leadership, technical guidance,
    [Show full text]
  • Write Your Own Rules and Enforce Them Continuously
    Ultimate Architecture Enforcement Write Your Own Rules and Enforce Them Continuously SATURN May 2017 Paulo Merson Brazilian Federal Court of Accounts Agenda Architecture conformance Custom checks lab Sonarqube Custom checks at TCU Lessons learned 2 Exercise 0 – setup Open www.dontpad.com/saturn17 Follow the steps for “Exercise 0” Pre-requisites for all exercises: • JDK 1.7+ • Java IDE of your choice • maven 3 Consequences of lack of conformance Lower maintainability, mainly because of undesired dependencies • Code becomes brittle, hard to understand and change Possible negative effect • on reliability, portability, performance, interoperability, security, and other qualities • caused by deviation from design decisions that addressed these quality requirements 4 Factors that influence architecture conformance How effective the architecture documentation is Turnover among developers Haste to fix bugs or implement features Size of the system Distributed teams (outsourcing, offshoring) Accountability for violating design constraints 5 How to avoid code and architecture disparity? 1) Communicate the architecture to developers • Create multiple views • Structural diagrams + behavior diagrams • Capture rationale Not the focus of this tutorial 6 How to avoid code and architecture disparity? 2) Automate architecture conformance analysis • Often done with static analysis tools 7 Built-in checks and custom checks Static analysis tools come with many built-in checks • They are useful to spot bugs and improve your overall code quality • But they’re
    [Show full text]
  • Open Source Tools for Measuring the Internal Quality of Java Software Products
    Open source tools for measuring the Internal Quality of Java software products. Asurvey P. Tomas, M.J. Escalona , M. Mejias Department of Computer and Systems, ETS Ingenieria Informatica, University of Seville, Av. Reina Mercedes S/N, 41012 Seville,Spain abstract Keywords: Collecting metrics and indicators to assess objectively the different products resulting during the lifecycle Software product of a software project is a research area that encompasses many different aspects, apart from being highly Tools demanded by companies and software development teams. Open source Focusing on software products, one of the most used methods by development teams for measuring Internal Metrics Quality is the static analysis of the source code. This paper works in this line and presents a study of the state- Internal Quality of-the-art open source software tools that automate the collection of these metrics, particularly for Automation fi Static analysis developments in Java. These tools have been compared according to certain criteria de ned in this study. Source code Java Contents 1. Introduction.............................................................. 245 2. Relatedwork............................................................. 246 3. Planningandconductingthereview................................................... 246 3.1. Acharacterizationschema.................................................... 247 3.1.1. Metricsimplemented.................................................. 248 3.1.2. Functionalfeaturescovered..............................................
    [Show full text]
  • Fielder Elected
    • ——— •—- •^ »!• m«g -mmiMMa&rr »• t-^ •iwiiiiiiiwum I*T The Leading and Most Widely Circulated Weekly Newspaper in Union County WESTFIELD, NEW JERSEY, WEDNESDAY, NOVEMBEB, 5, 1913, FOURTEEN PAGKS—2 CENTS NOVEMBER 5, 1913 Money deposited in our Savings Department on or before the above date, will draw interest at 4 per cent, from NOVEMBER FIRST. Check Accounts—largo or small- ? A FEW DID The Two Clark's ore Re-elected in Westfield with Many received on liberal terms. Votes to the Good—Casey Polls Big Vote in the COUNTY DEMOGRATiO ASSETS OVER $1,000,000.00 T l/OTE YESTERDAY Fourth and is Returned to the Council ASSEMBLYCANDIDATES The Early Returns Showed Traynor Running Strong for The Oldest Banking Institution in Westfield sgistsrcd Men Were Goif- Assessor, but Denman Receives Majority Elected by About Six Hundred inp or Motoring in ' of Over Two Hundred Votes Majority and Run Far Other Placos Behind Ticket MITCHELL AND ENTIRE FOSION TICKET WINS IN NEW YORE VOTES THE TOTAL CAST MAYOR EVANS WAS DEFEATED Fielder Elected "v ivory 1.308 volt's uasi in ilnyir Kvans proved his jni|m- !<i ui tiis vlcctinn nnii 17 litritv in Westiiold by luimiup •IN liii' noxt. Governor ul" New di'i-scy. 1 rejected. There were 'J2S iiliciid of l'.'.s uriiiTSl opjuMi- voters in Wcsl- cnt but imt'oHuiiiiU'ly went down Kledcd becmise of failhfu! and cfllcionl Rcrvice it tiiis t lection which prows with liis tiok«t fur tin1 Di'inncrntic in tile past. i did not avail Uiomselvcs AsKi'inlily in llio county won out right or sufTrap-d.
    [Show full text]
  • Adhering to Coding Standards and Finding Bugs in Code Automatically
    Adhering to Coding Standards and Finding Bugs in Code Automatically Presenters: Muhammad Wasim Hammad Ali Butt Al-khawarzimi Institute of Computer Science Agenda Introduction Software Quality Assurance Code: The base for Quality Code: Writing it Code: Reviewing it How Review tools help? Selecting a Code Review Tools How they compare to each other? Conclusion Al-khawarizimi Institute of Computer Science Introduction Software Quality Quality Attributes • Maintainability • Flexibility • Testability • Portability • Reusability • Interoperability • Correctness • Reliability • Efficiency • Integrity • Usability Code: The Base for Quality Software Quality comes with a lot of benefits Al-khawarizimi Institute of Computer Science SQA and Benefits Development/Technical: Increase Readability Easy to locate problem area Performance Enhancements Compliance between Specs & Code Criteria for software acceptance Management: Better Progress visibility Better decision criteria Reduced Maintenance cost Al-khawarizimi Institute of Computer Science Code: The Base for Quality Better Coding Styles (Structured to OOP) Commenting of Code Coding Conventions Design Patterns Low Coupling High Cohesiveness Resource Management Remove Repetition of Code Al-khawarizimi Institute of Computer Science Code: Writing it Well Managed Code Well Written Code Standardized Code Defensive Coding An ideal programmer won’t leave any bugs for compiler or QA team. Al-khawarizimi Institute of Computer Science Code: Reviewing It Review Meetings Peer Review Benefits: Code Optimization Reduced Cost Programmer Improvement Static Code Analysis is used for Code Review. Al-khawarizimi Institute of Computer Science Code Review on a Typical Project http://smartbear.com/docs/articles/before-code-review.jpg Al-khawarizimi Institute of Computer Science Code Review on a Typical Project http://smartbear.com/docs/articles/after-code-review.jpg Al-khawarizimi Institute of Computer Science Code Review & Issues Human is error prone.
    [Show full text]
  • A Study on Process Description Method for DFM Using Ontology
    Invited Paper A Study on Process Description Method for DFM Using Ontology K. Hiekata1 and H. Yamato2 1Department of Systems Innovation, Graduate School of Engineering, The University of Tokyo, 5-1-5, Kashiwanoha, Kashiwa-city, Chiba 277-8563, Japan 2Department of Human and Engineered Environmental Studies, Graduate School of Frontier Sciences, The University of Tokyo, 5-1-5, Kashiwanoha, Kashiwa-city, Chiba 277-8563, Japan [email protected], [email protected] Abstract A method to describe process and knowledge based on RDF which is an ontology description language and IDEF0 which is a formal process description format is proposed. Once knowledge of experienced engineers is embedded into the system the knowledge will be lost in the future. A production process is described in a proposed format similar to BOM and the process can be retrieved as a flow diagram to make the engineers to understand the product and process. Proposed method is applied to a simple production process of common sub-assembly of ships for evaluation. Keywords: Production process, DFM, Ontology, Computer system 1 INTRODUCTION (Unified Resource Identifier) is assigned to all the objects, There are many research and computer program for and metadata is defined for all objects using the URI. supporting optimization of production process in Metadata is defined as a statement with subject, shipyards. And knowledge of experienced engineers is predicate and object. The statement is called triple in embedded into the system. Once the knowledge is RDF. Two kinds of elements, Literal or Resource, can be embedded into computer system, the knowledge is not a component of a statement.
    [Show full text]