Currently when I search for some information on the net, Search Enginges definitely do a good job and show me the numerous (37999 results matched !) results.
However, when I start reading each of the links in the top 10 list, I see that most of them have information overlap. I spend 10 mins reading each page, only to find at the end of the 10 links, that the information I have really gained is 1.75 pages may be.
Now, search Enginges hog the bandwidth of the Websites and download the complete data. However the real power of this complete data is not harnessed.
If there is a search engine which has a reader attached to it, which can show me the snippets or excerpts of the information on the page or atleast cluster results based on search content overlap, that would be cool.
Now Challenges for this –
What exactly is information and how do you find its overlap?
Is this computationally feasible?
Adding another layer between search engine and the documents (reader layer), will that be usable?
I write when I feel - research, language, philosophy, joy , frustration, shouting, technology and just about anything
Friday, August 26, 2005
Friday, August 19, 2005
CVS DB tool + Software Inspection ?
I saw today: http://www.cwi.nl/projects/renovate/javaQA/intro.html
The jCosmo code smell browser detects code smells in Java source code that can be used to review the quality of the analyzed code and indicate regions that could benefit from refactoring.
Questions for ME:
Can Inspection be improved by appending Empirical Analysis techniques with Static and Dynamic Software Analsysis?
More generally can knowledge from “Mining Software Repositories” help Inspection and suggest Potential Spots for Refactors??
Saturday, August 13, 2005
Friday, August 12, 2005
Architecture based Analysis
Summary:
As Software engg tries to redefine itself more and more as "re-use engg" we feel the necessity of modularization and component based development.
Estimating quality attributes of a system like performance, reliability, security and others in advance of actually building the system is important. This could be based on the individual components that compose the system. Architecture could be the best place where we could introduce such analysis and then reason about the system further.
Models include - Reliablity based on State-models, Markov Models, Poisson distribution of faults in modules and the interfaces of module interactions. Queying Network theory for Performance etc.
Need lot of exploring in there, but these analyses are what improve the necessity and significance of architectures and also makes architectural formalism worth it.
References:
Arch based analysis of Performance, Reliability and Security of Software Systems: Vibhy Saujanya Sharma and Kishore Trivedi
Architecture based performance analysis: Bridget Spitznagel and David Garlan
As Software engg tries to redefine itself more and more as "re-use engg" we feel the necessity of modularization and component based development.
Estimating quality attributes of a system like performance, reliability, security and others in advance of actually building the system is important. This could be based on the individual components that compose the system. Architecture could be the best place where we could introduce such analysis and then reason about the system further.
Models include - Reliablity based on State-models, Markov Models, Poisson distribution of faults in modules and the interfaces of module interactions. Queying Network theory for Performance etc.
Need lot of exploring in there, but these analyses are what improve the necessity and significance of architectures and also makes architectural formalism worth it.
References:
Arch based analysis of Performance, Reliability and Security of Software Systems: Vibhy Saujanya Sharma and Kishore Trivedi
Architecture based performance analysis: Bridget Spitznagel and David Garlan
Tuesday, August 09, 2005
Analysis of Algorithms
Context: MSIT Course preparation, Algorithms
Refer:
A quick reference to most stuff
http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html
A good course at UCI
http://www1.ics.uci.edu/~eppstein/161/
A good glossary from an old version of the same course
http://www1.ics.uci.edu/~eppstein/161/glossary.html
Refer:
A quick reference to most stuff
http://www.personal.kent.edu/~rmuhamma/Algorithms/algorithm.html
A good course at UCI
http://www1.ics.uci.edu/~eppstein/161/
A good glossary from an old version of the same course
http://www1.ics.uci.edu/~eppstein/161/glossary.html
Monday, August 08, 2005
Problem Frames
Context: Software Requirements & Specifications, Software Design, Problem Analysis
Summary:
When you analyse a problem you see what kind of problem it is, and identify the concerns and difficulties you will have to deal with to solve it. Problem analysis takes you from the level of identifying the problem to the level of making the descriptions needed to solve it. But most realistic problems are too big and complex to handle in just two levels like this. Another level is needed: structuring the problem as a collection of interacting subproblems.If your structuring is successful, the subproblems will be smaller and simpler than the problem you started with, and their interactions will be clear and understandable. Then you can analyse each subproblem separately, as a simple problem on its own, and make the descriptions it needs.
Problem frames help in problem analysis and structure.
- help you by defining different simple problem classes. When you analyse the subproblem, you see what concerns it raises according to the problem frame that fits it. The frame shows you what you must do to solve it.
- problem frames help you to focus on the problem, instead of drifting into inventing solutions. They do this by emphasising the world outside the computer, the effects that are required there, and the relationships among things and events of the world
Problem frames share much of the spirit of design patterns. Design patterns look inwards towards the computer and its software, while problem frames look outwards to the world where the problem is found. But they both identify and describe recurring situations. They provide a taxonomy within which each increment of experience and knowledge you acquire can be assigned to its proper place in a larger scheme, and can be shared and accessed more effectively. So just as in object-oriented design a familiarity with design patterns allows you to say 'we need an instance of the decorator pattern here', so in problem decomposition a familiarity with problem frames allows you to say 'this part of the problem is a workpieces problem'. Having identified a part of a problem with a recognised problem frame, you can draw on experience associated with the frame.
Source:http://www.ferg.org/pfa/preface_to_problem_frames.html
References:
http://en.wikipedia.org/wiki/Problem_Frames_Approach
http://www.ferg.org/pfa/
Summary:
When you analyse a problem you see what kind of problem it is, and identify the concerns and difficulties you will have to deal with to solve it. Problem analysis takes you from the level of identifying the problem to the level of making the descriptions needed to solve it. But most realistic problems are too big and complex to handle in just two levels like this. Another level is needed: structuring the problem as a collection of interacting subproblems.If your structuring is successful, the subproblems will be smaller and simpler than the problem you started with, and their interactions will be clear and understandable. Then you can analyse each subproblem separately, as a simple problem on its own, and make the descriptions it needs.
Problem frames help in problem analysis and structure.
- help you by defining different simple problem classes. When you analyse the subproblem, you see what concerns it raises according to the problem frame that fits it. The frame shows you what you must do to solve it.
- problem frames help you to focus on the problem, instead of drifting into inventing solutions. They do this by emphasising the world outside the computer, the effects that are required there, and the relationships among things and events of the world
Problem frames share much of the spirit of design patterns. Design patterns look inwards towards the computer and its software, while problem frames look outwards to the world where the problem is found. But they both identify and describe recurring situations. They provide a taxonomy within which each increment of experience and knowledge you acquire can be assigned to its proper place in a larger scheme, and can be shared and accessed more effectively. So just as in object-oriented design a familiarity with design patterns allows you to say 'we need an instance of the decorator pattern here', so in problem decomposition a familiarity with problem frames allows you to say 'this part of the problem is a workpieces problem'. Having identified a part of a problem with a recognised problem frame, you can draw on experience associated with the frame.
Source:http://www.ferg.org/pfa/preface_to_problem_frames.html
References:
http://en.wikipedia.org/wiki/Problem_Frames_Approach
http://www.ferg.org/pfa/
CRC cards
Context: Software Design, Analysis
Summary:
References:
http://www.softstar-inc.com/Methodology/CRCIntro.htm
http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/
Summary:
References:
http://www.softstar-inc.com/Methodology/CRCIntro.htm
http://www.csc.calpoly.edu/~dbutler/tutorials/winter96/crc_b/
Subscribe to:
Posts (Atom)