IntensiVE
A Toolsuite For Documenting
  and Checking Structural
 Source-Code Regularities

                 Kim Mens 1
   ...
Research Problem
       • How to document structural source-code regularities?
             • e.g., naming and coding conv...
Solution
        • Intensional Views
              • groups of entities spread throughout the code
              • that sh...
2 Case Studies
      • DelfSTof
            • Smalltalk prototype for code mining with FCA
            • Documented intere...
Intensional Views
                                 (and Relations)


      • Simplified example
      • Extensional vs. int...
Simplified Example
                                                   BankAccount
                                         ...
Upcoming SlideShare
Loading in …5
×

IntensiVE - A Toolsuite For Documenting and Checking Structural Source-Code Regularities

357
-1

Published on

Presentation at CSMR 2006 on "IntensiVE - A Toolsuite For Documenting and Checking Structural Source-Code Regularities"

As size and complexity of software systems increase, preserving the design and specification of their implementation structure gains importance in order to maintain the evolvability of the system. However, due to constant changes, the implementation structure and its documentation tend to dilute over time. To address this problem, we developed IntensiVE: a toolsuite for documenting and checking structural source-code regularities. Building on the underlying models of intensional views and relations, the toolsuite helps a developer in documenting structural source-code regularities, verifying them and offering fine-grained feedback when the source-code does not satisfy those regularities. By illustrating our tools on a Smalltalk application, we show that violations of the source code against the structural regularities can be detected easily and that our toolsuite provides useful feedback for a developer to refine the regularities or to fix the code so that it does satisfy the regularities.

Published in: Science, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
357
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

IntensiVE - A Toolsuite For Documenting and Checking Structural Source-Code Regularities

  1. 1. IntensiVE A Toolsuite For Documenting and Checking Structural Source-Code Regularities Kim Mens 1 Andy Kellens 2 1 Département d’Ingénierie Informatique Université catholique de Louvain, Belgium 2 Programming Technology Lab Vrije Universiteit Brussel, Belgium
  2. 2. Research Problem • How to document structural source-code regularities? • e.g., naming and coding conventions, as well as other structural dependencies • shared by many entities spread throughout the code • How to verify conformance of this documentation to the source code upon evolution? • and provide fine-grained feedback to the developer in case of problems • to fix the code or refine the documented regularities Intensional Views & Relations IntensiVE Codifying Structural Regularities Co-Evolution of Code and Structure ❄ ❄ ❄
  3. 3. Solution • Intensional Views • groups of entities spread throughout the code • that share some structural property • Intensional Relations • binary relationships between such views • The IntensiVE toolsuite • supports definition of intensional views and relations • enables the verification of constraints on them • provides fine-grained feedback upon problems Intensional Views & Relations IntensiVE Codifying Structural Regularities ❄ Co-Evolution of Code and Structure ❄ ❄
  4. 4. 2 Case Studies • DelfSTof • Smalltalk prototype for code mining with FCA • Documented interesting regularities before restructuring • Reverified validity of regularities after restructuring • SmallWiki • Smalltalk implementation of a WIKI system • Documented regularities on an initial version • Verified validity of regularities on evolved version Intensional Views & Relations IntensiVE Codifying Structural Regularities Co-Evolution of Code and Structure ❄ ❄ ❄
  5. 5. Intensional Views (and Relations) • Simplified example • Extensional vs. intensional views • Alternative intensions • Relations between views Intensional Views & Relations IntensiVE Codifying Structural Regularities ❄ Co-Evolution of Code and Structure ❄ ❄
  6. 6. Simplified Example BankAccount BankCard owner account amount pay(amount) increase(amount) checkPin() decrease(amount) saveToDisk() calculateInterest() saveToDisk()

×