0000000000646856

AUTHOR

Jussi Koskinen

Experiences from Software Maintenance Seminars: Organizing Three Seminars with 127 Groups

Software maintenance and evolution (SME) is an important but problematic topic-area for university-level computer science education. Seminars can be used to provide versatile and up-to-date knowledge for students regarding scientifically relevant issues. We have organized three systematic university-level seminars on SME with a total of 127 seminar groups. Each group has been assigned a task of analyzing one scientific SME-article. The main results include the general confirmed feasibility of the selected seminar-based approach. The paper describes the background of the seminars, their contents, and experiences concerning organization and feasibility of the seminars. The results support org…

research product

An Exploratory Empirical Study of Internal Quality Attributes of Open Source Software Systems

This exploratory empirical study has focused on open source software (OSS). Seven medium-sized OSS systems from the SourceForge repository were analysed. Over 100 internal quality attributes and programming practices were scrutinized by using two semi-automated source code analysis tools (FindBugs and SoftCalc). Many statistically significant relations were revealed by the conducted regression analyses. Seven so-called bad programming practices; as manifested by the measured source code inconsistencies were identified as having significant relations to internal software quality. Additionally we set and tested two hypotheses. That investigation provided mixed results partly supporting some o…

research product

Supporting Impact Analysis by Program Dependence Graph Based Forward Slicing

Since software must evolve to meet the typically changing requirements, source code modifications can not be avoided. Impact analysis is one of the central and relatively demanding tasks of software maintenance. It is constantly needed while aiming at ensuring the correctness of the made modifications. Due to its importance and challenging nature automated support techniques are required. Theoretically, forward slicing is a very suitable technique for that purpose. Therefore, we have implemented a program dependence graph (PDG) based tool, called GRACE, for it. For example, due to the typical rewritings of Visual Basic programs there is a great need to support their impact analysis. However…

research product

Exploratory Analysis of the Relations between Code Cloning and Open Source Software Quality

In recent literature there is still a lack of understanding how the reuse and cloning of software affects its quality. The focus of this study is to analyze the relationships between source code cloning and software quality for the case of open source software project forks (SPFs) as a kind of software reuse. In total 117 releases related to three generations of eight eMule SPFs were scrutinized. Software quality was measured in terms of internal quality attributes. The tools CCFinderX and SoftCalc were used to measure code cloning metrics and internal quality attributes, respectively. In total 8 code cloning metrics and 71 internal quality attributes were analyzed. The quantitative relatio…

research product

Fault-proneness of open source software: Exploring its relations to internal software quality and maintenance process

The goal of this study is to explore how fault-proneness of open source software (OSS) could be explained in terms of internal quality attributes and maintenance process metrics. We reviewed earlier studies and performed a multiple case study of eight Java-based projects based on data available in the Source Forge repository. Overall, we studied 342 re- leases of those systems. As is usual, software quality was regarded as a set of internal and external quality attributes. A to- tal of 76 internal quality attributes were measured from the source code of the selected systems via the tool SoftCalc. Two external quality attributes contributing to fault-proneness were in turn obtained from the …

research product

Retrieving Open Source Software Licenses

Open Source Software maintenance and reuse require identifying and comprehending the applied software licenses. This paper first characterizes software maintenance, and open source software (OSS) reuse which are particularly relevant in this context. The information needs of maintainers and reusers can be supported by reverse engineering tools at different information retrieval levels. The paper presents an automated license retrieval approach called ASLA. User needs, system architecture, tool features, and tool evaluation are presented. The implemented tool features support identifying source file dependencies and licenses in source files, and adding new license templates for identifying l…

research product

Assessing Software Replacement Success: An Industrial Case Study Applying Four Approaches

This paper describes an industrial case study assessing software replacement success and other effects. The target of assessments has been a large commercial legacy system for customer register management. The success of its replacement by its performed rewrite has been assessed via four approaches concerning: user satisfaction, strengths and problems of the system, problem surveillance and expert judgments. The approaches and metrics have been selected in cooperation with industrial experts in order that they would meet the needs of their organization. The assessments have been conducted by comparing the situations before and after the rewrite. They have included quality aspects. The appli…

research product

Evaluation Framework of Hypertext Access for Program Comprehension Support

Hypertext consists of text fragments connected by links enabling fast nonlinear browsing of the fragments. In case of program text there are many alternative ways to form the fragmentation and linkage. Transient hypertext is a general and well-grounded approach for offering capabilities to form versatile information access support for many kinds of central software maintenance activities. Transient hypertextual access structures (THASs) are data structures formed automatically based on situation dependent information needs of the users of program comprehension support tools. The approach has been implemented in HyperSoft system. It is aimed at supporting legacy software maintenance and comp…

research product

Software Modernization Decision Criteria: An Empirical Study

Decisions regarding software evolution strategies such as modernizations are economically important. We present results of our empirical study of the views of decision makers. We have asked their views of the relative importance of 49 software modernization decision criteria. We have gathered data from Finnish software industry. There were 26 experts from 8 organizations involved. They were mainly upper or middle level managers. Our study shows that there is a large set of criteria which should be taken into account, and that those studied by us provide a good coverage of the relevant ones. We list the top-20 criteria. We also performed a cluster analysis which produced two groups of subjec…

research product

Defining the Process for Making Software System Modernization Decisions

This paper outlines a process for software system modernization decisions. The rationale of the process is explained and the process is defined in a way that allows its adaptation for other organizations and situations. The process is a light-weight one and is based on the use of objective data. The procedures for collecting the data are explained. The process has been used to solve a real industrial decision making situation in which the process was successful.

research product

Automated transient hypertext support for software maintenance

research product

ISEBA – A Framework for IS Evolution Benefit Assessment

Decisions regarding information system evolution strategy, including modernization or replacement, are economically significant. Selection of a proper method for analyzing potential options, acquisition of suitable metrics or follow-up data, and evaluation of the results are major challenges in the evolution strategy decision making. In order to address these challenges, a framework for Information System Evolution Benefit Assessment (ISEBA) was developed. ISEBA provides assistance in the selection of a benefit-evaluation method for the investment situation at hand. It is based on empirical research on industrial decision making and co-operation projects, and examination of existing researc…

research product

Analysis of Ten Reverse Engineering Tools

Reverse engineering tools can be used in satisfying the information needs of software maintainers. Especially in case of maintaining large-scale legacy systems tool support is essential. Reverse engineering tools provide various kinds of capabilities to provide the needed information to the tool user. In this paper we analyze the provided capabilities in terms of four aspects: provided data structures, visualization mechanisms, information request specification mechanisms, and navigation features. We provide a compact analysis of ten representative reverse engineering tools for supporting C, C++ or Java: Eclipse Java Development Tools, Wind River Workbench (for C and C++), Understand (for C…

research product

ASLA: reverse engineering approach for software license information retrieval

Software maintenance and reuse require identification of the applied software licenses. The information needs of maintainers and reusers can be supported by reverse engineering tools at different information retrieval levels. The paper presents a reverse engineering approach called ASLA for retrieving license information typically used in OSS. User needs, system architecture, tool features, and tool evaluation are presented. The implemented tool features include support for identifying source file dependencies and licenses in source files. The tool is evaluated against another tool for license information extraction. ASLA supports the same programming languages as GCC. License identificatio…

research product

Seminars on Software Maintenance and Evolution: An Empirical Study of the Background Factors Affecting Student Success

Software maintenance and evolution (SME) is an important but challenging topic area for university-level computer science education. Seminars can be used to provide students with versatile and up-to-date knowledge on scien- tifically relevant issues. We organized three systematic university-level seminars on SME. In these seminars 127 groups have each been assigned the task of analyzing one scientific SME article. The main results concern background factors re- lating to the students, groups and articles as these affect student success in the seminars. This paper presents a strict statis- tical analysis and a discussion of these factors. Fourteen hypotheses were set and tested regarding the…

research product

Software Inspections in Practice: Six Case Studies

Software inspections have been acknowledged as an important method in software engineering, but they are not well applied in practice. This paper discusses the current practices and the related problems based on six case studies in industrial settings. The analysis of inspection practices was organized according to ICMM, which is a model for systematically assessing and improving software inspection process maturity. The sample case organizations used inspections relatively regularly. The involved units are compared and the revealed practices, their characteristics, inspection problems and implications of the study discussed. The main problem areas were non-existent inspection training, lim…

research product

Experimental evaluation of hypertext access structures

Transient hypertextual access structures (THASs) are temporary graphs formed automatically on the basis of the situation-dependent information needs of software engineers. The approach is implemented in the HyperSoft system, which is a hypertext-based software maintenance support tool. THASs highlight the relevant parts of the program and enable nonlinear browsing between them. The system also supports various graphical views whose elements are linked to the program text. This paper describes the effects of using these hypertextual structures in two separate experiments. The subjects of both experiments were computer science students (total N = 70). In both experiments, the subjects perform…

research product

Constructive Dynamic Program Slicing Research

Program slicing is a promising technique for providing automated support for various important software engineering activities. There exists hundreds of scientific studies on the theory of slicing. However, slicing is still not widely applied in software industry. Therefore, there is a need to survey and characterize the conducted research and to analyze what problems hinder progress. This paper answers to that need by providing a survey of constructive dynamic program slicing research focusing on publication series with high visibility. The survey identified 12 dynamic slicers related to which 12 aspects were studied. The analysis revealed many issues which can be seen both as concerns and…

research product

IS evolution benefit assessment: Challenges with economic investment criteria

Maintenance and system evolution activities have a significant role in the information system (IS) life cycle. It has been estimated that approximately 80% of the total IT expenses are allocated for maintenance activities [20]. According to Lehman’s first law, maintenance is necessary, because software needs to be continuously improved or it will get out of date and cannot respond to the requirements of its environment [19]. Despite the importance of IS evolution investments, there is a gap between the IT related costs and company profitability [27]. Brynjolfssen [10] described this as a productivity paradox: information technology utilization has increased since the 70’s but simultaneously…

research product

Legacy system evolution - A comparative study of modernisation and replacement initiation factors

Decisions regarding information system evolution strategy become topical as the organisation’s information systems age and start to approach the end of their life cycle. An interview study was conducted in order to compare factors influencing modernisation and replacement initiation. System age, obsolete technology and high operation or maintenance costs were identified as triggers for both modernisation and replacement projects. The results show that the most prevalent individual reason for modernisation initiative is business development. Common initiation factors for replacement projects were end of vendor support and system’s inability to respond to organisation’s business needs. peerRe…

research product

Industrial Application and Evaluation of a Software Evolution Decision Model

research product

Group Decision-Making Processes in Industrial Software Evolution

Software evolution decision-making is important. Decisions can be made by an individual or a group. Currently it is not known how decision-making is organized in software industry. However, that knowledge is needed to improve the decision-making processes. Therefore, we have studied 29 decision making experts, who were involved in software evolution decision-making. The study was performed with qualitative methods, which enabled the gathering of versatile information concerning the views of the decision-makers. The study revealed group decisions are widely used both in private and public organizations and attitudes towards them are generally positive or neutral. The study provided informati…

research product

Hypertext support for the information needs of software maintainers

Making changes safely to programs requires program comprehension and satisfaction of the information needs of software maintainers. In this paper we provide insights into improving hypertext-based software maintenance support by analyzing those information needs. There exists a series of four earlier, detailed-level empirical studies on the information needs of professional C program maintainers. We focus on these studies, synthesize their results and determine sources from which the required information might be attained. An experimental research tool, the HyperSoft system, is used to demonstrate the satisfaction of information needs and the system is analytically evaluated against the nee…

research product

Software Modernization and Replacement Decision Making in Industry: A Qualitative Study

Software modernization and replacement decisions are crucial to many organizations. They affect greatly to the success and well being of the organizations and their people. The decisions like that are usually presumed to be rational and based on facts. These decisions and how they are made tell much about the decision makers and the decision making tools available to them. Interviews of 29 software modernization decision makers or senior experts were analyzed in order to find out how the decisions were made and what models and tools were used. It turned out that decisions are not as rational as supposed. Intuition is the dominant factor in decision making. Formal software engineering orient…

research product

Conceptual Differences Among Functional Size Measurement Methods

The paper focuses on measuring and assessing the relation of adaptive maintenance process and quality of open source software (OSS). A framework for assessing adaptive maintenance process is proposed and applied. The framework consists of six sub- processes. Five OSSs with considerable number of releases have been studied empirically. Their main evolutionary and quality characteristics have been measured. The main results of the study are the following:. 1) Software maintainability is affected mostly by the activities of the 'analysis' maintenance sub-process. 2) Software testability is affected by the activities of all maintenance sub-processes. 3) Software reliability is affected mostly b…

research product

An Exploratory Case Study of Offshore Outsourcing: Problems in Multicultural Settings

Outsourcing means using factors which are external to an organization to perform its functions whereas offshore outsourcing relies on using foreign resources to perform those functions. We focus in this paper on offshore outsourcing of information systems (ISs). We have conducted an exploratory case study of outsourcing IS support services. The services have been outsourced by a supplier organization which has been based in Finland. Main parts of its customer support services have been allocated to so-called production centers, which have been located in three countries; Latvia, India, and the Philippines. We have gathered qualitative data from nine experts via theme-based interviews. The e…

research product

Assessing maintainability change over multiple software releases

The focus of the paper is to reveal the relationships between software maintainability and other internal software quality attributes. The source code characteristics of five Java-based open-source software products are analyzed using the software measurement tool SoftCalc. The relationships between maintainability and internal quality attributes are identified based on the Pearson product moment correlation analysis. Our results show negative correlations between maintainability and some well-known internal software quality attributes, as well as the ones between maintainability and complexity metrics. Particularly, according to our results, the Number of Data Variables Declared and the De…

research product

Enhancing salmon conservation releases through improved brain development and behaviour

Captive breeding programmes are based on the practice of taking part of an endangered population to captive environment and releasing the captive-born offspring back to the wild. Despite the vast ecological and economical investment in restoration of endangered animal populations through captive breeding programmes - annually more than 5 billion to salmonid fishes alone - they have been unfortunately unsuccessful. The low success of captive breeding programmes is mainly due to lowered fitness of the released animals and their offspring in the wild. Degradation of many behavioural and other fitness related traits are due to (i) very fast genetic domestication and (ii) habituation to the unna…

research product