scispace - formally typeset
Search or ask a question

Showing papers by "Giancarlo Succi published in 2003"



Journal ArticleDOI
TL;DR: Results indicate that design aspects related to communication between classes and inheritance can be used as indicators of the most defect-prone classes, which require the majority of resources in development and testing phases.

87 citations


Journal ArticleDOI
TL;DR: A set of methods and criteria for modeling the servicing process is reviewed and the results of an extensive empirical investigation based on two commercial applications are presented.
Abstract: A proper characterization of the process of servicing requests for modifications in software systems and identification of the domain-specific aspects of this process are extremely important for software companies since service requests often consume lots of resources. A set of methods and criteria for modeling the servicing process is reviewed in this paper and the results of an extensive empirical investigation based on two commercial applications are presented. Existing software reliability growth models and gamma analysis are adopted to characterize the occurrence and typology of service requests over time. Linear regression is used to describe the learning process. A quantitative assessment is provided on the descriptive and predictive ability of the analyzed models. Since humans are involved in collecting the input data, the sensitivity of the proposed models to human errors is assessed using Monte Carlo simulation.

18 citations


Book ChapterDOI
25 May 2003
TL;DR: In a quasi experiment, Pair Programming is effective in sharing knowledge among 15 students who met once a week for a half day, and did their internship individually or in couple for the remaining 4 half days.
Abstract: Pair Programming has been shown to increase communication and teamwork skills and to provide better code. The aim of this work is to show the efficacy of Pair Programming in transferring knowledge and skills over an environment where people met only occasionally. In a quasi experiment, we find that Pair Programming is effective in sharing knowledge among 15 students who met once a week for a half day, and did their internship individually or in couple for the remaining 4 half days.

16 citations


Book
13 May 2003
TL;DR: In this paper, the authors present a system dynamics simulation model to find the effects of XP on the cost of change curve and a framework for testing at the edge of software development.
Abstract: Managing Agile Processes.- XP after Enron - Can It Survive?.- Trailing-Edge Management.- Value Based Management and Agile Methods.- Lean Management - A Metaphor for Extreme Programming?.- Methodology Issues.- Metaphor Design Spaces.- An Experiment Working with RUP and XP.- Bridging Cognitive and Social Chasms in Software Development Using Extreme Programming.- A System Dynamics Simulation Model to Find the Effects of XP on Cost of Change Curve.- Extending Agile Methodologies and XP.- Real-Time Extreme Programming.- Software Development under Stringent Hardware Constraints: Do Agile Methods Have a Chance?.- Maturing XP through the CMM.- Formal Extreme (and Extremely Formal) Programming.- Methods and Tools.- Agile Development Using Naked Objects.- XPSwiki: An Agile Tool Supporting the Planning Game.- CruiseControl.NET: Continuous Integration for .NET.- Tool Support for Complex Refactoring to Design Patterns.- Teaching and Introducing Agile Methodologies.- Experiences in Learning XP Practices: A Qualitative Study.- Swimming around the Waterfall: Introducing and Using Agile Development in a Data Centric, Traditional Software Engineering Company.- Cross-Continent Development Using Scrum and XP.- Coaching Coaches.- Testing.- Where Do Unit Tests Come from?.- Three Patterns in Java Unit Testing.- XP with Acceptance-Test Driven Development: A Rewrite Project for a Resource Optimization System.- A Customer Test Generator for Web-Based Systems.- A Framework for Testing at the Edge - An Experience Report.- Pair Programming.- An Empirical Analysis on the Discontinuous Use of Pair Programming.- Pair-Programming Effect on Developers Productivity.- When Does a Pair Outperform Two Individuals?.- Other XP Practices.- Being Jane Malkovich: A Look Into the World of an XP Customer.- Using Actual Time: Learning How to Estimate.- Coaching a Customer Team.- Extreme Design by Contract.- Inline Method Considered Helpful: An Approach to Interface Evolution.- Experience Reports.- Practical Experiences of Agility in the Telecom Industry.- XP-Call in the Social Workers.- Embracing Change: An XP Experience Report.- Extreme Makeover: Bending the Rules to Reduce Risk Rewriting Complex Systems.- Research Reports: Methods and Tools.- Component-Oriented Agile Software Development.- Unit Testing beyond a Bar in Green and Red.- Developing Testable Web-Applications with Bugkilla.- Extreme Programming: A More Musical Approach to Software Development?.- Automated Extract Component Refactoring.- Successful Automation of GUI Driven Acceptance Testing.- Extreme Terseness: Some Languages Are More Agile than Others.- EnterpriseXP: Can the Combination of XP and DSDM Improve the Appeal of XP to the Business Community?.- Using Function Points in XP - Considerations.- Refactoring with Aspects.- Research Reports: Experience Reports.- Extreme Programming at Work.- Combining Agile Practices with UML and EJB: A Case Study in Agile Development.- Practice Makes Perfect.- A Designing Practice and Two Coding Practices for Extreme Programming (XP).- Practical Aspects of XP Practices.- Scaling Extreme Programming in a Market Driven Development Context.- Building Standard ERP Software Packages Using Self-developed Agile Methodologies.- Convincing the Inconvincable.- Comparing Extreme Programming to Traditional Development for Student Projects: A Case Study.- XP: Good for Anything Other than Software Development?.- Extreme Educational Symposium.- Using Instructor Written Acceptance Tests Using the Fit Framework.- Teaching Team Work: An Extreme Week for First-Year Programmers.- Design-led & Design-less: One Experiment and Two Approaches.- Agile Teaching of an Agile Software Process.- Five Challenges in Teaching XP.- Challenges in Teaching Test Driven Development.- Filleting XP for Educational Purposes.- Using XP with Children for Learning Mathematics.- Using Metaphors in eXtreme Programming Projects.- Ph.D. Symposium.- Doctoral Symposium at XP 2003.- Collaboration on Software Tasks.- Unit Testing Using Design by Contract and Equivalence Partitions.- Exploring the XP Customer Role.- Extending Testability for Automated Refactoring.- Software Configuration Management for Test-Driven Development.- A Study on Introducing XP to a Software Development Company.- Teaching eXtreme Programming in a Project-Based Capstone Course.- Mitigating Risks in Mobile System Development.- Extreme Advertised Bidding.- Software Effort Estimation: Planning XP Guidelines Compared to Research on Traditional Software Development.- Collecting Data in Web Service Development.- Measuring the Effectiveness of Agile Methodologies Using Data Mining, Knowledge Discovery and Information Visualization.- Evaluation of New Software Engineering Methodologies.- Evaluation of Product Metrics Applied to Agile Methodologies.- Panels.- Coaching for Agile and Xtreme Practices A Fishbowl with Piranhas.- XP Practices versus Values?.- Test Driven Development (TDD).

13 citations


Book ChapterDOI
25 May 2003
TL;DR: This work focuses on the analogies and the differences between Lean Management and Extreme Programming.
Abstract: This work focuses on the analogies and the differences between Lean Management and Extreme Programming. Lean Management (LM) is a management strategy that continuously tries to improve business processes focusing only on activities that provide value to the customer. The word lean means that only activities that increase the provided value for the customer are performed. Any additional activities that can be avoided are cancelled, that influences not only production-related processes but also to management structures. XP is a discipline of software development based on the principles of Agile Methodologies. The term agile describes "the ability to both create and respond to change in order to profit in a turbulent business environment [1]."

8 citations


Journal Article
TL;DR: PROM (PRO Metrics), a distributed Java based tool designed to collect automatically software measures, uses a distributed architecture based on plug-ins, integrated in most popular development tools, and the SOAP communication protocol.
Abstract: Software measures are important to evaluate software properties like complexity, reusability, maintainability, effort required, etc. Collecting such data is difficult because of the lack of tools that perform acquisition automatically. It is not possible to implement a manual data collection because it is error prone and very time expensive. Moreover, developers often work in teams and sometimes in different places using laptops. These conditions require tools that collect data automatically, can work offline and merge data from different developers working in the same project. This paper presents PROM (PRO Metrics), a distributed Java based tool designed to collect automatically software measures. This tool uses a distributed architecture based on plug-ins, integrated in most popular development tools, and the SOAP communication protocol.

4 citations


Journal ArticleDOI
TL;DR: This study introduces a new neural architecture called N4 that is based on a collection of local receptive fields realized in the form of referential neural networks and provides a detailed analysis and learning of the network.

4 citations


Proceedings Article
01 Jan 2003
TL;DR: This paper proposes a methodology for ranking and selecting components to build an entire system instead of retrieving just a single component.
Abstract: Component-Based Software Engineering (CBSE) allows developers to build systems using existing components. Developers need to find the best set of components that implements most of required features. Retrieving components manually can be very complicated and time expensive. Tools that partially automate this task help developers to build better systems with less effort. This paper proposes a methodology for ranking and selecting components to build an entire system instead of retrieving just a single component. This methodology was developed in the European project CLARiFi (CLear And Reliable Information For

2 citations


01 Sep 2003
TL;DR: Within the development practices, XP developers have to strictly adhere to the rule of test first, that is, to first write kind of preand post-conditions for the code to write and then to develop code matching such conditions.
Abstract: Within the development practices, XP developers have to strictly adhere to the rule of test first, that is, to first write kind of preand post-conditions for the code to write and then to develop code matching such conditions. The code has to be formatted according to project standards, alternate standards, even if reasonable, cannot be adopted by individual developers as they may impair collective code ownership and refactoring. The code need to be documented in a very clean and concise way, using, whenever possible, the facilities provided by the programming language at hand.

2 citations