|Home > Research > Software Engineering
We are developing metrics-based techniques to understand the effects of changing requirements on software design and to guide design decisions to best absorb such effects. Application of our techniques to several real life software systems and case studies shows promise. We are also working towards automated software tool support for the techniques.
S. Datta and R. van Engelen, An Examination of the Effects of Offshore and Outsourced Development on the Delegation of Responsibilities to Software Components, in the proceedings of the Second International Conference on Software Engineering Approaches For Offshore and Outsourced Development (SEAFOOD), 2008.
With the increasing influence of outsourcing and offshoring in the design, implementation, and maintenance of large scale software systems, it is essential to have streamlined techniques to guide software development life cycle (SDLC) activities. This paper examines the application of the REQ-CHANGE and COMP-REF techniques on distributed development scenarios and identifies parameters that have the most important bearing on the coordination and success of outsourced and offshore development.
K. Berkling, G. Kiragiannis, A. Zundel, and S. Datta, Timeline Prediction Framework for Iterative Software Engineering Projects with Changes, in the proceedings of the Second International Conference on Software Engineering Approaches For Offshore and Outsourced Development (SEAFOOD), 2008.
Many projects, especially those with off-shoring component, consist of small iterations with changes, deletions and additions, yet there is no formal model of the flow of iterations available. A number of commercially available project prediction tools for projects as a whole exist, but the model adaptation process by iteration, if it exists, is unclear. Furthermore, no project data is available publicly to train on and understand the iterative process. In this work, we discuss parameters and formulas that are well founded in the literature and demonstrate their use within a simulation tool. Project timeline prediction capability is demonstrated on various scenarios of change requests. On a real-world example, we show that iteration-based data collection is necessary to train both the parameters and formulas to accurately model the software engineering process to gain a full understanding of complexities in software engineering process.
S. Datta and R. van Engelen, COMP-REF: a Technique to Guide the Delegation of Responsibilities to Components in Software Systems, in the proceedings of the ETAPS Fundamental Approaches to Software Engineering Conference (FASE'08), 2008, volume 4961 of LNCS Springer Verlag, pages 332-346.
A key concern of software design is the delegation of responsibilities to components such that user needs are most expediently met. This paper presents the COMP-REF technique based on a set of metrics and Linear Programming (LP) to guide the allocation of responsibilities of a systems components. We define the metrics Aptitude Index, Requirement Set, and Concordance Index to extract essential design characteristics and use these metrics in an optimization algorithm for component choice and design.
S. Datta, R. van Engelen, D. Gaitros, and N. Jammigumpula, Experiences with Tracking the Effects of Changing Requirements on Morphbank: a Web-Based Bioinformatics Application, in the proceedings of the ACM SouthEast Conference, 2007, pages 413-418.
In this paper, we present a case study of applying the metrics Mutation Index, Component Set, Dependency Index on Morphbank a web based bioinformatics application to track the effects of changing requirements on a software system and suggest design modifications to mitigate such impact.
S. Datta and R. van Engelen, Effects of Changing Requirements: a Tracking Mechanism for the Analysis Workflow, in the proceedings of the ACM Symposium on Applied Computing, 2006, pages 1739-1744.
Managing the effects of changing requirements remains one of the greatest challenges of enterprise software development. This paper presents a set of metrics Mutation Index, Component Set, Dependency Index and a methodology to measure the effects of requirement changes in the analysis workflow from one iteration to another.
S. Datta, Agility Measurement Index: a Metric for the Crossroads of Software Development Methodologies, in the proceedings of the 44th Annual Southeast Regional Conference, 2006, pages 271-273.
Software engineering's journey to maturity has been marked by the advent of different development methodologies. In this paper, we briefly review the three major techniques of addressing enterprise software development, namely the Waterfall, Unified and Extreme styles. The metric Agility Measurement Index is then proposed, which helps organizations choose the methodology that best suites a particular project.
S. Datta, Crosscutting Score: an Indicator Metric for Aspect Orientation, in the proceedings of the 44th Annual Southeast Regional Conference, 2006, pages 204-208.
Aspect Oriented Programming (AOP) provides powerful techniques for modeling and implementing enterprise software systems. This paper addresses an important question for AOP practitioners how to decide whether a component is best modeled as a class or an aspect? Towards that end, we present an indicator metric, the Crosscutting Score and a method for its calculation and interpretation.
S. Datta, Integrating the FURPS+ Model with Use Cases a Metrics Driven Approach, in the supplementary proceedings of the 16th IEEE International Symposium on Software Reliability Engineering, 2006, pages 4.51-4.52.
As software engineering encounters deepening complexity, the value of integrating functional and non-functional requirements into one cohesive view is well understood. we present an approach for calibrating Use Cases based on the FURPS+ model of organizing user needs.