Refactoring Economics: An Empirical Study of Refactoring Effect on Development Costs

Size: px
Start display at page:

Download "Refactoring Economics: An Empirical Study of Refactoring Effect on Development Costs"

Transcription

1 Refactoring Economics: An Empirical Study of Refactoring Effect on Development Costs Quinten David Soetens, Serge Demeyer University of Antwerp, Belgium Abstract We will study the economical aspect of refactoring by investigating what effect refactoring has on the costs of adding new functionality to a system and by looking at the costs of the refactoring activity itself. We expect that the costs of adding functionalities will be lower after the system was refactored. Indeed it is generally accepted that refactoring has a positive influence on the maintainability of a system. However this is purely based on anecdotal evidence and still needs to be reinforced by a thorough scientific and systematic investigation. In our research we will be conducting a series of case studies on some real-life systems. On these cases we will determine where and when they were refactored and what influence these refactorings had on the development costs of the systems. Keywords: refactoring, economics, refactoring detection, software evolution, mining software repositories 1. Introduction The lion s share of any software engineering project is the so called maintenance. Indeed the rule states that 20% of the time is spent on the development of a system and 80% of the time on maintenance [20]. Moreover, the largest part of this maintenance (again 80%) is not spent on fixing bugs, but on other maintenance activities such as adding new functionalities [1]. However, as Lehman s laws teach us, adding new functionalities will become more and more difficult as the system evolves, since a system will gradually become more and more complex ( Law of Increasing Complexity ) [14]. Nowadays refactoring is generally accepted as part of the solution for the long term maintainability of a software system (cf. the Software Engineering Body of Knowledge [1]). Refactoring is defined as Transformations of the source code, without changing the observable behavior, to make the source code easier to understand and reuse [19]. (i.e., refactoring lowers the complexity of the code) It is generally agreed upon that refactoring improves the maintainability of a software system, however this is based purely on anecdotal evidence and has yet to be empirically validated [16]. We will therefore study the refactoring economics in a software development process. We ask ourselves the following questions: a. What are the costs of the individual refactoring steps? b. What effect does refactoring have on the maintenance costs? c. When will refactoring pay off its investment? Small and Medium Enterprises (SME s) will gain advantages from this research, as they will be better able to keep an eye on the costs and benefits of software maintenance which will give them a competitive advantage on much larger and more cumbersome companies. This research will also increase our knowledge on the costs and benefits of refactoring, which will give us a clearer image on when, where and how we need to apply refactorings. If we can show with this project that refactorings pay off their investment, then this can be used to convince software companies who do not refactor that refactoring is a useful and cost saving activity in the development of their software. Which addresses: quinten.soetens@ua.ac.be (Quinten David Soetens), serge.demeyer@ua.ac.be (Serge Demeyer) Preprint submitted to BENEVOL Proceedings of Short Papers December 3, 2009

2 will allow them to spend more resources on more innovating applications. If on the other hand we find that refactoring does not pay off its investment, then management will be able to do a better cost benefit analysis by taking the loss caused by refactoring into account when deciding if they will refactor. 2. Goals We have set ourselves two goals to examine the economical aspect of refactoring in a software development process.: to empirically validate whether refactoring has a positive effect on the maintainability of a software system. (i.e., Will the manpower needed to add new functionalities decrease?) to examine if and when refactoring will pay off its investment. The first goal can be achieved by showing that the cost to add new features after the system was refactored ($ After ) is substantially lower than the cost of adding new features to the system before it was refactored ($ Before ). In short, we will show that: $ After $ Before For the second goal we will need to look at the cost of the refactoring activities themselves ($ Refactoring ). We will know that refactoring pays back its investment if we can show that: $ Refactoring + $ AddingFeatures $ AddingFeatures with $ Refactoring + $ AddingFeatures the cost to add a set of new features to a system after it was refactored and $ AddingFeatures the cost of adding that same set of features to the system without first refactoring the system. To realize aforementioned goals we will need to lay some groundwork. We need to ascertain how we can determine where and when the software was refactored. In the past 10 years there has been a lot of research into techniques to do refactoring detection. However this was always done independently of one another. That is why we start our work with a comparative study of existing refactoring detection techniques, to determine which technique is most suitable for our purposes. 3. Related Work Some work has already been done towards understanding the economics of refactoring. Leitch and Stroulia for instance have proposed a framework to predict the return on investment for a refactoring using cost-benefit analysis [15]. Sullivan et al. have shown that options thinking can be used to value software restructurings [23]. Bahsoon and Emmerich use the flexibility of a system as a way to valuate the payoff of refactorings [3]. There have been many studies on the effect refactoring has on a Software System. Du Bois for instance has studied the effect on the comprehensibility and understandability of a system [9] [8]. He also studied the effect refactoring have on the coupling and cohesion of a software system [7]. Other noteworthy work is that of Geppert et al., who studied the effect of refactoring on changeability [10], that of Moser et al., who investigated the effect on reusability [18], that of Kataoka et al., who did some research involving the effect of refactoring on the maintainability of a system [12] and that of Higo et al., who analyzed the effect of refactoring on some complexity metrics [11]. Some more general studies on the effect of refactoring on software quality include the ones by Alshayeb, Wilking et al, Stroggylos and Spinellis and Moser et al. [2] [27] [22] [17] 4. Proposed Solution This research is split into two parts. The first one is the preparatory work and mainly consists of a comparative study of algorithms that search refactorings in the history of a system (i.e., refactoring detection techniques). The result of this study can then be used in the second phase of the project, which consists of a series of case studies on refactoring economics. 2

3 We will do our measurements on a few different cases (both open source and industrial projects). These cases need to be software systems where refactoring was actually applied. We will primarily be looking at projects written in Java, since this is a very popular programming language with a very good support for automated refactoring (JRefactory, Eclipse ID, Netbeans IDE,...). Later on we will also be looking at C and C++ programs to see if our conclusions can be made language independent. Our experiments will be done in a few iterations, increasing the difficulty with each iteration. This way we will be able to identify possible problems in the used techniques and tools early in the project. 1. In the first iteration we will perform our experiments and measurements on small to medium sized projects (i.e. projects ranging from 10 to 100 KLOC), that are written in Java and have known refactoring periods. 2. In the second iteration we will look at systems of the same size as in the first iteration, but this time we will look at projects written in C, C++ or C# and with unknown as well as known refactoring periods. 3. In the final iteration we will look at larger systems (i.e., projects ranging from 100 to 1000 KLOC). To insure the quality of our research we intend to follow the guidelines for empirical research set by Kitchenham et al. as well as the guidelines on conducting and reporting case studies set by Runeson and Höst [13] [21] Refactoring Detection Several refactoring detection techniques that have lead to good results have already been developed. Weißgerber and Diehl for instance presented a technique that uses signature-based analysis to identify possible refactorings and clone detection to rank the likelihood of it being a refactoring [26]. Danny Dig et al. used a combination of syntactical and semantical analysis to identify refactorings [4][5][24]. Demeyer et al. have developed a set of heuristics based on a combination of change metrics to identify refactorings. Van Rysselberghe and Demeyer have developed a way that uses clone detection [25]. And Xing and Stroulia developed the UMLDiff algorithm, which is capable of detecting some basic structural changes in a system [28]. We will compare these refactoring detection techniques based on a few criteria, that we have subdivided into primary and secondary criteria. Primary Criteria Precision is a criterion that measures to which extent the techniques are correct, in other words: Are the detected refactorings truly refactorings? Recall is a criterion that measures to which extent the techniques are complete, in other words: How many of the actual refactorings were found? Performance is a criterion that measures the speed with which the techniques detect refactorings. Secondary Criteria Scalability is a criterion that measures to which extent the technique is applicable on larger projects. Scalability and performance are important criteria to us, since we also want to detect refactorings an medium sized to large projects and projects with a long history. Scope: This means that we will determine whether the algorithm is language independent or specific and we will also look at which refactorings it is capable of finding Cost of a new functionality With this experiment we will empirically study the effect refactoring has on the costs of adding functionality to a system. To do this we shall determine what the costs are of adding a new feature before and after a refactoring period. The experiment will be performed on a few cases and consists of a few steps: 1. Using some refactoring detection technique, we can analyze the case s version control system to find a version that has clearly just been preceded by a refactoring period. (Call this version V R ) 3

4 2. We analyze the versions of the system before V R to find features that were added before V R, but after a possible previous refactoring period. For each of these features we determine the cost. This way we can determine the average cost of a new feature per version. 3. We do the same for the versions after V R, but before a possible subsequent refactoring period. 4. Then we can project how the average cost of adding a new feature changes over time (i.e., how this average cost changes with each version of the system) In this last step (step 4) we expect to see results like the ones presented in the sketch in figure 1. We expect to see the average cost of new features increase before the refactoring period. The average cost of new features in the versions following the refactoring period will be significantly lower than in the versions preceding the refactoring period. However the cost of new features will again increase over time. Figure 1: Cost of implementing a new feature should increase with time. After a refactoring period the cost should decrease PayOff of Refactoring In this part of the research we will address the following research questions: Will refactoring eventually pay off its investment? When does this payoff become apparent? e.g., How many new features need to be added before there is a profit? In this experiment we will look at a series of features that were implemented after the system was refactored and we will compare their cost to what they would have cost if the system had not been refactored. Since the latter cost can not be measured we will need to use a cost estimation model. The cost of the features as is, can be measured from the implementation, however in order to have comparable data it is best to also use the cost estimation model to determine this cost. The cost estimation model that we use, will be the one(s) that we concluded from the preparatory work to be the best for our purposes. To answer our first research question we need to measure (or estimate) the cost of the refactoring itself (call this $ Refactoring ). We also need to estimate what the costs are of adding a series of new features after the refactoring (call this $ AddingFeatures ). And finally we need to estimate what the costs are of adding this same series of features to the system before the refactoring (call this $ AddingFeatures ). The refactoring will then produce a profit only if $ Refactoring + $ AddingFeatures $ AddingFeatures. If we find that the refactoring produces a profit, we can project how $ Refactoring + $ AddingFeatures changes by increasing $ AddingFeatures with one feature at a time. This way we can find at which point in time (after how many features) the refactoring starts to return on its investment. 4

5 5. Summary In short we propose to investigate the economical aspect of refactorings by a series of case studies on some real-life systems. We will study the costs of refactoring and the influence refactoring has on the costs of adding functionality to an existing system. We expect to see that the cost of adding functionality is lower after the system has been refactored. After that we can also determine whether the refactoring activity is a profitable one. [1] Abran, A., Bourque, P., Dupuis, R., Moore, J. W., Tripp, L. L., Guide to the Software Engineering Body of Knowledge - SWEBOK, 2004th Edition. IEEE Press, Piscataway, NJ, USA. [2] Alshayeb, M., Empirical investigation of refactoring effect on software quality. Inf. Softw. Technol. 51 (9), [3] Bahsoon, R., Emmerich, W., Applying archoptions to value the payoff of refactoring. In: Proceedings of the the 6th International Workshop on Economic-Driven Software Engineering Research (EDSER-6). [4] Dig, D., Comertoglu, C., Marinov, D., Johnson, R., July Automated detection of refactorings for libraries and frameworks. In: Proceedings of Workshop of OO Reengineering (WOOR 05). [5] Dig, D., Comertoglu, C., Marinov, D., Johnson, R., Automated detection of refactorings in evolving components. In: Proceedings of European Conference on OO Programming (ECOOP 06). pp [6] Du Bois, B., September A study on quality improvements by refactoring. Ph.D. thesis, University of Antwerp, Middelheimlaan 1, B-2020 Antwerpen, Belgium. [7] Du Bois, B., Demeyer, S., Verelst, J., Refactoring improving coupling and cohesion of existing code. In: WCRE 04: Proceedings of the 11th Working Conference on Reverse Engineering. IEEE Computer Society, Washington, DC, USA, pp [8] Du Bois, B., Demeyer, S., Verelst, J., Does the refactor to understand reverse engineering pattern improve program comprehension? In: CSMR 05: Proceedings of the Ninth European Conference on Software Maintenance and Reengineering. IEEE Computer Society, Washington, DC, USA, pp [9] Du Bois, B., Demeyer, S., Verelst, J., Mens, T., Temmerman, M., Does god class decomposition affect comprehensibility? In: Proceedings of the IASTED International Conference on Software Engineering. IASTED/ACTA Press, pp [10] Geppert, B., Mockus, A., Rossler, F., Refactoring for changeability: A way to go? In: METRICS 05: Proceedings of the 11th IEEE International Software Metrics Symposium. IEEE Computer Society, Washington, DC, USA, p. 13. [11] Higo, Y., Matsumoto, Y., Kusumoto, S., Inoue, K., Refactoring effect estimation based on complexity metrics. In: ASWEC 08: Proceedings of the 19th Australian Conference on Software Engineering. IEEE Computer Society, Washington, DC, USA, pp [12] Kataoka, Y., Imai, T., Andou, H., Fukaya, T., A quantitative evaluation of maintainability enhancement by refactoring. In: ICSM 02: Proceedings of the International Conference on Software Maintenance (ICSM 02). IEEE Computer Society, Washington, DC, USA, p [13] Kitchenham, B. A., Pfleeger, S. L., Pickard, L. M., Jones, P. W., Hoaglin, D. C., Emam, K. E., Rosenberg, J., August Preliminary guidelines for empirical research in software engineering. IEEE Trans. Softw. Eng. 28 (8), [14] Lehman, M. M., Belady, L. A., Program evolution : processes of software change / edited by M.M. Lehman, L.A. Belady. Academic Press, London ; Orlando :. [15] Leitch, R., Stroulia, E., Understanding the economics of refactoring. In: In: Proceedings of the Fifth ICSE Workshop on Economics- Driven Software Engineering Research. [16] Mens, T., Demeyer, S., Software Evolution. Springer Publishing Company, Incorporated. [17] Moser, R., Abrahamsson, P., Pedrycz, W., Sillitti, A., Succi, G., A case study on the impact of refactoring on quality and productivity in an agile team, [18] Moser, R., Sillitti, A., Abrahamsson, P., Succi, G., Does Refactoring Improve Reusability? Vol. Volume 4039/2006. Springer-Verlag, pp [19] Opdyke, W. F., Johnson, R. E., September Refactoring: An aid in designing application frameworks and evolving object-oriented systems. In: SOOPPA 90: Proceedings of Symposium on Object- Oriented Programming Emphasizing Practical Applications. [20] Pfleeger, S. L., Atlee, J. M., Software Engineering Theory and Practice. Prentice Hall. [21] Runeson, P., Höst, M., April Guidelines for conducting and reporting case study research in software engineering. Empirical Software Engineering 14 (2), [22] Stroggylos, K., Spinellis, D., Refactoring does it improve software quality? In: WoSQ 07: Proceedings of the 5th International Workshop on Software Quality. IEEE Computer Society, Washington, DC, USA, p. 10. [23] Sullivan, K. J., Chalasani, P., Jha, S., Sazawal, V., Software design as an investment activity: A real options perspective. In: Real Options and Business Strategy: Applications to Decision Making. Risk Books. [24] Taneja, K., Dig, D., Xie, T., November Automated detection of API refactorings in libraries. In: Proc. 22nd IEEE/ACM International Conference on Automated Software Engineering (ASE 2007). pp [25] Van Rysselberghe, F., Demeyer, S., September Reconstruction of successful software evolution using clone detection. In: Tommi Mikkonen, M. W. G., Saeki, M. (Eds.), Proceedings IWPSE 03 (International Workshop on principles of software evolution). IEEE Computer Society, pp [26] Weißgerber, P., Diehl, S., Identifying refactorings from source-code changes. In: ASE 06: Proceedings of the 21st IEEE/ACM International Conference on Automated Software Engineering. IEEE Computer Society, Washington, DC, USA, pp [27] Wilking, D., Khan, U. F., Kowalewski, S., An empirical evaluation of refactoring. e-informatica Software Engineering Journal 1 (1), [28] Xing, Z., Stroulia, E., Refactoring detection based on umldiff change-facts queries. In: WCRE 06: Proceedings of the 13th Working Conference on Reverse Engineering. IEEE Computer Society, Washington, DC, USA, pp

Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study

Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study Does the Act of Refactoring Really Make Code Simpler? A Preliminary Study Francisco Zigmund Sokol 1, Mauricio Finavaro Aniche 1, Marco Aurélio Gerosa 1 1 Department of Computer Science University of São

More information

Curriculum Vitae. Zhenchang Xing

Curriculum Vitae. Zhenchang Xing Curriculum Vitae Zhenchang Xing Computing Science Department University of Alberta, Edmonton, Alberta T6G 2E8 Phone: (780) 433 0808 E-mail: xing@cs.ualberta.ca http://www.cs.ualberta.ca/~xing EDUCATION

More information

An Automatic Reversible Transformation from Composite to Visitor in Java

An Automatic Reversible Transformation from Composite to Visitor in Java An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,

More information

Comparing Methods to Identify Defect Reports in a Change Management Database

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

More information

Finding Code Clones for Refactoring with Clone Metrics : A Case Study of Open Source Software

Finding Code Clones for Refactoring with Clone Metrics : A Case Study of Open Source Software THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS TECHNICAL REPORT OF IEICE. Finding Code Clones for Refactoring with Clone Metrics : A Case Study of Open Source Software Eunjong CHOI,

More information

RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS

RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS RANKING REFACTORING PATTERNS USING THE ANALYTICAL HIERARCHY PROCESS Eduardo Piveta 1, Ana Morra 2, Maelo Penta 1 João Araújo 2, Pedro Guerrro 3, R. Tom Price 1 1 Instituto de Informática, Universidade

More information

Empirical study of software quality evolution in open source projects using agile practices

Empirical study of software quality evolution in open source projects using agile practices 1 Empirical study of software quality evolution in open source projects using agile practices Alessandro Murgia 1, Giulio Concas 1, Sandro Pinna 1, Roberto Tonelli 1, Ivana Turnu 1, SUMMARY. 1 Dept. Of

More information

C1. Developing and distributing EPM, a tool for collecting quantitative data.

C1. Developing and distributing EPM, a tool for collecting quantitative data. EASE Project: Introducing Empirical Software Engineering into Japanese Industry Naoki Ohsugi Graduate School of Information Science, Nara Institute of Science and Technology Kansai Science City, 630-0192

More information

How To Calculate Class Cohesion

How To Calculate Class Cohesion Improving Applicability of Cohesion Metrics Including Inheritance Jaspreet Kaur 1, Rupinder Kaur 2 1 Department of Computer Science and Engineering, LPU, Phagwara, INDIA 1 Assistant Professor Department

More information

Towards a Big Data Curated Benchmark of Inter-Project Code Clones

Towards a Big Data Curated Benchmark of Inter-Project Code Clones Towards a Big Data Curated Benchmark of Inter-Project Code Clones Jeffrey Svajlenko, Judith F. Islam, Iman Keivanloo, Chanchal K. Roy, Mohammad Mamun Mia Department of Computer Science, University of Saskatchewan,

More information

Supporting Software Development Process Using Evolution Analysis : a Brief Survey

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 samaneh@ualberta.ca Abstract During

More information

What Questions Developers Ask During Software Evolution? An Academic Perspective

What Questions Developers Ask During Software Evolution? An Academic Perspective What Questions Developers Ask During Software Evolution? An Academic Perspective Renato Novais 1, Creidiane Brito 1, Manoel Mendonça 2 1 Federal Institute of Bahia, Salvador BA Brazil 2 Fraunhofer Project

More information

Review Protocol Agile Software Development

Review Protocol Agile Software Development Review Protocol Agile Software Development Tore Dybå 1. Background The concept of Agile Software Development has sparked a lot of interest in both industry and academia. Advocates of agile methods consider

More information

Adding Examples into Java Documents

Adding Examples into Java Documents 2009 IEEE/ACM International Conference on Automated Software Engineering Adding Examples into Java Documents Jinhan Kim, Sanghoon Lee, Seung-won Hwang Pohang University of Science and Technology Pohang,

More information

A Case Study of Calculation of Source Code Module Importance

A Case Study of Calculation of Source Code Module Importance A Case Study of Calculation of Source Code Module Importance Takaaki Goto 1, Setsuo Yamada 2, Tetsuro Nishino 1, and Kensei Tsuchida 3 1 Graduate School of Informatics and Engineering, The University of

More information

Analyze and Design of Information Systems Using OODPM for Small Scale Businesses

Analyze and Design of Information Systems Using OODPM for Small Scale Businesses Analyze and Design of Information Systems Using OODPM for Small Scale Businesses Pavel Petkun Offer Drori The Hebrew University of Jerusalem E-mail: pashka, offerd {@cs.huji.ac.il} Abstract In the modern

More information

Algorithm S Recommendations and Tests

Algorithm S Recommendations and Tests An Initial Test Suite for Automated Extract Class Refactorings Keith Cassell, Peter Andreae, Lindsay Groves, James Noble School of Engineering and Computer Science Victoria University of Wellington Wellington,

More information

A survey of code-based change impact analysis techniques

A survey of code-based change impact analysis techniques SOFTWARE TESTING, VERIFICATION AND RELIABILITY Softw. Test. Verif. Reliab. (2012) Published online in Wiley Online Library (wileyonlinelibrary.com)..1475 A survey of code-based change impact analysis techniques

More information

Processing and data collection of program structures in open source repositories

Processing and data collection of program structures in open source repositories 1 Processing and data collection of program structures in open source repositories JEAN PETRIĆ, TIHANA GALINAC GRBAC AND MARIO DUBRAVAC, University of Rijeka Software structure analysis with help of network

More information

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS

IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS IMPROVING JAVA SOFTWARE THROUGH PACKAGE STRUCTURE ANALYSIS Edwin Hautus Compuware Europe P.O. Box 12933 The Netherlands edwin.hautus@nl.compuware.com Abstract Packages are an important mechanism to decompose

More information

How We Refactor, and How We Know It

How We Refactor, and How We Know It How We Refactor, and How We Know It Emerson Murphy-Hill Portland State University emerson@cs.pdx.edu Chris Parnin Georgia Institute of Technology chris.parnin@gatech.edu Andrew P. Black Portland State

More information

Practical Refactoring-Based Framework Upgrade

Practical Refactoring-Based Framework Upgrade Practical Refactoring-Based Framework Upgrade Ilie Şavga, Michael Rudolf, Sebastian Götz, Uwe Aßmann 20.10.2008 GPCE'08: Nashville, Tennessee Restructuring a Sign John Thompson, hatter, makes and sells

More information

Agile Methods and Software Maintenance by Dr. David F. Rico, PMP, CSM

Agile Methods and Software Maintenance by Dr. David F. Rico, PMP, CSM Agile Methods and Software Maintenance by Dr. David F. Rico, PMP, CSM Agile Methods only apply to the software "development" portion of the lifecycle and certainly don't apply to the software maintenance

More information

CSC408H Lecture Notes

CSC408H Lecture Notes CSC408H Lecture Notes These lecture notes are provided for the personal use of students taking Software Engineering course in the Summer term 2005 at the University of Toronto. Copying for purposes other

More information

Industrial Application of Clone Change Management System

Industrial Application of Clone Change Management System Industrial Application of Clone Change Management System Yuki Yamanaka, Eunjong Choi, Norihiro Yoshida, Katsuro Inoue, Tateki Sano Graduate School of Information Science and Technology, Osaka University,

More information

Chapter 9 Software Evolution

Chapter 9 Software Evolution Chapter 9 Software Evolution Summary 1 Topics covered Evolution processes Change processes for software systems Program evolution dynamics Understanding software evolution Software maintenance Making changes

More information

Structural Complexity Evolution in Free Software Projects: A Case Study

Structural Complexity Evolution in Free Software Projects: A Case Study Structural Complexity Evolution in Free Software Projects: A Case Study Antonio Terceiro and Christina Chavez Computer Science Department Universidade Federal da Bahia {terceiro,flach}@dcc.ufba.br Abstract.

More information

SERG. Evaluating the Lifespan of Code Smells using Software Repository Mining

SERG. Evaluating the Lifespan of Code Smells using Software Repository Mining Delft University of Technology Software Engineering Research Group Technical Report Series Evaluating the Lifespan of Code Smells using Software Repository Mining Ralph Peters, Andy Zaidman Report TUD-SERG-2012-003

More information

Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System

Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System Co-evolving Code-Related and Database-Related Changes in a Data-Intensive Software System Mathieu Goeminne, Alexandre Decan, Tom Mens Département Informatique, Université de Mons 7000 Mons, Belgique firstname.lastname@umons.ac.be

More information

Tracking the Impact of Design Changes During Software Development

Tracking the Impact of Design Changes During Software Development Tracking the Impact of Design Changes During Software Development Frank Padberg Fakultät für Informatik Universität Karlsruhe, Germany padberg@ira.uka.de Abstract Design changes occur frequently during

More information

An Approach for Extracting Modules from Monolithic Software Architectures

An Approach for Extracting Modules from Monolithic Software Architectures An Approach for Extracting Modules from Monolithic Software Architectures Ricardo Terra, Marco Túlio Valente, Roberto S. Bigonha Universidade Federal de Minas Gerais, Brazil {terra,mtov,bigonha@dcc.ufmg.br

More information

Génie Logiciel et Gestion de Projets. Evolution

Génie Logiciel et Gestion de Projets. Evolution Génie Logiciel et Gestion de Projets Evolution 1 Roadmap Evolution: definitions Re-engineering Legacy systems Reverse engineering Software Visualisation Re-engineering Patterns 2 Evolution: Definitions

More information

Software Evolution and Aspect-Oriented Programming

Software Evolution and Aspect-Oriented Programming Software Evolution and Aspect-Oriented Programming Belgian Symposium and Contact Day Monday, 3 May 2004 Het Pand, Gent Software Evolution and Aspect-Oriented Programming Co-organised by FWO Scientific

More information

The software developers view on product metrics A survey-based experiment

The software developers view on product metrics A survey-based experiment Annales Mathematicae et Informaticae 37 (2010) pp. 225 240 http://ami.ektf.hu The software developers view on product metrics A survey-based experiment István Siket, Tibor Gyimóthy Department of Software

More information

VISUALIZATION APPROACH FOR SOFTWARE PROJECTS

VISUALIZATION APPROACH FOR SOFTWARE PROJECTS Canadian Journal of Pure and Applied Sciences Vol. 9, No. 2, pp. 3431-3439, June 2015 Online ISSN: 1920-3853; Print ISSN: 1715-9997 Available online at www.cjpas.net VISUALIZATION APPROACH FOR SOFTWARE

More information

Real-World Object-Oriented Design Experience for Computer Science Students

Real-World Object-Oriented Design Experience for Computer Science Students Real-World Object-Oriented Design Experience for Computer Science Students Abstract Due to the limitations of time and resources, many undergraduate Software Engineering courses provide a survey of a broad

More information

Exploiting Dynamic Information in IDEs Eases Software Maintenance

Exploiting Dynamic Information in IDEs Eases Software Maintenance Exploiting Dynamic Information in IDEs Eases Software Maintenance David Röthlisberger Software Composition Group, University of Bern, Switzerland roethlis@iam.unibe.ch Abstract The integrated development

More information

C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical

C. Wohlin, Is Prior Knowledge of a Programming Language Important for Software Quality?, Proceedings 1st International Symposium on Empirical C. Wohlin, "Is Prior Knowledge of a Programming Language Important for Software Quality?", Proceedings 1st International Symposium on Empirical Software Engineering, pp. 27-36, Nara, Japan, October 2002.

More information

AURA: A Hybrid Approach to Identify Framework Evolution

AURA: A Hybrid Approach to Identify Framework Evolution AURA: A Hybrid Approach to Identify Framework Evolution Wei Wu 1, Yann-Gaël Guéhéneuc 1, Giuliano Antoniol 2, and Miryung Kim 3 1 Ptidej Team, DGIGL, École Polytechnique de Montréal, Canada 2 SOCCER Lab,

More information

Software Engineering. So(ware Evolu1on

Software Engineering. So(ware Evolu1on Software Engineering So(ware Evolu1on 1 Software change Software change is inevitable New requirements emerge when the software is used; The business environment changes; Errors must be repaired; New computers

More information

Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm

Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm Prediction of Software Development Modication Eort Enhanced by a Genetic Algorithm Gerg Balogh, Ádám Zoltán Végh, and Árpád Beszédes Department of Software Engineering University of Szeged, Szeged, Hungary

More information

Improving the productivity of software developers

Improving the productivity of software developers Improving the productivity of software developers Lecture 1 - What recommenders can be built? Gail C. Murphy University of British Columbia Tasktop Technologies @gail_murphy 1 Laser Summer School 2014

More information

The Evolution of Mobile Apps: An Exploratory Study

The Evolution of Mobile Apps: An Exploratory Study The Evolution of Mobile Apps: An Exploratory Study Jack Zhang, Shikhar Sagar, and Emad Shihab Rochester Institute of Technology Department of Software Engineering Rochester, New York, USA, 14623 {jxz8072,

More information

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2

BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT. March 2013 EXAMINERS REPORT. Software Engineering 2 BCS HIGHER EDUCATION QUALIFICATIONS Level 6 Professional Graduate Diploma in IT March 2013 EXAMINERS REPORT Software Engineering 2 General Comments The pass rate this year was significantly better than

More information

EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM

EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM EMPIRICAL STUDY OF THE EVOLUTION OF AGILE-DEVELOPED SOFTWARE SYSTEM IN JORDANIAN'S TELECOM Dr.Walid Qassim Qwaider Majmaah University College of Science and Humanities in Ghat Management Information Systems

More information

Program Understanding in Software Engineering

Program Understanding in Software Engineering Taming the complexity: The need for program understanding in software engineering Raghvinder S. Sangwan, Ph.D. Pennsylvania State University, Great Valley School of Graduate Professional Studies Robert

More information

EXTENDED ANGEL: KNOWLEDGE-BASED APPROACH FOR LOC AND EFFORT ESTIMATION FOR MULTIMEDIA PROJECTS IN MEDICAL DOMAIN

EXTENDED ANGEL: KNOWLEDGE-BASED APPROACH FOR LOC AND EFFORT ESTIMATION FOR MULTIMEDIA PROJECTS IN MEDICAL DOMAIN EXTENDED ANGEL: KNOWLEDGE-BASED APPROACH FOR LOC AND EFFORT ESTIMATION FOR MULTIMEDIA PROJECTS IN MEDICAL DOMAIN Sridhar S Associate Professor, Department of Information Science and Technology, Anna University,

More information

IT SPIRAL: A Case Study in Scalable Software Engineering Education

IT SPIRAL: A Case Study in Scalable Software Engineering Education 22nd Conference on Software Engineering Education and Training IT SPIRAL: A Case Study in Scalable Software Engineering Education Michael Barker, Katsuro Inoue Nara Institute of Science and Technology,

More information

Automatic software measurement data collection for students

Automatic software measurement data collection for students Automatic software measurement data collection for students 1. Automatic software measurement within a software engineering class Software is invisible and complex, so it is difficult to understand the

More information

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations

Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Investigation of Adherence Degree of Agile Requirements Engineering Practices in Non-Agile Software Development Organizations Mennatallah H. Ibrahim Department of Computers and Information Sciences Institute

More information

An Empirical Investigation into the Role of API-Level Refactorings during Software Evolution

An Empirical Investigation into the Role of API-Level Refactorings during Software Evolution An Empirical Investigation into the Role of API-Level Refactorings during Software Evolution ABSTRACT Miryung Kim The University of Texas at Austin Austin TX miryung@ece.utexas.edu It is widely believed

More information

ForeverSOA: Towards the Maintenance of Service Oriented Software

ForeverSOA: Towards the Maintenance of Service Oriented Software Author manuscript, published in "SQM 20 - Fifth CSMR International Workshop on Software Quality and Maintainability (20)" ForeverSOA: Towards the Maintenance of Service Oriented Software Dionysis Athanasopoulos

More information

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE

CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE CHALLENGES AND WEAKNESSES OF AGILE METHOD IN ENTERPRISE ARCHITECTURE Zahra Askarinejad Amiri 1 1 Department of Computer Engineering, Staffordshire University ABSTRACT zahra.askarinejad@gmail.com As Information

More information

Different Approaches using Change Impact Analysis of UML Based Design for Software Development

Different Approaches using Change Impact Analysis of UML Based Design for Software Development Different Approaches using Change Impact Analysis of UML Based Design for Software Development Ali Tariq Bhatti 1, Muhammad Murad Haider 2, Zill-e-Subhan 2 1 North Carolina A&T State University, Greensboro

More information

Cost-Effective Traceability Links for Architecture-Level Software Understanding: A Controlled Experiment

Cost-Effective Traceability Links for Architecture-Level Software Understanding: A Controlled Experiment Cost-Effective Traceability Links for Architecture-Level Software Understanding: A Controlled Experiment Muhammad Atif Javed, Srdjan Stevanetic and Uwe Zdun Software Architecture Research Group University

More information

Clone Detection in a Product Line Context

Clone Detection in a Product Line Context Clone Detection in a Product Line Context Thilo Mende, Felix Beckwermert University of Bremen, Germany {tmende,beckwermert}@informatik.uni-bremen.de Abstract: Software Product Lines (SPL) can be used to

More information

Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship

Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship Software Bugs and Evolution: A Visual Approach to Uncover Their Relationship Marco D Ambros and Michele Lanza Faculty of Informatics University of Lugano, Switzerland Abstract Versioning systems such as

More information

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework

Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,

More information

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas...

Software Engineering. Introduction. Software Costs. Software is Expensive [Boehm] ... Columbus set sail for India. He ended up in the Bahamas... Software Engineering Introduction... Columbus set sail for India. He ended up in the Bahamas... The economies of ALL developed nations are dependent on software More and more systems are software controlled

More information

Usability metrics for software components

Usability metrics for software components Usability metrics for software components Manuel F. Bertoa and Antonio Vallecillo Dpto. Lenguajes y Ciencias de la Computación. Universidad de Málaga. {bertoa,av}@lcc.uma.es Abstract. The need to select

More information

maintainer a web-dashboard for R package maintainers

maintainer a web-dashboard for R package maintainers maintainer a web-dashboard for R package maintainers Maëlick Claes COMPLEXYS Research Institute University of Mons, Belgium RIMEL 2nd December 2015 R ecosystem Statistical environment Multiple package

More information

Quantitative Evaluation of Software Quality Metrics in Open-Source Projects

Quantitative Evaluation of Software Quality Metrics in Open-Source Projects Quantitative Evaluation of Software Quality Metrics in Open-Source Projects Henrike Barkmann Rüdiger Lincke Welf Löwe Software Technology Group, School of Mathematics and Systems Engineering Växjö University,

More information

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics

Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics Empirical study of Software Quality Evaluation in Agile Methodology Using Traditional Metrics Kumi Jinzenji NTT Software Innovation Canter NTT Corporation Tokyo, Japan jinzenji.kumi@lab.ntt.co.jp Takashi

More information

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object

Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Alain Abran a,b, Kenza Meridji b, Javier Dolado a a Universidad del País Vasco/Euskal Herriko Unibertsitatea b Ecole de technologie

More information

Considering Polymorphism in Change-Based Test Suite Reduction

Considering Polymorphism in Change-Based Test Suite Reduction Considering Polymorphism in Change-Based Test Suite Reduction Ali Parsai, Quinten David Soetens, Alessandro Murgia, and Serge Demeyer University of Antwerp, Antwerpen, Belgium ali.parsai@student.uantwerpen.be

More information

Software Engineering 1

Software Engineering 1 THE BCS PROFESSIONAL EXAMINATIONS Diploma April 2006 EXAMINERS REPORT Software Engineering 1 General Comments Most of the scripts produced by candidates this year were well structured and readable, showing

More information

Making Architectural Design Phase Obsolete TDD as a Design Method

Making Architectural Design Phase Obsolete TDD as a Design Method HUT / SoberIT 2004 Spring T-76.650 SQA in Agile Software Development 1 Making Architectural Design Phase Obsolete TDD as a Design Method Marc Josefsson T-76.650 Seminar course on SQA in Agile Software

More information

QualitySpy: a framework for monitoring software development processes

QualitySpy: a framework for monitoring software development processes Journal of Theoretical and Applied Computer Science Vol. 6, No. 1, 2012, pp. 35-45 ISSN 2299-2634 http://www.jtacs.org QualitySpy: a framework for monitoring software development processes Marian Jureczko,

More information

A comparison of programmers opinions in change impact analysis

A comparison of programmers opinions in change impact analysis Ŕ periodica polytechnica Electrical Engineering 54/3-4 (2010) 111 121 doi: 10.3311/pp.ee.2010-3-4.05 web: http:// www.pp.bme.hu/ ee c Periodica Polytechnica 2010 A comparison of programmers opinions in

More information

Revised Modularity Index to Measure Modularity of OSS Projects with Case Study of Freemind

Revised Modularity Index to Measure Modularity of OSS Projects with Case Study of Freemind Revised Modularity Index to Measure Modularity of OSS Projects with Case Study of Freemind Andi Wahju Rahardjo Emanuel Informatics Bachelor Program Maranatha Christian University Bandung, Indonesia ABSTRACT

More information

II. TYPES OF LEVEL A.

II. TYPES OF LEVEL A. Study and Evaluation for Quality Improvement of Object Oriented System at Various Layers of Object Oriented Matrices N. A. Nemade 1, D. D. Patil 2, N. V. Ingale 3 Assist. Prof. SSGBCOET Bhusawal 1, H.O.D.

More information

Sample Workshops - An Overview of Software Development Practices

Sample Workshops - An Overview of Software Development Practices Report on MSR 2004: International Workshop on Mining Software Repositories Ahmed E. Hassan and Richard C. Holt Software Architecture Group (SWAG) School of Computer Science University of Waterloo Waterloo,

More information

NextBug: A Tool for Recommending Similar Bugs in Open-Source Systems

NextBug: A Tool for Recommending Similar Bugs in Open-Source Systems NextBug: A Tool for Recommending Similar Bugs in Open-Source Systems Henrique S. C. Rocha 1, Guilherme A. de Oliveira 2, Humberto T. Marques-Neto 2, Marco Túlio O. Valente 1 1 Department of Computer Science

More information

Aspect Mining in Procedural Object-Oriented Code

Aspect Mining in Procedural Object-Oriented Code Aspect Mining in Procedural Object-Oriented Code Muhammad Usman BHATTI 1 Stéphane DUCASSE 2 Awais RASHID 3 1 CRI, Université de Paris 1 Sorbonne, France 2 INRIA - Lille Nord Europe, France 3 Computing

More information

Using Recovered Views to Track Architectural Evolution

Using Recovered Views to Track Architectural Evolution Using Recovered Views to Track Architectural Evolution Tamar Richner Software Composition Group, Institut für Informatik (IAM) Universität Bern, Neubrückstrasse 10, 3012 Berne,Switzerland richner@iam.unibe.ch,

More information

Community-Assisted Software Engineering Decision Making. Technical Report

Community-Assisted Software Engineering Decision Making. Technical Report Community-Assisted Software Engineering Decision Making Technical Report Department of Computer Science and Engineering University of Minnesota 4-192 Keller Hall 200 Union Street SE Minneapolis, MN 55455-0159

More information

Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka

Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka Lund, November 16, 2015. Tihana Galinac Grbac University of Rijeka Motivation New development trends (IoT, service compositions) Quality of Service/Experience Demands Software (Development) Technologies

More information

Software Lifetime and its Evolution Process over Generations

Software Lifetime and its Evolution Process over Generations Software Lifetime and its Evolution Process over Generations Tetsuo Tamai Graduate School of Systems Management The University of Tsukuba, Tokyo Tokyo 112, Japan Yohsuke Torimitsu Systems Division Nippon

More information

The Effectiveness of Automated Static Analysis Tools for Fault Detection and Refactoring Prediction

The Effectiveness of Automated Static Analysis Tools for Fault Detection and Refactoring Prediction The Effectiveness of Automated Static Analysis Tools for Fault Detection and Refactoring Prediction Fadi Wedyan, Dalal Alrmuny, and James M. Bieman Colorado State University Computer Science Department

More information

Improving Agility in Model-Driven Web Engineering

Improving Agility in Model-Driven Web Engineering Improving Agility in Model-Driven Web Engineering José Matías Rivero 1,2, Julián Grigera 1, Gustavo Rossi 1,2, Esteban Robles Luna 1, Nora Koch 3,4 1 LIFIA, Facultad de Informática, UNLP, La Plata, Argentina

More information

A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique

A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique , pp. 173-182 http://dx.doi.org/10.14257/ijseia.2014.8.11.16 A Case Study Research on Software Cost Estimation Using Experts Estimates, Wideband Delphi, and Planning Poker Technique Taghi Javdani Gandomani

More information

Software Engineering. Software Evolution und Reengineering! Kapitel 12

Software Engineering. Software Evolution und Reengineering! Kapitel 12 Martin Glinz Harald Gall Software Engineering Kapitel 12 Software Evolution und Reengineering! 2010, 2011 Harald Gall. Alle Rechte vorbehalten. Speicherung und Wiedergabe für den persönlichen, nicht kommerziellen

More information

Ontological Representations of Software Patterns

Ontological Representations of Software Patterns Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software

More information

Problem-Solution Mapping for Forward and Reengineering on Architectural Level

Problem-Solution Mapping for Forward and Reengineering on Architectural Level Problem-Solution Mapping for Forward and Reengineering on Architectural Level Matthias Riebisch, Stephan Bode, and Robert Brcina Ilmenau University of Technology P.O. Box 10 05 65 98684 Ilmenau, Germany

More information

Using Productivity Measure and Function Points to Improve the Software Development Process

Using Productivity Measure and Function Points to Improve the Software Development Process Using Productivity Measure and Function Points to Improve the Software Development Process Eduardo Alves de Oliveira and Ricardo Choren Noya Computer Engineering Section, Military Engineering Institute,

More information

Replacement Decisions for Evolving Software

Replacement Decisions for Evolving Software Replacement Decisions for Evolving Software M M Lehman J F Ramil G Kahen Department of Computing Imperial College 180 Queen's Gate, London SW7 2BZ tel +44 20 7594 8214 fax +44 20 7594 8215 {mml,ramil,gk}@doc.ic.ac.uk

More information

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT

APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT APPLYING CASE BASED REASONING IN AGILE SOFTWARE DEVELOPMENT AIMAN TURANI Associate Prof., Faculty of computer science and Engineering, TAIBAH University, Medina, KSA E-mail: aimanturani@hotmail.com ABSTRACT

More information

arxiv:1412.3726v2 [cs.se] 12 Dec 2014

arxiv:1412.3726v2 [cs.se] 12 Dec 2014 1 Considering Polymorphism in Change-Based Test Suite Reduction Ali Parsai, Quinten David Soetens, Alessandro Murgia, and Serge Demeyer arxiv:1412.3726v2 [cs.se] 12 Dec 2014 University of Antwerp, Antwerpen,

More information

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study

Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study Software Quality Assurance in Agile, XP, Waterfall and Spiral A Comparative Study S. Vijayakumar vijsy003@students.unisa.edu.au School of Computer and Information Science University of South Australia,

More information

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases

sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases sql-schema-comparer: Support of Multi-Language Refactoring with Relational Databases Hagen Schink Institute of Technical and Business Information Systems Otto-von-Guericke-University Magdeburg, Germany

More information

Visualizing Software Architecture Evolution using Change-sets

Visualizing Software Architecture Evolution using Change-sets Visualizing Software Architecture Evolution using Change-sets Andrew McNair, Daniel M. German, and Jens Weber-Jahnke Computer Science Department University of Victoria Victoria, Canada {amcnair,dmg,jens}@cs.uvic.ca

More information

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue

Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Ubiquitous, Pervasive and Mobile Computing: A Reusable-Models-based Non-Functional Catalogue Milene Serrano 1 and Maurício Serrano 1 1 Universidade de Brasília (UnB/FGA), Curso de Engenharia de Software,

More information

How Programmers Use Internet Resources to Aid Programming

How Programmers Use Internet Resources to Aid Programming How Programmers Use Internet Resources to Aid Programming Jeffrey Stylos Brad A. Myers Computer Science Department and Human-Computer Interaction Institute Carnegie Mellon University 5000 Forbes Ave Pittsburgh,

More information

Paris, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana

Paris, October 5 2007 ICSM 2007 Working Session. Francesca Arcelli Fontana Paris, October 5 2007 ICSM 2007 Working Session Francesca Arcelli Fontana RE4APM RE University Industry APM Clients Reverse Engineering The process of analyzing a subject system to (i) identify the system

More information

Semantic Concept Based Retrieval of Software Bug Report with Feedback

Semantic Concept Based Retrieval of Software Bug Report with Feedback Semantic Concept Based Retrieval of Software Bug Report with Feedback Tao Zhang, Byungjeong Lee, Hanjoon Kim, Jaeho Lee, Sooyong Kang, and Ilhoon Shin Abstract Mining software bugs provides a way to develop

More information

Are Suggestions of Coupled File Changes Interesting?

Are Suggestions of Coupled File Changes Interesting? Are Suggestions of Coupled File Changes Interesting? Jasmin Ramadani 1, Stefan Wagner 1 1 University of Stuttgart jasmin.ramadani, stefan.wagner@informatik.uni-stuttgart.de Keywords: Abstract: Data Mining,

More information

The Impact of Release Management and Quality Improvement in Open Source Software Project Management

The Impact of Release Management and Quality Improvement in Open Source Software Project Management Applied Mathematical Sciences, Vol. 6, 2012, no. 62, 3051-3056 The Impact of Release Management and Quality Improvement in Open Source Software Project Management N. Arulkumar 1 and S. Chandra Kumramangalam

More information

Analysis of Open Source Software Development Iterations by Means of Burst Detection Techniques

Analysis of Open Source Software Development Iterations by Means of Burst Detection Techniques Analysis of Open Source Software Development Iterations by Means of Burst Detection Techniques Bruno Rossi, Barbara Russo, and Giancarlo Succi CASE Center for Applied Software Engineering Free University

More information

White Coats: Web-Visualization of Evolving Software in 3D

White Coats: Web-Visualization of Evolving Software in 3D White Coats: Web-Visualization of Evolving Software in 3D Cédric Mesnage Département d informatique Université de Caen, France Michele Lanza Faculty of informatics University of Lugano, Switzerland Abstract

More information