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
Survey of the Usage of Encapsulation in Object-Oriented Programming
Stockholm University, Faculty of Social Sciences, Department of Computer and Systems Sciences.
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

Place, publisher, year, edition, pages
2003.
National Category
Computer Science
Identifiers
URN: urn:nbn:se:su:diva-22706OAI: oai:DiVA.org:su-22706DiVA: diva2:189298
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
In thesis
1. Curbing Dependencies in Software Evolution of Object-Oriented Systems
Open this publication in new window or tab >>Curbing Dependencies in Software Evolution of Object-Oriented Systems
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
Software Evolution, Object-orientation, Software Quality
National Category
Software Engineering
Identifiers
urn:nbn:se:su:diva-1049 (URN)91-7155-271-5 (ISBN)
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

Open Access in DiVA

No full text

Other links

Abstract
By organisation
Department of Computer and Systems Sciences
Computer Science

Search outside of DiVA

GoogleGoogle Scholar

urn-nbn

Altmetric score

urn-nbn
Total: 26 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