Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Václav Rajlich is active.

Publication


Featured researches published by Václav Rajlich.


working conference on reverse engineering | 2004

An information retrieval approach to concept location in source code

Andrian Marcus; Andrey Sergeyev; Václav Rajlich; Jonathan I. Maletic

Concept location identifies parts of a software system that implement a specific concept that originates from the problem or the solution domain. Concept location is a very common software engineering activity that directly supports software maintenance and evolution tasks such as incremental change and reverse engineering. This work addresses the problem of concept location using an advanced information retrieval method, Latent Semantic Indexing (LSI). LSI is used to map concepts expressed in natural language by the programmer to the relevant parts of the source code. Results of a case study on NCSA Mosaic are presented and compared with previously published results of other static methods for concept location.


IEEE Transactions on Software Engineering | 2007

Feature Location Using Probabilistic Ranking of Methods Based on Execution Scenarios and Information Retrieval

Denys Poshyvanyk; Yann-Gaël Guéhéneuc; Andrian Marcus; Giuliano Antoniol; Václav Rajlich

This paper recasts the problem of feature location in source code as a decision-making problem in the presence of uncertainty. The solution to the problem is formulated as a combination of the opinions of different experts. The experts in this work are two existing techniques for feature location: a scenario-based probabilistic ranking of events and an information-retrieval-based technique that uses latent semantic indexing. The combination of these two experts is empirically evaluated through several case studies, which use the source code of the Mozilla Web browser and the Eclipse integrated development environment. The results show that the combination of experts significantly improves the effectiveness of feature location as compared to each of the experts used independently


workshop on program comprehension | 2000

Case study of feature location using dependence graph

Kunrong Chen; Václav Rajlich

Software change requests are often formulated as requests to modify or to add a specific feature or concept. To implement these changes, the features or concepts must be located in the code. We describe the scenarios of the feature and concept location. The scenarios utilize a computer-assisted search of software dependence graph. Scenarios are demonstrated by a case study of NCSA Mosaic source code.


IEEE Computer | 2000

A staged model for the software life cycle

Václav Rajlich; Keith H. Bennett

Software engineers have traditionally considered any work after initial delivery as simply software maintenance. Some researchers have divided this work into various tasks, including making changes to functionality (perfective), changing the environment (adaptive), correcting errors (corrective), and making improvements to avoid future problems (preventive). However, many have considered maintenance basically uniform over time. Because software development has changed considerably since its early days, the authors believe this approach no longer suffices. They describe a new view of the software life cycle in which maintenance is actually a series of distinct stages, each with different activities, tools, and business consequences. While the industry still considers postdelivery work as simply software maintenance, the authors claim that the process actually falls into stages. They think both business and engineering can benefit from understanding these stages and their transitions.


workshop on program comprehension | 2002

The role of concepts in program comprehension

Václav Rajlich; Norman Wilde

The paper presents an overview of the role of concepts in program comprehension. It discusses concept location, in which the implementation of a specific concept is located in the code. This process is very common and precedes a large proportion of code changes. The paper also discusses the process of learning about the domain from the code, which is a prerequisite of code reengineering. The paper notes the similarities and overlaps between program comprehension and human learning.


automated software engineering | 2007

Feature location via information retrieval based filtering of a single scenario execution trace

Dapeng Liu; Andrian Marcus; Denys Poshyvanyk; Václav Rajlich

The paper presents a semi-automated technique for feature location in source code. The technique is based on combining information from two different sources: an execution trace, on one hand and the comments and identifiers from the source code, on the other hand. Users execute a single partial scenario, which exercises the desired feature and all executed methods are identified based on the collected trace. The source code is indexed using Latent Semantic Indexing, an Information Retrieval method, which allows users to write queries relevant to the desired feature and rank all the executed methods based on their textual similarity to the query. Two case studies on open source software (JEdit and Eclipse) indicate that the new technique has high accuracy, comparable with previously published approaches and it is easy to use as it considerably simplifies the dynamic analysis.


Communications of The ACM | 2006

Changing the paradigm of software engineering

Václav Rajlich

Software evolution, iterative, and agile development represent a fundamental departure from the previous waterfall-based paradigm of software engineering.


workshop on program comprehension | 2005

Static techniques for concept location in object-oriented code

Andrian Marcus; Václav Rajlich; Joseph Buchta; Maksym Petrenko; Andrey Sergeyev

Concept location in source code is the process that identifies where a software system implements a specific concept. While it is well accepted that concept location is essential for the maintenance of complex procedural code like code written in C, it is much less obvious whether it is also needed for the maintenance of the object-oriented code. After all, the object-oriented code is structured into classes and well-designed classes already implement concepts, so the issue seems to be reduced to the selection of the appropriate class. The objective of our work is to see if the techniques for concept location are still needed (they are) and whether object-oriented structuring facilitates concept location (it does not). This paper focuses on static concept location techniques that share common prerequisites and are search the source code using regular expression matching, or static program dependencies, or information retrieval. The paper analyses these techniques to see how they compare to each other in terms of their respective strengths and weaknesses.


international conference on program comprehension | 2006

Combining Probabilistic Ranking and Latent Semantic Indexing for Feature Identification

Denys Poshyvanyk; Andrian Marcus; Václav Rajlich; Yann-Gaël Guéhéneuc; Giuliano Antoniol

The paper recasts the problem of feature location in source code as a decision-making problem in the presence of uncertainty. The main contribution consists in the combination of two existing techniques for feature location in source code. Both techniques provide a set of ranked facts from the software, as result to the feature identification problem. One of the techniques is based on a scenario based probabilistic ranking of events observed while executing a program under given scenarios. The other technique is defined as an information retrieval task, based on the latent semantic indexing of the source code. We show the viability and effectiveness of the combined technique with two case studies. A first case study is a replication of feature identification in Mozilla, which allows us to directly compare the results with previously published data. The other case study is a bug location problem in Mozilla. The results show that the combined technique improves feature identification significantly with respect to each technique used independently


IEEE Software | 2004

Incremental change in object-oriented programming

Václav Rajlich; Prashant Gosavi

Incremental change adds new functionality and new properties to software. We concentrate on IC in the context of object-oriented Java programs and study selected IC activities. Because change requests are formulated in terms of program concepts - chunks of knowledge about the program and application domain - the resulting IC activities also focus on program concepts. Moreover, most change requests originate from the end user, so the end users view of the program is the source of most concepts that govern IC. Additional concepts might originate from other programmers and deal with the program architecture or algorithms. Program dependencies also play a crucial role in IC; if a program component changes, other dependent components might also have to change. This is true even for well-designed object-oriented programs, as our example demonstrates.

Collaboration


Dive into the Václav Rajlich's collaboration.

Top Co-Authors

Avatar

Andrian Marcus

University of Texas at Dallas

View shared research outputs
Top Co-Authors

Avatar

Shaochun Xu

Wayne State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Norman Wilde

University of West Florida

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Researchain Logo
Decentralizing Knowledge