Change search
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf
Curbing Dependencies in Software Evolution of Object-Oriented Systems
Stockholm University, Faculty of Social Sciences, Department of Computer and Systems Sciences.
2006 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Relationships between classes and objects in object-oriented software are necessary in order for the parts of the systems to provide dynamic behavior. These inherent relationships also create dependencies which can give rise to problems for software evolution of object-oriented software systems. Dependencies in software make systems difficult to understand, reuse, change and verify.

This thesis presents analytical and empirical investigations of dependency-related problems in software evolution of object-oriented software and on how such problems can be handled with dependency focused techniques, methods and processes.

The research presented in this thesis includes: Development of a programming language construct for controlling dependencies; formal experiments on code inspection techniques; exploring change strategies' effects on test suites; an industrial case study of regression test selection techniques for object-oriented software; proving the efficiency and defect detection capabilities of a novel regression test selection technique.

The thesis contributes to increased knowledge on the role of dependencies in software evolution of object-oriented software. Specific contributions are a programming language construct that can control access to dependencies in software. Other main contributions are insights on the efficiency of dependency focused code inspection techniques and contribution to the knowledge on dependency-based regression test selection techniques for large scale software. Another contribution is a novel change-based regression test selection technique.

Place, publisher, year, edition, pages
Kista: Institutionen för data- och systemvetenskap (tills m KTH) , 2006. , 191 p.
Series
Report Series / Department of Computer & Systems Sciences, ISSN 1101-8526 ; 06-011
Keyword [en]
Software Evolution, Object-orientation, Software Quality
National Category
Software Engineering
Identifiers
URN: urn:nbn:se:su:diva-1049ISBN: 91-7155-271-5 (print)OAI: oai:DiVA.org:su-1049DiVA: diva2:189303
Public defence
2006-06-09, sal A, Forum, Isafjordsgatan 39, Kista, 13:00
Opponent
Supervisors
Available from: 2006-05-18 Created: 2006-05-18Bibliographically approved
List of papers
1. Sharing Objects by Read-only References
Open this publication in new window or tab >>Sharing Objects by Read-only References
2002 (English)In: Algebraic methodology and software technology: 9th international conference, AMAST 2002, Saint-Gilles-les-Bains, Reunion Island, France, September 9-13, 2002 : proceedings / [ed] Hélène Kirchner, Christophe Ringeissen, Berlin: Springer Berlin/Heidelberg, 2002, 457-472 p.Chapter in book (Refereed)
Abstract [en]

Exporting objects by reference can be problematic since the

receivers can use the received reference to perform state changing operations

on the referenced object. This can lead to errors if the referenced

object is a subobject of a compound object not anticipating the change.

We propose an extension of a type system with a read-only construct

that can be used to control access to state changing methods. We formulate

and prove a read-only theorem for read-only references stating that

a read-only reference cannot be used to perform operations that change

its referenced object state.

Place, publisher, year, edition, pages
Berlin: Springer Berlin/Heidelberg, 2002
Series
Lecture notes in computer science, ISSN 1611-3349 ; 2422
National Category
Computer Science
Identifiers
urn:nbn:se:su:diva-22705 (URN)3-540-44144-1 (ISBN)
Note

Part of urn:nbn:se:su:diva-1049

Available from: 2006-05-18 Created: 2006-05-18 Last updated: 2014-10-14Bibliographically approved
2. Survey of the Usage of Encapsulation in Object-Oriented Programming
Open this publication in new window or tab >>Survey of the Usage of Encapsulation in Object-Oriented Programming
2003 (English)In: Proceedings of the International Conference on Software Engineering Research and Practice, SERP '03, June 23 - 26, 2003, Las Vegas, Nevada, USA, Volume 2, 2003Conference paper, Published paper (Refereed)
Abstract [en]

In object-oriented programming the concept of encapsulation is used to create abstract datatypes that should be possible to modify only through their external interface. One way to enforce this kind of encapsulation is to declare variables with different access modifiers, such as private or public. However, when using private variables in programming languages with reference semantics, such as e.g. Java, it is only the names of the variables that are protected, not the real objects pointed to by the variables. This problem is sometimes referred to as the representation exposure problem and many proposals addressing this problem have been presented. There is, however, a lack of empirical data on how widespread this problem is in the software industry and its effect on software quality. In this paper we report our finding from a questionnaire survey conducted among software engineers on their view on encapsulation and information hiding issues, their use of OO programming languages, their way of working and their opinions on tools and techniques supporting encapsulation, information hiding and representation exposure

National Category
Computer Science
Identifiers
urn:nbn:se:su:diva-22706 (URN)
Conference
International Conference on Software Engineering Research and Practice, SERP '03, June 23 - 26, 2003, Las Vegas, Nevada, USA
Note

Part of urn:nbn:se:su:diva-1049

Available from: 2006-05-18 Created: 2006-05-18 Last updated: 2014-10-14Bibliographically approved
3. An Experimental Comparison of the Effectiveness and Usefulness of Inspection Techniques for Object-Oriented Programs
Open this publication in new window or tab >>An Experimental Comparison of the Effectiveness and Usefulness of Inspection Techniques for Object-Oriented Programs
2004 (English)In: The 8th International Conference on Empirical Assessment in Software Engineering (EASE 2004): Volym 20 av 26th International Conference on Software Engineering, 23 - 28 May 2004, Edinburgh, Scotland, International Conference on Software Engineering workshop / sponsoring organizations: IEEE Computer Society, Technical Committee on Software Engineering; SIGSOFT, Association for Computing Machinery, Special Interest Group on Software Engineering .̤, 2004, 165-174 p.Conference paper, Published paper (Refereed)
National Category
Computer Science
Identifiers
urn:nbn:se:su:diva-22707 (URN)10.1049/ic:20040409 (DOI)0863414354 (ISBN)9780863414350 (ISBN)
Conference
International Conference on Software Engineering, Association for Computing Machinery Special Interest Group on Software Engineering, Computer Society Technical Committee on Software Engineering, EASE
Note

Part of urn:nbn:se:su:diva-1049

Available from: 2006-05-18 Created: 2006-05-18 Last updated: 2014-10-14Bibliographically approved
4. A Case Study on Testware Maintenance and Change Strategies in System Evolution
Open this publication in new window or tab >>A Case Study on Testware Maintenance and Change Strategies in System Evolution
2004 (English)Report (Refereed)
Place, publisher, year, edition, pages
Stockholm: Institutionen för data- och systemvetenskap, Stockholms universitet, 2004
Series
Technical report / DSV, ISSN 1101-8526 ; 04-007
National Category
Computer Science
Identifiers
urn:nbn:se:su:diva-22708 (URN)
Note

Part of urn:nbn:se:su:diva-1049

Available from: 2006-05-18 Created: 2006-05-18 Last updated: 2014-10-14Bibliographically approved
5. A Case Study of The Class Firewall Regression Test Selection Technique using Scenario Testing on a Large Scale Distributed Software System
Open this publication in new window or tab >>A Case Study of The Class Firewall Regression Test Selection Technique using Scenario Testing on a Large Scale Distributed Software System
2005 (English)In: Empirical software engineering, 2005: 2005 International Symposium on Empirical Software Engineering, Piscataway, N.J: IEEE conference proceedings, 2005, 74-83 p.Chapter in book (Refereed)
Abstract [en]

Regression testing is expensive and may consume much of organizations’ software development budgets. Thus, it is of interest to reduce the total time devoted to test execution by using test selection techniques. Many techniques have been proposed but few have been evaluated on real-world, large scale systems. In this paper we report on an empirical evaluation of using the class firewall regression test selection technique, in combination with scenario testing, on a large scale industrial software system using the Java byte code in the analysis. The study was performed on a large complex distributedsoftware system in one of Sweden’s largest banks. Effects of using scenario testing together with regression test selection are reported. The results are that not all test cases were selected by the class firewall selection technique. Using scenario testing, where test cases are dependent, affects the number of test cases selected, as do the location and number of changes in the system.

Place, publisher, year, edition, pages
Piscataway, N.J: IEEE conference proceedings, 2005
National Category
Computer Science
Identifiers
urn:nbn:se:su:diva-22709 (URN)0-7803-9507-7 (ISBN)
Note

Part of urn:nbn:se:su:diva-1049

Available from: 2006-05-18 Created: 2006-05-18 Last updated: 2014-10-14Bibliographically approved
6. Improving Class Firewall Regression Testing by Removing the Class Firewall
Open this publication in new window or tab >>Improving Class Firewall Regression Testing by Removing the Class Firewall
2007 (English)In: International journal of software engineering and knowledge engineering, ISSN 0218-1940, Vol. 17, no 3, 359-378 p.Article in journal (Refereed) Published
Abstract [en]

One regression test selection technique proposed for object-oriented programs is the Class firewall regression test selection technique. The selection technique selects test cases for regression test, which test changed classes and classes depending on changed classes. However, in empirical studies of the application of the technique, we observed that another technique found the same defects, selected fewer tests and required a simpler, less costly, analysis. The technique, which we refer to as the Change-based regression test selection technique, is basically the Class firewall technique, but with the class firewall removed. In this paper we formulate a hypothesis stating that these empirical observations are not incidental, but an inherent property of the Class firewall technique. We prove that the hypothesis holds for Java in a stable testing environment, and conclude that the effectiveness of the Class firewall regression testing technique can be improved without sacrificing the defect detection capability of the technique, by removing the class firewall.

Place, publisher, year, edition, pages
World Scientific Publishing Co., 2007
Keyword
Regression testing; software testing; object-orientation; Java; class firewall; software evolution
National Category
Computer and Information Science
Identifiers
urn:nbn:se:su:diva-22710 (URN)10.1142/S0218194007003306 (DOI)000251175700004 ()
Note
Part of urn:nbn:se:su:diva-1049Available from: 2006-05-18 Created: 2006-05-18 Last updated: 2010-11-03Bibliographically approved

Open Access in DiVA

fulltext(436 kB)1660 downloads
File information
File name FULLTEXT01.pdfFile size 436 kBChecksum SHA-1
d4c278c03771312dae7157e8b897fb09ccab48ef2b268535bc085c44bf87a81677787bdb
Type fulltextMimetype application/pdf

By organisation
Department of Computer and Systems Sciences
Software Engineering

Search outside of DiVA

GoogleGoogle Scholar
Total: 1660 downloads
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

isbn
urn-nbn

Altmetric score

isbn
urn-nbn
Total: 1651 hits
CiteExportLink to record
Permanent link

Direct link
Cite
Citation style
  • apa
  • ieee
  • modern-language-association-8th-edition
  • vancouver
  • Other style
More styles
Language
  • de-DE
  • en-GB
  • en-US
  • fi-FI
  • nn-NO
  • nn-NB
  • sv-SE
  • Other locale
More languages
Output format
  • html
  • text
  • asciidoc
  • rtf