Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair
|
|
|
- Loreen Marshall
- 10 years ago
- Views:
Transcription
1 Two Flavors in Automated Software Repair: Rigid Repair and Plastic Repair Martin Monperrus, Benoit Baudry Dagstuhl Preprint, Seminar #13061, Link to the latest version Abstract In this paper, we discuss two families of automated software repair approaches that we call rigid repair and plastic repair. We shape the notions of rigid repair and plastic repair around the perception of software correctness. Rigid repair relies on a binary notion of bug and repair. Plastic repair refers to the plasticity of software, both in terms of correctness and in terms of intrinsic characteristics. 1 Introduction Automated software repair consists of automatically fixing buggy programs, for instance by generating a patch. This research field is related to fault localization (understanding the cause and the failure chain leading to a bug) and code synthesis (generating code from a declarative specification). In this paper, we discuss two families of automated software repair approaches that we call rigid repair and plastic repair. If the software engineering community finds a consensus on those names and concepts, it will enable authors to more easily place their work in the right context and the audience to judge new repair techniques with the correct mindset. We shape the notions of rigid repair and plastic repair around the perception of software correctness. The software correctness results from the decision process that distinguishes a piece of software as buggy or not (from the viewpoint of users or engineers). 2 Software Correctness and Repair 2.1 Dimensions of Correctness The conventional, common sense, notion of software correctness is binary: there is a test procedure that says whether the software is correct (the procedure outputs true ) or not (the procedure outputs false ). Boolean assertions in programming languages and testing frameworks embody this notion. 1
2 Binary correctness is rigid and defines a rigid correctness envelop: inside the envelop the software is correct, outside, it s not. Software correctness exists at different scales: e.g. at the level of expressions (e.g. arithmetic expressions), functions, modules, systems, etc. Small-scale correctness is often binary. However, when the scale increases, a different kind of correctness appears from the combination of locally binary correct elements. Let us consider a system with 2000 test cases. A system A that passes 1900 test cases is more correct than one that passes 1800 test cases. From the binary correctness emerges an ordering ( B is less correct than A ). If the system manipulates continuous values, the correctness ordering can even be continuous (that holds for small-scale correctness as well). Furthermore a system that only passes the first 1000 tests is not comparable with a system that only passes with the remaining 1000 ones. From the binary correctness emerges incommensurability ( A and B are not comparable ). In other terms, we think that it is wrong is to go from "local binary correctness" to "global binary correctness" by induction. Software correctness can be locally binary but globally continuous and partial. We call this global continuous partial correctness, plastic correctness. Compared to the rigid correctness envelop, the plastic correctness envelop deals with uncertainty. Plastic correctness envelop fits the class of software systems for which it is not possible to have a binary oracle, e.g., systems that use heuristics to compute certain decisions, disseminate information on networks or manage resources. To our knowledge, this plastic correctness has been called acceptability envelope [12], controlled uncertainty [6] and approximate computation [10]. To sum, different notions of software correctness yield different correctness envelops. There is an intimate link between correctness envelop and repair. The knowledge of the correctness envelop can drive the automated repair process, the sharpness of the correctness boundary enables one to say that a fix is fine or not with more or less certainty. 2.2 Rigid Repair Rigid repair approaches rely on a rigid, binary definition of software correctness, whether local or global. The literature is rich of various formalisms to specify this envelop, such as contracts [8] and typestates [3] Having this binary explicit correctness envelop is very useful for repair. Rigid repair techniques consists of bringing the software back into the correctness envelope. The rigid repair is guided by the knowledge of the envelope itself, the envelop driving the synthesis of bug fixes. We use the term rigid to convey the idea of being able to touch the envelop and to some extent to climb on it. For instance, Wei et al. uses the contracts of Eiffel programs (pre- and post-conditions) to drive the repair process [16]. Nguyen et al. 2
3 uses symbolic execution of C programs to fix arithmetic and initialization bugs [11]. 2.3 Plastic Repair Plastic repair approaches refer to the plasticity of software. In the context of automated software repair, by plasticity, we mean two things. First, plastic repair refers to plastic software correctness. For instance, automatic input rectification [7] and loop perforation [9] are two kinds of repair approaches that work on top of plastic correctness. Second, it seems that in a certain problem domains and technology, software is plastic in the biological sense, as DNA is plastic: it can be reused partly and in unanticipated ways [15], it is intrinsically redundant [4] and supports mutations [14]. Previous work has shown that this plasticity can be leveraged for software repair. For instance, Carzaniga et al. [1] uses the redundancy for recovering from runtime failures. 3 Discussion To sum up, rigid repair relies on rigid structures to drive the automated repair process, in particular the structure of the correctness envelop. Plastic repair uses plastic concepts either at the level of the correctness envelope or at the level of the code being manipulated. This has an impact on the techniques being involved in the repair process, rigid repair tends to use automated reasoning (e.g. [11]) and plastic repair techniques are well appropriate to randomized algorithms (e.g. [2]). Consequently, rigid repair tend to be deterministic and bounded in time while plastic repair does not. Note that even for rigid repair, execution time can be in practice infinite in non-polynomial settings. It seems that both families of repair techniques can be formalized. For instance, Samimi et al. [13] presented a rigid approach that is complete: if there is a fix, it will be found. Zhu et al. [17] showed that loop perforation (very plastic) can be achieved within strong accuracy bounds. The distinction between rigid and plastic repair is not exclusive. For instance, Le Goues et al. [5] use a plastic characteristic of code its redundancy on top of a binary correctness envelope (specified by a test suite). We would call it plastic because its usage of code redundancy (a kind of code plasticity) and its abundant exploration of the unspecified correctness domain (by manipulating code parts that are not covered by test cases or input data [14]). To conclude, automated software repair is an active field, and new results will surely contribute to precise the concepts of plastic repair and rigid repair. Many questions are open: Which classes of bugs are not amenable to being specified by a binary correctness envelop? How to characterize and recognize 3
4 plastic problem domains as well as zones of plasticity in source code? Is there a relation between the plasticity of correctness and the plasticity of code itself? References [1] A. Carzaniga, A. Gorla, A. Mattavelli, N. Perino, and M. Pezzè. Automatic recovery from runtime failures. In Proceedings of ICSE 13, [2] V. Debroy and W. Wong. Using mutation to automatically suggest fixes for faulty programs. In Software Testing, Verification and Validation (ICST), 2010 Third International Conference on, pages IEEE, [3] R. DeLine and M. Fähndrich. Typestates for objects. In Proceedings of ECOOP, volume 3086, pages , June [4] M. Gabel and Z. Su. A study of the uniqueness of source code. In Proceedings of the eighteenth ACM SIGSOFT international symposium on Foundations of software engineering, pages ACM, [5] C. L. Goues, T. Nguyen, S. Forrest, and W. Weimer. Genprog: A generic method for automatic software repair. IEEE Transactions on Software Engineering, 38:54 72, [6] M. E. Locasto, S. Sidiroglou, and A. D. Keromytis. Software self-healing using collaborative application communities. In NDSS, [7] F. Long, V. Ganesh, M. Carbin, S. Sidiroglou,, and M. Rinard. Automatic input rectification. In Proceedings of ICSE, [8] B. Meyer. Applying design by contract. Computer, 25(10):40 51, [9] S. Misailovic, S. Sidiroglou, H. Hoffmann, and M. C. Rinard. Quality of service profiling. In ICSE (1), pages 25 34, [10] S. Natarajan. Imprecise and Approximate Computation, volume 318. Springer, [11] H. D. T. Nguyen, D. Qi, A. Roychoudhury,, and S. Chandra. Semfix: Program repair via semantic analysis. In Proceedings of ICSE 13, [12] M. Rinard, C. Cadar, and H. H. Nguyen. Exploring the acceptability envelope. In Companion to the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pages ACM,
5 [13] H. Samimi, M. Schäfer, S. Artzi, T. D. Millstein, F. Tip, and L. J. Hendren. Automated repair of html generation errors in php applications using string constraint solving. In ICSE, pages , [14] E. Schulte, Z. P. Fry, E. Fast, W. Weimer, and S. Forrest. Software mutational robustness. arxiv preprint arxiv: , [15] S. Thummalapenta and T. Xie. Parseweb: a programmer assistant for reusing open source code on the web. In Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering, pages ACM, [16] Y. Wei, Y. Pei, C. A. Furia, L. S. Silva, S. Buchholz, B. Meyer, and A. Zeller. Automated fixing of programs with contracts. In Proceedings of the International Symposium on Software Testing and Analysis. AC, [17] Z. A. Zhu, S. Misailovic, J. A. Kelner, and M. C. Rinard. Randomized accuracy-aware program transformations for efficient approximate computations. In POPL, pages ,
Tailored Source Code Transformations to Synthesize Computationally Diverse Program Variants. Benoit Baudry, Simon Allier, Martin Monperrus
Tailored Source Code Transformations to Synthesize Computationally Diverse Program Variants Benoit Baudry, Simon Allier, Martin Monperrus This talk is about the generation of very large quantities of sosie
Toward Improving Graftability on Automated Program Repair
Toward Improving Graftability on Automated Program Repair Soichi Sumi, Yoshiki Higo, Keisuke Hotta, and Shinji Kusumoto Graduate School of Information Science and Technology, Osaka University, Japan Email:
Search Algorithm in Software Testing and Debugging
Search Algorithm in Software Testing and Debugging Hsueh-Chien Cheng Dec 8, 2010 Search Algorithm Search algorithm is a well-studied field in AI Computer chess Hill climbing A search... Evolutionary Algorithm
Finding Execution Faults in Dynamic Web Application
International Journal of Information and Computation Technology. ISSN 0974-2239 Volume 4, Number 5 (2014), pp. 445-452 International Research Publications House http://www. irphouse.com /ijict.htm Finding
How To Improve Autotest
Applying Search in an Automatic Contract-Based Testing Tool Alexey Kolesnichenko, Christopher M. Poskitt, and Bertrand Meyer ETH Zürich, Switzerland Abstract. Automated random testing has been shown to
Quotes from Object-Oriented Software Construction
Quotes from Object-Oriented Software Construction Bertrand Meyer Prentice-Hall, 1988 Preface, p. xiv We study the object-oriented approach as a set of principles, methods and tools which can be instrumental
Automated Repair of Binary and Assembly Programs for Cooperating Embedded Devices
Automated Repair of Binary and Assembly Programs for Cooperating Embedded Devices Eric Schulte 1 Jonathan DiLorenzo 2 Westley Weimer 2 Stephanie Forrest 1 1 Department of Computer Science University of
Automatic Software Repair: a Bibliography
Automatic Software Repair: a Bibliography Martin Monperrus University of Lille & Inria [email protected] version of Nov 21, 2015 Abstract This article presents an annotated bibliography on
Design by Contract beyond class modelling
Design by Contract beyond class modelling Introduction Design by Contract (DbC) or Programming by Contract is an approach to designing software. It says that designers should define precise and verifiable
Coverage Criteria for Search Based Automatic Unit Testing of Java Programs
ISSN (Online): 2409-4285 www.ijcsse.org Page: 256-263 Coverage Criteria for Search Based Automatic Unit Testing of Java Programs Ina Papadhopulli 1 and Elinda Meçe 2 1, 2 Department of Computer Engineering,
Data Model Bugs. Ivan Bocić and Tevfik Bultan
Data Model Bugs Ivan Bocić and Tevfik Bultan Department of Computer Science University of California, Santa Barbara, USA [email protected] [email protected] Abstract. In today s internet-centric world, web
InvGen: An Efficient Invariant Generator
InvGen: An Efficient Invariant Generator Ashutosh Gupta and Andrey Rybalchenko Max Planck Institute for Software Systems (MPI-SWS) Abstract. In this paper we present InvGen, an automatic linear arithmetic
How To Write A Test Engine For A Microsoft Microsoft Web Browser (Php) For A Web Browser For A Non-Procedural Reason)
Praspel: A Specification Language for Contract-Driven Testing in PHP Ivan Enderlin Frédéric Dadeau Alain Giorgetti Abdallah Ben Othman October 27th, 2011 Meetings: LTP MTVV Ivan Enderlin, Frédéric Dadeau,
IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs
IntroClassJava: A Benchmark of 297 Small and Buggy Java Programs Thomas Durieux, Martin Monperrus To cite this version: Thomas Durieux, Martin Monperrus. IntroClassJava: A Benchmark of 297 Small and Buggy
A Platform Independent Testing Tool for Automated Testing of Web Applications
A Platform Independent Testing Tool for Automated Testing of Web Applications December 10, 2009 Abstract Increasing complexity of web applications and their dependency on numerous web technologies has
PL/SQL Practicum #2: Assertions, Exceptions and Module Stability
PL/SQL Practicum #2: Assertions, Exceptions and Module Stability John Beresniewicz Technology Manager Precise Software Solutions Agenda Design by Contract Assertions Exceptions Modular Code DESIGN BY CONTRACT
Software Component Specification Using Design by Contract
Software Component Specification Using Design by Contract Yi Liu and H. Conrad Cunningham Department of Computer and Information Science University of Mississippi 237 Kinard Hall University, MS 38677 USA
Report on the Dagstuhl Seminar Data Quality on the Web
Report on the Dagstuhl Seminar Data Quality on the Web Michael Gertz M. Tamer Özsu Gunter Saake Kai-Uwe Sattler U of California at Davis, U.S.A. U of Waterloo, Canada U of Magdeburg, Germany TU Ilmenau,
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science. Unit of Study / Textbook Correlation
Thomas Jefferson High School for Science and Technology Program of Studies Foundations of Computer Science updated 03/08/2012 Unit 1: JKarel 8 weeks http://www.fcps.edu/is/pos/documents/hs/compsci.htm
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
Component Based Software Engineering: A Broad Based Model is Needed
Component Based Software Engineering: A Broad Based Model is Needed Allen Parrish ([email protected]) Brandon Dixon ([email protected]) David Hale ([email protected]) Department of Computer Science
KS3 Computing Group 1 Programme of Study 2015 2016 2 hours per week
1 07/09/15 2 14/09/15 3 21/09/15 4 28/09/15 Communication and Networks esafety Obtains content from the World Wide Web using a web browser. Understands the importance of communicating safely and respectfully
Runtime Repair of Software Faults using Event-Driven Monitoring
Runtime Repair of Software Faults using Event-Driven Monitoring Chris Lewis, Jim Whitehead University of California, Santa Cruz 1156 High St, Santa Cruz, California, USA {cflewis,ejw}@soe.ucsc.edu ABSTRACT
SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS
SQL INJECTION MONITORING SECURITY VULNERABILITIES IN WEB APPLICATIONS Manas Kumar 1, S. Senthil kumar 2 and D. Sarvanan 3 1 M.C.A. (Final Year) Abstract Sql injection: a recently discovered application
Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001
A comparison of the OpenGIS TM Abstract Specification with the CIDOC CRM 3.2 Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 1 Introduction This Mapping has the purpose to identify, if the OpenGIS
Curriculum Vitae. Shan Shan Huang
Curriculum Vitae Shan Shan Huang College of Computing Georgia Institute of Technology 266 Ferst Drive Atlanta, GA 30332-0765 Phone: (404)275-3312 Email: [email protected] http://www.freeflygeek.com Research
Specification and Analysis of Contracts Lecture 1 Introduction
Specification and Analysis of Contracts Lecture 1 Introduction Gerardo Schneider [email protected] http://folk.uio.no/gerardo/ Department of Informatics, University of Oslo SEFM School, Oct. 27 - Nov.
Formal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
Review of Mobile Applications Testing with Automated Techniques
Review of Mobile Testing with Automated Techniques Anureet Kaur Asst Prof, Guru Nanak Dev University, Amritsar, Punjab Abstract: As the mobile applications and mobile consumers are rising swiftly, it is
Chair of Software Engineering. Software Verification. Assertion Inference. Carlo A. Furia
Chair of Software Engineering Software Verification Assertion Inference Carlo A. Furia Proving Programs Automatically The Program Verification problem: Given: a program P and a specification S = [Pre,
Component visualization methods for large legacy software in C/C++
Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University [email protected]
10426: Large Scale Project Accounting Data Migration in E-Business Suite
10426: Large Scale Project Accounting Data Migration in E-Business Suite Objective of this Paper Large engineering, procurement and construction firms leveraging Oracle Project Accounting cannot withstand
Towards a Framework for Differential Unit Testing of Object-Oriented Programs
Towards a Framework for Differential Unit Testing of Object-Oriented Programs Tao Xie 1 Kunal Taneja 1 Shreyas Kale 1 Darko Marinov 2 1 Department of Computer Science, North Carolina State University,
Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison
Random vs. Structure-Based Testing of Answer-Set Programs: An Experimental Comparison Tomi Janhunen 1, Ilkka Niemelä 1, Johannes Oetsch 2, Jörg Pührer 2, and Hans Tompits 2 1 Aalto University, Department
Chapter 1: Key Concepts of Programming and Software Engineering
Chapter 1: Key Concepts of Programming and Software Engineering Software Engineering Coding without a solution design increases debugging time - known fact! A team of programmers for a large software development
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder
Towards a Framework for Generating Tests to Satisfy Complex Code Coverage in Java Pathfinder Matt Department of Computer Science and Engineering University of Minnesota [email protected] Abstract We present
Automated Theorem Proving - summary of lecture 1
Automated Theorem Proving - summary of lecture 1 1 Introduction Automated Theorem Proving (ATP) deals with the development of computer programs that show that some statement is a logical consequence of
Secure cloud access system using JAR ABSTRACT:
Secure cloud access system using JAR ABSTRACT: Cloud computing enables highly scalable services to be easily consumed over the Internet on an as-needed basis. A major feature of the cloud services is that
Algorithm & Flowchart & Pseudo code. Staff Incharge: S.Sasirekha
Algorithm & Flowchart & Pseudo code Staff Incharge: S.Sasirekha Computer Programming and Languages Computers work on a set of instructions called computer program, which clearly specify the ways to carry
On the Relation between Design Contracts and Errors: A Software Development Strategy
On the Relation between Design Contracts and Errors: A Software Development Strategy Eivind J. Nordby, Martin Blom, Anna Brunstrom Computer Science, Karlstad University SE-651 88 Karlstad, Sweden {Eivind.Nordby,
Usable Verification of Object-Oriented Programs by Combining Static and Dynamic Techniques
Usable Verification of Object-Oriented Programs by Combining Static and Dynamic Techniques Julian Tschannen, Carlo A. Furia, Martin Nordio, and Bertrand Meyer Chair of Software Engineering, ETH Zurich,
Software Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
Adapting C++ Exception Handling to an Extended COM Exception Model
Adapting C++ Exception Handling to an Extended COM Exception Model Bjørn Egil Hansen DNV AS, DT 990 Risk Management Software Palace House, 3 Cathedral Street, London SE1 9DE, UK [email protected]
Computing Concepts with Java Essentials
2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Computing Concepts with Java Essentials 3rd Edition Cay Horstmann
Comparative Study of Automated testing techniques for Mobile Apps
Comparative Study of Automated testing techniques for Mobile Apps Anureet Kaur, Dr.Kulwant Kaur, Amritpal Singh Ph.D., Research Scholar, PTU, Jalandhar(India), Dean and Asst Prof, Apeejay Institute of
Web-Scale Extraction of Structured Data Michael J. Cafarella, Jayant Madhavan & Alon Halevy
The Deep Web: Surfacing Hidden Value Michael K. Bergman Web-Scale Extraction of Structured Data Michael J. Cafarella, Jayant Madhavan & Alon Halevy Presented by Mat Kelly CS895 Web-based Information Retrieval
BUSINESS RULES CONCEPTS... 2 BUSINESS RULE ENGINE ARCHITECTURE... 4. By using the RETE Algorithm... 5. Benefits of RETE Algorithm...
1 Table of Contents BUSINESS RULES CONCEPTS... 2 BUSINESS RULES... 2 RULE INFERENCE CONCEPT... 2 BASIC BUSINESS RULES CONCEPT... 3 BUSINESS RULE ENGINE ARCHITECTURE... 4 BUSINESS RULE ENGINE ARCHITECTURE...
Monitoring Web Browsing Habits of User Using Web Log Analysis and Role-Based Web Accessing Control. Phudinan Singkhamfu, Parinya Suwanasrikham
Monitoring Web Browsing Habits of User Using Web Log Analysis and Role-Based Web Accessing Control Phudinan Singkhamfu, Parinya Suwanasrikham Chiang Mai University, Thailand 0659 The Asian Conference on
FoREnSiC An Automatic Debugging Environment for C Programs
FoREnSiC An Automatic Debugging Environment for C Programs Roderick Bloem 1, Rolf Drechsler 2, Görschwin Fey 2, Alexander Finder 2, Georg Hofferek 1, Robert Könighofer 1, Jaan Raik 3, Urmas Repinski 3,
ARIZONA CTE CAREER PREPARATION STANDARDS & MEASUREMENT CRITERIA SOFTWARE DEVELOPMENT, 15.1200.40
SOFTWARE DEVELOPMENT, 15.1200.40 STANDARD 1.0 APPLY PROBLEM-SOLVING AND CRITICAL THINKING SKILLS TO INFORMATION 1.1 Describe methods of establishing priorities 1.2 Prepare a plan of work and schedule information
Masters in Information Technology
Computer - Information Technology MSc & MPhil - 2015/6 - July 2015 Masters in Information Technology Programme Requirements Taught Element, and PG Diploma in Information Technology: 120 credits: IS5101
Comparing Methods to Identify Defect Reports in a Change Management Database
Comparing Methods to Identify Defect Reports in a Change Management Database Elaine J. Weyuker, Thomas J. Ostrand AT&T Labs - Research 180 Park Avenue Florham Park, NJ 07932 (weyuker,ostrand)@research.att.com
WebMate: Generating Test Cases for Web 2.0
WebMate: Generating Test Cases for Web 2.0 Valentin Dallmeier, Martin Burger, Tobias Orth, and Andreas Zeller Saarland University, Computer Science Department, Saarbrücken, Germany {dallmeier,mburger,orth,zeller}@st.cs.uni-saarland.de
Modular Communication Infrastructure Design with Quality of Service
Modular Communication Infrastructure Design with Quality of Service Pawel Wojciechowski and Péter Urbán Distributed Systems Laboratory School of Computer and Communication Sciences Swiss Federal Institute
Verifying Semantic of System Composition for an Aspect-Oriented Approach
2012 International Conference on System Engineering and Modeling (ICSEM 2012) IPCSIT vol. 34 (2012) (2012) IACSIT Press, Singapore Verifying Semantic of System Composition for an Aspect-Oriented Approach
Static Program Transformations for Efficient Software Model Checking
Static Program Transformations for Efficient Software Model Checking Shobha Vasudevan Jacob Abraham The University of Texas at Austin Dependable Systems Large and complex systems Software faults are major
Computer Programming I
Computer Programming I COP 2210 Syllabus Spring Semester 2012 Instructor: Greg Shaw Office: ECS 313 (Engineering and Computer Science Bldg) Office Hours: Tuesday: 2:50 4:50, 7:45 8:30 Thursday: 2:50 4:50,
Java 6 'th. Concepts INTERNATIONAL STUDENT VERSION. edition
Java 6 'th edition Concepts INTERNATIONAL STUDENT VERSION CONTENTS PREFACE vii SPECIAL FEATURES xxviii chapter i INTRODUCTION 1 1.1 What Is Programming? 2 J.2 The Anatomy of a Computer 3 1.3 Translating
Firewall Verification and Redundancy Checking are Equivalent
Firewall Verification and Redundancy Checking are Equivalent H. B. Acharya University of Texas at Austin [email protected] M. G. Gouda National Science Foundation University of Texas at Austin [email protected]
Checking for Dimensional Correctness in Physics Equations
Checking for Dimensional Correctness in Physics Equations C.W. Liew Department of Computer Science Lafayette College [email protected] D.E. Smith Department of Computer Science Rutgers University [email protected]
Novel Data Extraction Language for Structured Log Analysis
Novel Data Extraction Language for Structured Log Analysis P.W.D.C. Jayathilake 99X Technology, Sri Lanka. ABSTRACT This paper presents the implementation of a new log data extraction language. Theoretical
Designing Better Fitness Functions for Automated Program Repair
Designing Better Fitness Functions for Automated Program Repair Ethan Fast University of Virginia [email protected] Claire Le Goues University of Virginia [email protected] Stephanie Forrest University
How To Test Automatically
Automated Model-Based Testing of Embedded Real-Time Systems Jan Peleska [email protected] University of Bremen Bieleschweig Workshop 7 2006-05-05 Outline Technologie-Zentrum Informatik Objectives Basic concepts
Effective Techniques for Risk Measurement. Agenda
Effective Techniques for Risk Measurement Steven Ross Executive Principal Risk Masters, Inc. Agenda The Failure of Current Techniques A Fresh Approach to Risk Measurement The Theory Behind the Techniques
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors
Static Analysis of Dynamic Properties - Automatic Program Verification to Prove the Absence of Dynamic Runtime Errors Klaus Wissing PolySpace Technologies GmbH Argelsrieder Feld 22 82234 Wessling-Oberpfaffenhofen
Project Management. Project Analysis and Definition. Project Management. Project Management People
Project Management Project Analysis and Definition The key to successful project management is to focus on the 4P People The most important element of a successful project Product The software to be built
Formal Methods for Preserving Privacy for Big Data Extraction Software
Formal Methods for Preserving Privacy for Big Data Extraction Software M. Brian Blake and Iman Saleh Abstract University of Miami, Coral Gables, FL Given the inexpensive nature and increasing availability
Applications of Machine Learning in Software Testing. Lionel C. Briand Simula Research Laboratory and University of Oslo
Applications of Machine Learning in Software Testing Lionel C. Briand Simula Research Laboratory and University of Oslo Acknowledgments Yvan labiche Xutao Liu Zaheer Bawar Kambiz Frounchi March 2008 2
Unit Title: Personnel Information Systems Unit Reference Number: F/601/7510 Guided Learning Hours: 160 Level: Level 5 Number of Credits: 18
Unit Title: Personnel Information Systems Unit Reference Number: F/601/7510 Guided Learning Hours: 160 Level: Level 5 Number of Credits: 18 Unit objective and aim(s): This unit aims to give learners a
Supporting Software Development Process Using Evolution Analysis : a Brief Survey
Supporting Software Development Process Using Evolution Analysis : a Brief Survey Samaneh Bayat Department of Computing Science, University of Alberta, Edmonton, Canada [email protected] Abstract During
Chapter 1: Introduction
Chapter 1: Introduction Database System Concepts, 5th Ed. See www.db book.com for conditions on re use Chapter 1: Introduction Purpose of Database Systems View of Data Database Languages Relational Databases
Optimised Realistic Test Input Generation
Optimised Realistic Test Input Generation Mustafa Bozkurt and Mark Harman {m.bozkurt,m.harman}@cs.ucl.ac.uk CREST Centre, Department of Computer Science, University College London. Malet Place, London
And the Models Are 16-03-2015. System/Software Development Life Cycle. Why Life Cycle Approach for Software?
System/Software Development Life Cycle Anurag Srivastava Associate Professor ABV-IIITM, Gwalior Why Life Cycle Approach for Software? Life cycle is a sequence of events or patterns that are displayed in
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14
International Journal of Computer Engineering and Applications, Volume V, Issue III, March 14 PREDICTION OF RATE OF IMPROVEMENT OF SOFTWARE QUALITY AND DEVELOPMENT EFFORT ON THE BASIS OF DEGREE OF EXCELLENCE
[Refer Slide Time: 05:10]
Principles of Programming Languages Prof: S. Arun Kumar Department of Computer Science and Engineering Indian Institute of Technology Delhi Lecture no 7 Lecture Title: Syntactic Classes Welcome to lecture
AP Computer Science AB Syllabus 1
AP Computer Science AB Syllabus 1 Course Resources Java Software Solutions for AP Computer Science, J. Lewis, W. Loftus, and C. Cocking, First Edition, 2004, Prentice Hall. Video: Sorting Out Sorting,
