scispace - formally typeset
Search or ask a question

Showing papers by "Santonu Sarkar published in 2009"


Journal ArticleDOI
Santonu Sarkar1, S. Ramachandran1, G.S. Kumar1, M.K. Iyengar1, K. Rangarajan1, S. Sivagnanam1 
TL;DR: The modularization approach that one company adopted to reengineer a monolithic banking application beset with maintenance and complexity problems is described, as well as certain other benefits it unearthed as a result of this reengineering exercise.
Abstract: In industries such as banking, retail, transportation, and telecommunications, large software systems support numerous work processes and develop over many years. Throughout their evolution, such systems are subject to repeated debugging and feature enhancements. Consequently, they gradually deviate from the intended architecture and deteriorate into unmanageable monoliths. To contend with this, practitioners often rewrite the entire application in a new technology or invest considerable time in documenting the code and training new engineers to work on it. However, for very large systems, such approaches are typically impossible to carry out. As an alternative, researchers have proposed several tools to automatically modularize software that's grown to be inadequate in both quality and scalability. This case study describes the modularization approach that one company adopted to reengineer a monolithic banking application beset with maintenance and complexity problems. In this case study, we describe the modularization approach we adopted to address this situation, as well as certain other benefits we unearthed as a result of this reengineering exercise.

51 citations


Patent
18 Feb 2009
TL;DR: In this article, a system is provided to determine the impact of implementing a change request on a software program, which includes an architecture model of the software program that includes components, each of which may have attributes that may be used by the system to determine a degree of effort to modify each respective one of the components.
Abstract: In one example, a system is provided to determine the impact of implementing a change request on a software program. The system may include an architecture model of the software program that includes components. Each of the components may have attributes that may be used by the system to determine a degree of effort to modify each respective one of the components. Components may be associated with keywords. The system may search the change request for the keywords to identify components that may be impacted by the change request. The system may determine the degree of effort to modify any impacted component based on the architecture model. The system may determine the overall impact on the software program based on the degree of effort determined for the impacted components.

42 citations


Journal ArticleDOI
TL;DR: This paper presents a method for semi-automatically detecting layers in the system and proposes a quantitative measurement to compute the amount of non-conformance of the system from the set of layered design principles.

25 citations


Proceedings ArticleDOI
Vibhu Saujanya Sharma1, Santonu Sarkar1, Kunal Verma1, Arun Panayappan1, Alex Kass1 
01 Dec 2009
TL;DR: This paper proposes a technique to generate high-level class diagrams from a set of requirements, using aset of requirement-specific heuristics, and expresses the design as a UML class diagram in IBM Rational Software Architect (RSA) format.
Abstract: Practitioners spend significant amounts of time creating high-level design from requirements. Though there exist methodologies to describe and manage requirements and design artifacts, there is not yet an automated way to faithfully translate a requirement into a high-level design. While it is extremely difficult to generate design elements from free-form natural language due to its inherent ambiguity, it is possible to significantly improve the accuracy of the design from relatively structured and constrained natural language. In this paper we propose a technique to generate high-level class diagrams from a set of requirements, using a set of requirement-specific heuristics. In this approach, we leverage work we had previously done to first process a requirement statement to classify it into a requirement type, and then break it into various constituents. Depending on the requirement type and its constituents, our heuristics then discover a functional design comprising of coarse-grained modules, their relationships and responsibilities. We express the design as a UML class diagram in IBM Rational Software Architect (RSA) format. Our preliminary investigation shows that the resulting class diagram is rich, and can be used by practitioners as a basis for further design.

24 citations


Patent
14 Sep 2009
TL;DR: In this article, the authors describe a process, system and computer program product for assessing the modularity of an object-oriented program, which includes calculation of metrics associated with various properties of the program.
Abstract: The present invention describes a process, system and computer program product for assessing the modularity of an object-oriented program. The process includes calculation of metrics associated with various properties of the object-oriented program. Analysis is performed on the basis of the calculated metrics.

6 citations