2007-12-21 Fri Dec 21 16:12 More from Computer Reviews December 2007
The latest CR has a second and pretty positive review of
[Tate05]
(0712-1163)
as the fruits of experience with agile methods.
The previous review is of a collection of papers on
Software Improvement
[ConradiDybaEtAl06]
(0712-1162), and the next (0712-1164)
[AnderssonGreenspunGrumet06]
is a text for an
MIT course on software engineering Internet applications.
Meanwhile I'm studying a paper in IEEE Transactions on SOftware
Engineering that demonstrates the startling consistent way that
the properties of modules in object-orented systems follow
log-normal and Pareto distributions. More on this later.
2007-12-21 Fri Dec 21 09:12 Review published in Computer Reviews
Computer Reviews (CR) has published my review of
Gibbs06 (RUP and Outsorcing)
as Review number 0712-1204, pages 743-744. I've been told,
be EMail that my review of
[ SchneiderSEtAl06 ]
has been published in the CR website.
I've found CR an excellent review of the computer science and software
engineering literatur -- I've been reading since the 1970's and
writing reviews for it since the 1990's. You can look at their
web site
[ http://www.reviews.com/ ]
and subscribe to read the reviews if you think it worth keeping up
with a very wide range of expert opinions and experiences.
For example, earlier in the blog I put my notes on
[ TaylorH06 ]
which describes the risks found in outsourced projects, and in
the December issue of CR there are two reviews of the same paper
(0712-1254 and 0712-1255, pages 767-768). So you can have my terse
telegraphic review in the blog and bibliography.... or two
well written (and short) reviews, prior to drilling down into the
ACM Digital Library if it looks like you might be interested.
CR also points me to books I just won't have time to read. I place these
in my bibliography with the tag "=UNREAD" plus tags based on the review.
THen I can put links to them here. For example,
Alan Davis
has a book
[Davis05]
out on
Requirements Management
that looks very interesting and relevant -- like most of Davis's
work. However the CR review doesn't mention an ealier edition
and a short adveert/article
[DavisA03]
that covers similar material.
More about newly reviews books, later.....
2007-12-12 Wed Dec 12 12:12 End of Quarter .. Start of Next Quarter
With the grades posted .... time to start work on the next quarter. But
there is time to note the following things worth reading
in the September issue of IEEE Software Magazine.
Hirschi07
- Ashwin Hirschi
- Traveling Light, the Lua way
- IEEE Computer Magazine V40n9(Sep 2007)pp-
- =EXPERIENCE LUA C/C++ DYNAMIC TYPED SCRIPTING RAD
- Adds a dynamically typed stack to C++.
- Lua::= See http://lua.org/.
Spinellis07b
- Diomidis Spinellis
- Abstraction and Variation
- IEEE Computer Magazine V40n9(Sep 2007)pp24-25
- =DIALOGUE COPY/PASTE HARMFUL DRY FUNCTIONS DATA
Shum07
- Simon Buckingham Shum
- There's nothing like a good argument
- IEEE Computer Magazine V40n9(Sep 2007)pp21-23
- =ADVERT TOOLS DOCUMENT MEETINGS REASONING IBIS COMPENDIUM XML SQL VIDEO POWERPOINT DIGRAPH
Wirfs-Brock07a
- Rebecca J Wirfs-Brock
- Designing extensible classes
- IEEE Computer Magazine V40n9(Sep 2007)pp15-17
- =ESSAY DIFFICULTY DESIGNING Object-Oriented FRAMEWORKS
Yourdon07
- Ed Yourdon
- Celebrating Peopleware's 20th Anniversary
- IEEE Computer Magazine V40n9(Sep 2007)pp96-100
- =HISTORY PEOPLE =REPORT PANEL Boehm Brooks Rising Lister DeMarco
- The major problems with softare development are sociological not technical.
2007-12-06 Thu Dec 6 13:12 Pointers to Ajax Frameworks
IEEE Software has just published a very good paper on
Frameworks for Web-based systems that use Ajax --
SerranoAroztegi07
- Nicolas Serrano & Juan Pablo Aroztegi
- Ajax Frameworks for Interactive web apps
- IEEE Software Magazine V24n5(Sep/Oct 2007)pp12-14
[ s5012.htm ]
- =REFERENCE Ajax FRAMEWORKS WWW/Net Client-Server JavaScript XML DWR Rico Dojo Prototype script.aculo.us Google Eclipse
- Excellent set of URLs/Links on Asynchronous JavaScript and XML.
2007-11-19 Mon Nov 19 15:11 Sudoku Revisitted and other books
We had a dept seminar, a couple of years ago, on solving Sudoku
puzzles. See
[ ]
for this. Now I've read a review in CR of
LeeWei06
- Wei Lee
- Programming Sudoku
- Apress Berkeley CA 2006 ISBN 1590596625 CR
0711-1092
- =UNREAD EXAMPLE AI CONSTRAINT SUDOKU VISUAL BASIC
I've also seen reviews of books (in CR 0710) on
Agile Development
(Tate05 below),
Mathematics and SOftware Quality
(ORegan06), and
Term Functor Logic
(StrawsonOderberg05). Here are my notes on these.
I'll probably return to ORegan06 later:
Tate05
- Kevin Tate
- Sustainable Sofwtre Development: An Agile Perspective
- Addison-Wesley Boston MA ISBN 0321286081 CR 0710-0961
- =UNREAD ADVERT AGILE MANAGEMENT COLLABORATION XP CMM
ORegan06
- Gerard O'Regan
- Mathematical Approaches to Software Quality
- Springer-Verlag Secaucus NJ 2006 ISBN 184628242X CR 0710-0962
- =UNREAD MATHEMATICS Z Vienna Hoare Dijkstra Parnas UML
StrawsonOderberg05
- P Strawson & David S Oderberg Eds.
- The old new logic: Essays on the philosophy of Fred Sommers
- MIT Press Cambridge MA ISBN 0262151138 CR 0710-0977
- =UNREAD Aristotle Syllogism TERMS TLP vs MPL PREDICATE
- TLP::="Term Functor Logic".
- Instead of predicates, facts are expressed in terms like [-S+C]+[W+S]-[W+C].
- Simplifies many arguments that are complex in LPC.
2007-11-19 Mon Nov 19 13:11 Probabalistic Formal Models
I'm just about to submit a review to CR of the following paper
SchneiderSEtAl06
- Steve Scheidner & Thai Son Hoang & Ken Robinson & Helen Treharne
- Tank Monitoring: a pAMN case study
- Formal Aspects of Computing V18n3(2006)pp308-328
- =ADVERT FORMAL METHOD PROBABILTIY pGSL B pAMN
- Demonstrates a formal language that incorporates simple probabilities.
- Proposes a generalization of assertions.
- Uses them to derive error bounds (suspicious).
- States a probabalistic version of refinement.
2007-11-09 Fri Nov 9 14:11 Silliness
Sometimes you need to take time to step back and change
your screen saver. The STN screensaver from
[ http://www.mewho.com/system47/ ]
is the result and cause of some serious time wasting. Reccommended.
2007-11-02 Fri Nov 2 13:11 Testing
I don't often pay attention to the research on testing -- with
the exception of Test Driven Development (TDD). But here is
something that caught my eye:
TseEtAl07
- T H Tse & Francis C M Lau & W k Chan & Peter C K Liu & Colin K F Luk
- Testing Object-Oriented Industrial Software without precise Oracles or Results
- Commun ACM V50n8(Aug 2007)pp78-85
- =EXPERIENCE AUTOMATIC TESTING =ADVERT THEORY TACCLE
- Refers to ACM TOSEM V10n1(Jan 2001)pp56-109 by Chen, Tse Etal on TACCLE
that proves the existence of a simpler way to test for observational
equivalence.
- The theory (equational ADTs) is hidden from the engineers using the
system. They use Timing charts.
- Later that day... Just discovered
- history_of_programming_Languages::chart= See http://www.oreilly.com/news/graphics/prog_lang_poster.pdf,
at O'Reilly.
2007-11-01 Thu Nov 1 09:11 Usability Patterns
This is such a useful resource that it has jumped the queue of readings
straight into my CSCI372 class:
JuristoMorenoSanchez-Segura07
- Natalia Juristo & Ana Maria Moreno & Maria-Isabel Sanchez-Segura
- Guidelines for Eliciting Usability Functionalities
- IEEE Trans Software Engineering V33n11(Nov 2007)pp744-758
- =SURVEY =EXPERIMENT USER PATTERNS FEATURES ISSUES
- Lists 9 techniques to improve usabillity:
- Feedback, Undo/Cancel, Prevent/Correct errors, Wizards, User Profiles,
Help, Command aggregation(record-replay), shortcuts, Reuse information
- For each provides a description and a set of issues that need to be
raised with the stakeholders.
- See
[ usability-elicitation-patterns ]
And the latest ACM SIGSOFT Software Engineering Notes (V32n5(Sep 2007)) has
Mark Doernhoeffer's collection of websites on Human Computer Interfaces
[ surfing.html ]
and it is as complete and well done as ever.
2007-10-27 Sat Oct 27 10:10 Experiments with Software
I've just read a couple of good articles. One lays down a set
of excellent ground rules, based on experience and theory for
designing experiments to evaluate featrues on web-based systems.
KohaviLongbotham07
- Ron Kohavi & Roger Longbotham
- Online Experiments: Lessons Learned
- IEEE Computer Magazine V40n9(Sep 2007)pp103-105
- =EXPERIENCE HOWTO WWW/NET EXPERIMENTAL FEATURE SELECTION
- Good introduction to classic experimental design when used to evaluate featuires on web-based systems.
- Details at
[ hippo.aspx ]
- Topics: control vs treatment, metric, randomisation, power, duration of test, analysis (EARLY)
The other awakes my lust. This shows how you can draw a very rough
diagram and software that can read it and interpret it -- for example
a rough UML class diagram generates the code for the classes automatically.
Just what I have always wanted.
DavisR07
- Randall Davis
- Magic Paper: Sketch-understanding Research
- IEEE Computer Magazine V40n9(Sep 2007)pp34-41
- =DEMO TABLET SKETCH GRAPHICS CASE Rose USER
- Tantalysing glimpse of a tool that front-ends Rational Rose to turn a rough sketch of a class diagram into Java Code.
- Discusses issues in recognizing and parsing roughly hand drawn graphics.
2007-10-25 Thu Oct 25 16:10 Smoke Clearing from San Bernardino
I spent that last todays removing the debries from the yard and pool.
Lots of leaves and dust from the winds that started Sunday night. And
then three days of ashes and charcoal. I don't like to think what
it used to be. But I saw no flames .. even the small "Little Mountain"
fire wasn't visible from our house.
So a distraction! Here are some readings connecting non-technical
people to computerized solutions:
BrownChervanyReinicke07
- Susan A Brown & Norman L Chervany & Bryan A Reinicke
- What matters when introducing new information technology
- Commun ACM V50n9(Sep 2007)pp91-96
- =SURVEY IMPLEMENTATION ISSUES =EXPERIENCE
- Surveyed the literature and made list of 5 areas: Commitment, Knowledge, Communication, Planning, Infrastructure.
- Took 5 projects and looked for occurences of "disconnects": Commitment(59), Knowledge(18), Communication(53), Planning(25), Infrastructure(30).
- Figure 2 show relative frequency accross 4 phases: Initiation(Knowledge), Adoption(Communications), Adaption(Infrastructure), Acceptance(Infrastructure+Commitment).
- Table 3 lists 6 problems, identifies a area and suggests solutions. For example: If you can't identify the best new technology you have a Knowledge problem -- invest in employee education and create a central repository for sharing tech information.
LepourasEtAl07
- George Lepouras & Costas Vassilakis & Constantin Halatsis & Panagiotis Georgiadis
- Domain Expert User Development: The SmartGov Approach
- Commun ACM V50n9(Sep 2007)pp79-83
- =EXPERIENCE DOMAIN USER ANALYSIS DESIGN e-forms TOOLS
- Attempting to create electronic forms for Government.
- Government systems have these types of stakeholders: end users (external), IT personnel, Managers, internal experts.
- Issues tackled: Domain experts can have a limited view, Lost information, complexity of creating e-forms, providing helpful access(documentation, help,...) to end users.
- Supsorting materials: /implicit knowledge, regulations, organizational practiceprinted forms, tacit.
- Responsibilities split between domain experts, IT personel, and the Integrator Component.
- IT experts: look and feel + connections to other/legacy systems.
- Doamin experts: specify and design data, specify requirements, authoring knowledge units (documentation) about data, identify, retrieve, copy, edit existing data.
- Software inhouse or open source LAMP, Based on JSP Java XML RDBMS JDBC
ValacichEtAl07
- Joseph S Valacich & D Veena Parboteach & John D Wells
- The Online Consumer's Hierarchy of Needs
- Commun ACM V50n9(Sep 2007)pp-
- =POLL USERS NEEDS WEB/NET PURPOSES QUALITIES ONESIZE OCHN
- OCHN::="Online Consumers Hierarchy of Needs".
- All users
want "Functional Convenience" -- being able to get things done.
- "Utilitarian" websits like Banking and Bill Paying what matters is
reliability, correct operation, explicit security, response time, ... and other
evidence of "Structural Firmness".
- Another extreme are "Hedonic"
websites (Music, Movies, Games, Gambling, ...) where the users
want "Representational Delight" most -- consistent look and feel, visual
appeal, creative design, Good colors, rich media, ...
- "Hibrid" sites (news, shopping, auctioning, Travel, ...) wher the users
want a dregree of "Delight" mixed with some "Structural Firmness".
SangwanNeil07
- Raghvinder S Sangwan & Colin J Neil
- How Business Goals Drive Architectual Design
- IEEE Computer Magazine V40n8(Aug 2007)pp85-87
- =ADVERT GOALS SCENARIOS QUALITIES TACTICS ARCHITECTURE ACS XML QAW ADD
- ADD::=business_value >< technical_difficulty.
And a small warning: I just had fix a dozen or so issue numbers
on the IEEE Software Magazine articles since March...
2007-10-24 Wed Oct 24 07:10 Campus Closed until Friday Night
Checkout
[ http://news.csusb.edu/ ]
for details and the latest.
I'll be replanning the schedules for
[ cs201 ]
and
[ cs372 ]
during the morning.
This site
[ http://www.npr.org/ ]
has an interactive map of California with the latest data on the fires.
2007-10-23 Tue Oct 23 06:10 Campus closed today
The CSUSB campus will be closed again today. They hope to
reopen on Wednsday. I am working on rescheduling
my classes -- damage control. Also I'll be working on
rescheduling the Friday seminar because the Sun MicroSystems
team were coming from San Diego. It will be sometime in November.
See other blogs for details later.
2007-10-22 Mon Oct 22 11:10 Campus Closed -- Wind and Fire
The campus has closed for the day due to high winds. It should be
open tomorrow if the wnds follow the weather forecast. I'll be going
to lunch and home soon.
There are fires in the San Bernardino mountains.... gigantic plume of smoke
over the valley. I'm hoping that they won't spread any further.
2007-10-19 Fri Oct 19 15:10 Standards
Life does not get any less busy.... but the seminar this morning
on developing an educational game was very interesting...
Meanwhile, IEEE Computer Magazine has published a couple of articles
and a letter on standards:
VoasLaplante07
- Jeffrey M Voas & Phillip A Laplante
- Standard Confusion and Harmonization
- IEEE Computer Magazine V40n7(Jul 2007)pp94-96 + V40n9(Sep 2007)pp6-7
- =ESSAY COMBINING STANDARDS BLENDING MIX_AND_MATCH
Ross07
- Ron Ross
- Managing Enterprise Security Risk with NIST standards
- IEEE Computer Magazine V40n8(Aug 2007)pp88-91 + V40n9(Sep 2007)pp6-7
- =ADVERT NIST STANDARDS SE URITY RISKS SP800-...
2007-10-11 Thu Oct 11 14:10 HowTos and History
Hre is an interesting set of resource reported in the IEEE Computer
Magazine:
TorreyMcDonald07
- Chistine Torrey & David W McDonald
- How-to web Pages
- IEEE Computer Magazine V40n8(Aug 2007)pp96-97
- =REPORT WWW PAGES HOWTO
- Refers to
[ http://www.makezine.com/ ]
[ http://www.instructables.com/ ]
[ http://www.dorkbot.com/ ]
[ http://makerfaire.com/ ]
[ http://toolmonger.com/ ]
[ http://www.howtopedia.org/ ]
[ http://www.wikihow.com/ ]
[ http://www.howtoforge.com/ ]
Meanwhile there have been some interesting articles of a historical
nature:
Glass07
- Robert L Glass
- A Deja-Vu Look at Software EngineeringResearchers who care about Practice
- Commun ACM V50n8(Aug 2007)pp21-23
- =HISTORY RESEARCH MCC SEI SPC Fraunhofer NICTA Simula
- 3 labs used to do "practice-based research". MCC closed. SEI moved to advocacy for CMM etc.. SPC is now "Software and Systems Consortium".
- Fraunhofer has two centers: IESE and FC-MD focused on SE.
- NICTA (Australia) and Simula(Norway) have a group for empirical SE research.
- Glass compares missions, staffing, and techniques.
- All are looking at proceses, and 2/3 studying Risk, architecture, and measurement.
- NICTA includes measurement under process and risk under requirements.
[ http://nicta.com.au/ ]
- Simula focusses on Object-Oriented AD and use cases in requirements, ... Estimating costs, ...
[ http://simula.no/ ]
- Fraunhoffer: product lines under architecture, ... Clearing house
[ http://iese.fraunhofer.de/ ]
Hatton07b
- Les Hatton
- The Chimera of Software Quality
- IEEE Computer Magazine V40n8(Aug 2007)pp104+102-103
- =POLEMIC QUALITY LOW OPEN SOURCE BETTER
- Bewails lack of experimental data in methods.
- Argues that the biggest contributor to quality code is the developer.
- Notes bad quality of: scientific programs, off the shelf software, etc etc.
- States the value of inspecting code.
- Notes that open source code is better than closed source code.
SoukupSoukup07
- Jiri Soukup & Martin Soukup
- The inevitable Cycle: Graphical Tools and Programming Paradigms
- IEEE Computer Magazine V40n8(Aug 2007)pp24-30
- =HISTORY PARADIGMS LANGUAGES METHODS GRAPHICS UML Spagheti Flowcharts SP ADTs Object-Oriented
- Claims that a graphic notation indicates deficiency in the paradigm at the time... That is fixed by changing the paradigm and abandoning the diagram.
Grier07b
- David Alan Grier
- Annie and the boys
- IEEE Computer Magazine V40n8(Aug 2007)pp6-9
- =HISTORY SPREADSHEETS MASSMARKET VISICALC MICROSOFT MULTIPLAN LOTUS 1-2-3 QUATRO IBM COPYRIGHT INTELECTUAL PROPERTY
- Notes
2007-10-05 Fri Oct 5 14:10 Cloning papers or code
Oddly the experiemtn is reported in two different papers from
two different points of view in the recent IEEE Transactions.
Both are about testing tools that spot duplicated (copy/pasted) code.
BakerB07
- Brenda S Baker
- Finding clones with Dup: Analysis ofan experiment
- IEEE Trans Software Engineering V33n9(Sep 2007)pp608-621
- =EXPERIMENT TOOLS COPYPASTE DRY SOURCE Dup
- Also see
[BellonEtAl07]
BellonEtAl07
- Stefan Bellon & Rainer Koschke & Giuliano Antoniol & Jens Krinke & Ettore Merlo
- Comparison and Evaluation of clone detection tools
- IEEE Trans Software Engineering V33n9(Sep 2007)pp577-591
- =EXPERIMENT TOOLS COPYPASTE DRY SOURCE Dup CloneDR CCFinder Duplix CLAN Duploc
- Also see
[BakerB07]
2007-10-04 Thu Oct 4 12:10 Still too busy
2007-09-28 Fri Sep 28 12:09 The first week was busy and then...
The first week of classes is already busy... and then the brakes
went bad on one our cars... and it took a day of running around to get
it fixed.
End of excuses.
Meanwhile David Lorge Parnas has (again) got some interesting
things to say on the reliability of systems:
Parnas07
- David L Parnas
- Which is riskier: OS diversity or OS monopoly
- Commun ACM V50n8(Aug 2007)p112
- =ESSAY RISKS MIXING OPERATING SYSTEMS
- Need independence and interoperability for diversity + redundancy to lower risks.
2007-09-20 Thu Sep 20 12:09 First day of classes Fall 2007
Just finished teaching my first class of the Fall quarter. You
can get the details at
[ cs201/ ]
website. This afternoon's class
[ cs372/ ]
is ready to run... and my schedule for the quarter
[ plan.html ]
is also ready.
Part of the preparation for the quarter was to implement some simple
security steps... and here is a sample
Berghel07
- Hal Berghel
- Better-Than-Nothing Security Practices
- Commun ACM V50n8(Aug 2007)pp15-18
- =ADVERT BTNSP SECURITY XP Browsers WiFi
- BTNSP::= See http://www.berghel.net/btnsp/
Simple things that users can do to improve the security of their systems... Better than doing nothing.
2007-09-18 Tue Sep 18 13:09 Criticism
I posted a telegraphic review
[ Wirfs-Brock07 ]
below on handling technical reviews -- and I have trained myself to
accept criticism, or so I thought.
First I got
maths/Subject crap website
hi this website gives me nothing on the lowest temperature or palindromic numbers you are a waste of times!!!
Now first I had to resist several urges to be negative.
Then I realized the desperation of someone with a home work deadline -- and I
don't do homework!
Now I feel defensive: this web site does not cover Physics and
"Absolute Zero" is Physics. The Wikipedia
[ Absolute_Zero ]
seems accurate and complete.
The web site doesn't cover palindromic numbers because I don't know anything
about them... and don't know what has been written about them. I've never
had to
do anything with them. There desn't seem to be much value in this topic,
but I could be wrong.
Then I got Email that said
I am glad to see that you are eager to use the new logo on your
b
site. http://csci.csusb.edu/dick/
Unfortunately, the logo is not being used correctly. The Office of
Public Affairs, along with ACM staff, Duplicating staff and design
professors, have prepared logo usage standards to ensure the
integrity of the design and effectiveness of the new logo.
- ...
So I am now redoing every page on this web site to remove the logo.
2007-09-15 Sat Sep 15 12:09 New Diagram Publicised for management Involvement
I had thought that
[ periodic_table.html ]
was a pretty complete display of visual tools that might be useful in a project but
here is one that is not on that list:
Simonsen07
- Jesper Simonsen
- Involving Top Management in IT Projects
- Commun ACM V50n8(Aug 2007)pp53-58
- =EXAMPLE MANAGEMENT STAKEHOLDERS ANALYSIS TABULAR CSCI372 problem-mapping
- Claims that involving stakeholders (and top managment) in projects is important.
- Problem mapping forced the software vendor to focus on the stakeholders needs and to distinguish observation from supposition.
- It also helped the stakeholders revise the vendors mode of the situation.
- problem_mapping::=for each problem, present following,
Table| Need or Problem | Causes | Consequences | Solutions
|
|---|
(Close Table)
- Write on sticky notes because ideas move from one place to another,
- Proposals can be done on paper... But management reviews on a flipchart or board.
2007-09-13 Thu Sep 13 14:09 Services can handle changes better than components but...
Elfatatry07
- Achmed Elfatatry
- Dealing with change: components versus services
- Commun ACM V50n8(Aug 2007)pp35-39
- =ESSAY components services EVOLUTION RISKS EFFICIENCY
- Components selected before run but services during the run.
So services are easier to change but less efficient and less trustworthy.
- (dick)|-Sounds like a hacker can offer an evil service and get it accepted
2007-09-11 Tue Sep 11 15:09 Advice to those about to make a Presentation
Wired has put up one of their excellent "How To" pages:
[ index.cgi?page_name=rock_the_podium;action=display;category=Work ]
2007-09-10 Mon Sep 10 13:09 Security
Today I got the "Coding Horror" article explaining Rainbow Hash Attacks
on password files and why, if you are wise you (1) never store
passwords without hashing them, and (2) you add some salt to the
password before you hash it.
The following explains how secrets can be exchanged with out
eves droppers understand them:
ChakrabartiSinghal07
- Saikat Chakrabarti & Mukesh Singhal
- Password-based Authentication: Preventing Dictionary Attacks
- IEEE Computer Magazine V40n6(Jun 2007)pp68-74
- =SURVEY PASSWORD PROTOCOLS SECURITY RISKS EKE SRP Captchas RTT
- Simple Protocols for sending passwords -- even if encrypted -- can be
recorded or replayed to find the passwords.
Meanwhile the campus has got theit Web interface upgraded so that it
works again.... and we've got more space on the CSCI servers, so that they
are operational.
2007-09-07 Fri Sep 7 14:09 It should have been easy but...
The EMail systems on campus have been a bit flakey for thast 3 or 4 days, as we
try to get ready for the new quarter.
The following is a tale of something that should not have been as difficult
as it turned out to be.
So I am trying to convert an Excel spreadsheet og names, addresses, zipcodes,
and so on into a set of printed mailing labels. The first step: sort
by zip-code, was not too difficult once I realized that the first row
of the data you were sorting was assumed to be the header of that row...
The second step: creating the format for the lables was not difficult once
I learned to look for the magic number Avery 5160 -- Nice of MS Office
to know about these. The third step: linking the data in the spreadsheet
to the mailing label, was easy when I realised that you had to right-click
the inserted <<address>> tag to link it to the right fields -- it made
some good guesses.
So far so good.
Then the problem: a rectangular box character appears where I want an
end-of-line at least once in each label. In WordPerfect or any application
that I've written, if you select soemthing and start the "Find/Replace" dialogue
the selection is put into the form as the string to find. But MS has
not had this thought. Of course there is no way to type an unknown character
into the form.... but I can copy it and paste it! But here again MS
doesn't let you paste into the Find/replace box.
The System Admin -- a fellow wizard -- suggests using sed on UNIX to fix the
characters... but I had my doubts... and so I starte to manually correct
about 700..800 lables.
A Colleague said that OpenOffice 2.0 could fix it with a global replace...
out comes the flash drive and I copy the file I've been editting to the
Linux Box... and OpenOffice just deletes the offending character. Once
deleted you can not find and replace it...
So now I try the system admin's idea.... I use 'od' to find out
the the bad character is '\n' and should be '\r'. In decimal I need to
translate char 10 (decimal) into char 13:
tr `char 10` `char 13` <lables >fixed_lables
(I have a handy C program I called 'char' for these purpose some time ago...
but tr still ahd a problem parsing the arguments....
So I lloked at the other screwdrivers in my old toolkit and found an
old K&R example that maps '\r' into '\n' -- the reverse of what I need.
A quick copy, edit, and compile and I can turn 'lf' into 'cr'... and
do this.
The back to the Flash....[I won't go into the process needed to do this --
but it involved a couple of reboots on the Linux box].
When I try to reopen the fixed file... MS Office doesn't like it. I guess they
have a check sum that stops you tweaking the bytes. ARRRRGH.
It took another 60 minute to complete fixing the file.
Thank you for listening. I feel a lot better now.
There are times when I wonder why we ever try to use computers...
Anyway, now for some history: how time has been miscomputed:
Grier07a
- David Alan Grier
- The Boundaries of Time
- IEEE Computer Magazine V40n7(Jul 2007)pp5-7
- =History Clocks Y2K ENIAC SAGE 360
2007-09-05 Wed Sep 5 15:09 Fun day and Computing as a Natural Science
We started with a power outage this morning from 6am-7am at home.
But this morning we had a presentation on using Java on Cell Phones to
implement games:
[ seminar/20070905NabeelAlzahrani.txt ]
[ seminar/20070905NabeelAlzahrani.ppt ]
Followed, after lunch, with the presentation of a team of students who
have implemented a rather nice "top-down shooter" called CyberShot.
Then to work on revising my generic
[ syllabus.html ]
ready for the new quarter.
I'd like to note the following paper for it's contrarian argument:
Denning07a
- Peter J Denning
- Computing is a natural science
- Commun ACM V50n7(Jul 2007)pp13-18
- =ESSAY SCIENCE ARTIFICIAL
- Refutes Herbert Simon
[Simon69]
claim the that we study the "Science of the Artificial".
- Claims that computation is found inside all other natural sciences -- not
just as a tool but as a model of processes in their topic area.
2007-09-04 Tue Sep 4 14:09 On seeing and testing obvious cases and other good things in SIGSOFT
- I'm typing this as I read the latest ACM SIGSOFT "Software Engineering Notes" --
July 2007. For years I've been following Mark Doernhoefer's column... and now it is
on the web:
Doernhoefer07
- Mark Doernhoefer
- Surfing the Net for Software Engineering Notes:
Database Technology
- ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)pp10-19
[ surfing.html ]
- =REVIEW WEB/NET DATA
I also read ther RISKS column in every issue -- describing "Risks to the Public"
and summarising a newsgroup. Always scary and thought provoking.
In May 2007, the RISKS column reported on a well publicized failure that has also
appeared in this weblog.
Once upon a time a squadron of fighter jets crossed the international date line
and their navigation systems crashed.
[ 2007-04-23 Mon Apr 23 10:04 International Dateline shutsdown aeroplane software ]
Here is one explanation.
Chapelle07
- Gregory Chapelle
- Comment on Risks to the Public May 1007, F-22
- ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)pp6-7
- =LETTER RISKS FAILURE REQUIREMNTS TESTS DATELINE Jighter Jet
- Postmortem explanation of how an obvious test case (crossing the international date lien)
was not noticed and so not tested for.
- How scheduling pressure contributes to this kind of blindness.
- Perhaps Michael Jackson's approach to requirements -- documenting the situation
in which the software finds itself -- might have helped.
But the above failure fits Scheafer's tGToE in the same issue.
Schaefer07
- Robert Schaefer
- The Grand Theory of Everything: What Man-Made Systems are, and Why They Fail
- ACM SIGSOFT Software Engineering notes V32n4(Jul 2007)p31
[ 1281421.1281430 ]
(links to a 26 page PDF)
- =JOKE? THEORY FAILURE tGToE
- tGToE::="the Grand Theory of Everything".
Written in an 18th century Style -- with Many definitions and Random Capitalizations
but Getting Close to Heart of the Reason for Complex Systems Failing.
- Here is a Cogent Quotation from the Verbose and Jocular Paper:
In the practice of Systems Development, Rules are enumerated to comprise a
Finite sized Set of Constraints. This Set in Systems Development is called
the Requirements (in Systems Use these are called Policies). The number of
Freedoms that a System has is the Inverse of that Finite Set of Constraints
which by Rules of Logic are Infinite in number. This relationship of Finite
Rules and Infinite Freedoms is more than a Curiosity, as in the mapping of
a Solution into a Model of Behavior, the Rules become Contractual Shalls (A
"Shall" being a Statement that Indicates a Contractual Obligation of Legal
Consequence) while the Inverse, Freedoms, become the Infinite Set of "Shall
Nots. That Infinite Set of Shall Not Behaviors represents a Set which can
never be Fully Imagined, and thus can never Fully Defined, Implemented, or
Tested. Because this Set can never be Fully Defined it is customarily
Replaced with a Time and Money based Stopping Criteria, i.e. to Proceed
along the set of Requirements (that One hopes is at least a "well-defined"
Subset of Infinity) until the Requirements are Implemented and Tested, or
the Customer's Will as measured by Time and Money, Runs Out. Note that at
this Stopping Point there may be a Gap between "What Is", and "What Is
Desired". In terms of Systems Reliability, this Gap is called a Hazard.
- To summarize: requirements are always incomplete and some conditions
will always be untested.
- Also see
[Schaefer06]
and
[Gall79].
Note: My Linux Adobe Reader crashed when asked to copy the above bit of
text.
This issue also has
[ http://ase.csc.ncsu.edu/semap/ ]
the incredible map of software engineering conferences: where they are
and whether they are still accepting papers.
2007-08-31 Fri Aug 31 14:08 UML2.0 LRM
A little late, I guess, but here it is.
RumbaughJacobsonBooch05
- James Rumbaugh & Ivar Jacobson & Grady Booch
- The Unified Modeling Language Reference Manual (2nd edn.)
- Addison-Wesley Upper Saddle River NJ ISBN 0321245628 CR 0605-0455 QA76.76D47 R86 Dewey 005.3--dc22 2005 Pearson Education 2004
- =MANUAL UML2.0 OBJECT-ORIENTED MODELING LRM
- Includes a CD with PDF edition.
- p12. "UML is messy, imprecise, complex, and sprawling."
- Excellent and thorough description of UML2.0.
2007-08-30 Thu Aug 30 14:08 Something Old
Rich McGee sent me the following -- he is so right, this sight is worth a visit
by people with experience of computing in the 1970s and 1980s
Trust me, you *have to* visit this site!
[ online.htm ]
Classic operating systems, all running under OpenVMS,
RSTS, RT11, CP/M, OpenVMS and *dungeo* plus *adventure*!
[...]
I am so stuck in 1985! Ie got RSTS booted, and I renewing my love with TECO, the best editor on the planet.
For me the shock was photo of the kind of mainframe (ICL1900) that I
used in the later half of the 1980's including a reference to it's "GEORGE 3"
operating system.
Meanwhile I'm trying to sort out my notes on dual optimization problems
in
[ maths/math_21_Order.html ]
and my notes on Bayesian Belief Networks and abduction
[ maths/math_81_Probabillity.html ]
based on
Pearl86
- Judea Pearl
- Fusion, Propagation, and Structuring in Belief Networks
- Artificial Intelligence V29n3(Sep 1986)pp241-288
[ citation.cfm?doid=9075.9076 ]
- =THEORY ABDUCTION DEDUCTION BAYESIAN BELIEF NETWORKS NON-SEQUENTIAL
- TBA
2007-08-29 Wed Aug 29 10:08 Handling Criticism
Nice article on how to handle negative comments about your designs.
Wirfs-Brock07
- Rebecca J Wirfs-Brock
- Handling design criticism
- IEEE Software Magazine V24n3(May/Jun 2007)pp12-14
- =HOWTO DESIGN REVIEWS
- Criticism=valid | judgmental | personal | aesthetic | complexity.
I used to teach a standard response to comments: "Thank you very much.
We have noted that <rephrase comment> and will fix this after the meeting".
In other words, any criticism (including " I don't understand" or
something that indicates a big misunderstanding) indicates that there
is something worth fixing. Confusing designs should be improved -- even
if they will work.
2007-08-27 Mon Aug 27 18:08 Software pricing and stocks
Here are a couple of studies of how software is being bought
and the effect of a announcement of a security vulnerability
has on the price of a companies stocks.
Cusumano07b
- Michael A Cusumano
- The Changing Labyrinth of software pricing
- Commun ACM V50n7(Jul 2007)pp19-22
- =NEWS ECONOMICS PRICES
- Notes a shakeout in software producers in last 10 years.
- Reports his students MS work (S Nayak, Pricing and licensing of software
products and services: A study of industry trends", MIT MS Thesis Sys Des &
Man Program MIT, May 2006)
- software_pricing::=Net{ licence:Licence_options, time:Licence_term, type:Installation_types, payment:Payment_methods, term:Terms_and_compliance, flex:Flexibility}.
- Licence_options::=individual | group | concurrent | enterprse | site.
- Licence_term::= 0..1.year | annual | 3 years | perpetual.
- Installation_types::= designated computer | standalon named user | network
named user | concurrent user.
- Payment_methods::= up_front | pay_as_you_go | financed.
- Terms_and_compliance::=shrink_wrap | contract | dongled | activation.
- Flexibility::= product specific | product agnostic | remix.
- Also variations on free software: free razor + paid_for_blades, free
software + paid_for_services, free software + advertizing.
TelangWattal07
- Rahul Telang & Sunil Wattal
- An Empirical analysis of the impact of software vulnerability announcements on firm stock price
- IEEE Trans Software Engineering V33n8(Aug 2007)pp544-557
- =STATISTICS STOCKMARKET ECONOMICS RISKS FLAWS PATCHES SECURITY
- if vulnerabillity_is_announced then stock_price' = stock_price * 0.994.
2007-08-26 Sun Aug 26 14:08 Why Software sucks
I've just finished reading a book with the above title.
Platt06
- David S Platt
- Why software sucks... And what you can do about it
- Rolling Thunder -- Pearson Education 2006 ISBN 0-321-46675-6 QA76.76 D47 P52
- =EXPERIENCE BAD USER DESIGN Web/Net SECURITY PRIVACY TRUST GEEKS microsoft
- Programmers are not like users.
- Based on Experience and
[Cooper98].
- Instead of making the simple things simple, programmers are obsessed with making complex things possible.
- Proposes using ridicule. Blog
[ http://www.suckbusters.com/ ]
- Compare
[KanerPels98]
who hoped "money back" would provide economic reasons to improve software. A change in the law got the vendors off the hook.
- Points out that a common trusted identification service is technically possible and would simplify many things, but has failed in the marketplace.
The book talks a lot of sense about how developers and marketing people
tend to make bad software. It is written for the general reader -- hence
the entertaining description of an annual meeting of thousands of Geeks.
My interest in the book was heightened by examples of software
"that just works" and "software that sucks".
First, I decided to move my old, redundant office laptop home so that
I could telecommute a bit better (the old iMac OS9.* can not handle
many of the pages that are popular these days -- including my CSUSB's
web-mail page). So with a tremor I removed the Ethernet card and inserted
the modem card. When I booted the correct drivers picked up the modem and
recognized it. I had got the TCP/IP + ISP data from the old machine,
So I used this to fill in the data in the MS Wizard to create a new
network connection. The system dialed in correctly, first time. It
is handling just about everything I can throw at it (but not the .Mac
page or the Earthlink "Perhaps you mean one of these pages" page).
The above is a classic: "It just works". I'm now writing this entry
through the new modem etc... Not bad.
I shouldn't have written this.... two paragraphs later I discovered that
the auto-disconnect feature was on and typing through SSH is not counted
as being active!
Now compare this with what happened at work recently.
Here is the ideal story:
When a student asks me for a reference I can remember all the classes
she has taken with me, the grades she got, the projects she attempted, etc.
and can use this information to fill out the reference she needs.
Problem:After 25 years = 75 quarters =~= 200 courses =~= 6,000 enrollments
I can not recall much but the name that goes with the face (50% of the time).
So up to this summer I did this
- Start the IBM 3276 emulator up and login to IBM CICS on the mainframe.
- Select the Student Information System SIS+.
- Login in to SIS+
- Input the student name to get the student Id (screen number 10?)
- Select the correct student and go to screen 136 (unofficial transcript).
- Search the screens looking for classes I have taught... jot down quarters and course numbers
- Open the encrypted rosters on the office PC
for these classes to get the details.
- Think
- Write the reference.
Notice that I can not just search for the students name or Id on the office
machine because it is in encrypted files that can not be read without
supplying a password.
Now watch what happened on Thursday with the brand spanking new
Common Management System (CMS) supplied by PeopleSoft -- a system that
colleagues of mine have worked on for years to make it useful to
this campus.
- Login to the CMS system.
- Select the "Faculty Center"
- Search for access to Student Records.
- Final... try the advising system... it does not keep record of graduates.
- Return to the Employee Page... no sign of "Records".
- Phone dept office and talk to Alice... she say "Look for Records on the Menu".
- What menu?
- Go to Department office -- she gets a menu that includes "Records" that
is missing on my login.
- She volunteers to printout the transcript.
- Printing out a transcript is not a simple process.
- First you have to select a set of records to print.
- Then you have to to pick the documents that you really want.
- Then you have to use another page to show the PDF file that
has been generated.
- Then back to the Print manager... and ask for the thing to print.
- ...
Precisely the kind of complex procedure implementing a simple need that
"Why Software sucks" talks about.
I'll let you, gentle reader, work out how to improve the interaction
design.
Also an example how some user needs vanish from sight in many
projects -- CMS promises to do a better job of giving me rosters
than SIS+. I'm hoping that they'll make filling in a grade roster
easier by the end of next quarter. After all it used to take
10 minutes to use a #2 pencil and a Scantron... But somehow faculty
a not seen as needing to write references.
Next time, I plan to walk to the dept office and ask to look in the
filing cabinet. It will be faster.
2007-08-23 Thu Aug 23 13:08 Question from reader
> I want to make ASCII code of our fonts.
> This is Azeri Latin font.
> Hope of your help.
Thank you for a fascinating question. I wish I had an answer. The only
listing I can find is of the numbers used on Microsoft windows:
Windows-1254
[ Character-Code.asp?s=1254 ]
Intersting to notice that the acronym "ASCII" that used
to stand for "American Standard Code for Information Interchange"
has now become to mean some like:
The numbers used to encode the characters in any given alphabet.
2007-08-23 Thu Aug 23 09:08 Comment from a Reader
Should your latest blog entry have UML instead of ULM?
2007-08-22 Wed Aug 22 15:08 Showing design patterns in ULM diagrams
Paul
Yes... I've fixed it below.
2007-08-22 Wed Aug 22 15:08 Showing design patterns in UML diagrams
How do you show that one class is a Composite Observer -- or some
other complex mixture of roles in a collection of design patterns?
DongYangZhang07
- Jing Dong & Sheng Yang & Kang Zhang
- Visualizing Design Patterns in Their Applications and Compositions
- IEEE Trans Software Engineering V33n7(Jul 2007)pp433-453
- =DEMO TOOL VisDP UML PROFILE PATTERNS GRAPHICS WEB SERVICE XMI J2EE java.awt
- Need to show how one object/class plays many roles depending on the patterns.
- Defines an UML profile to show how classes/attributes/operations take part
in design patterns.
- Demonstartes the clutter that appears with different ways of displaying this information.
- Demonstrates a tool that will make design paterns visible as requested by
the user.
2007-08-21 Tue Aug 21 14:08 Thirteen Blog Cliche's from Coding Horror
Again an excellent posting from the "Coding Horror" blog
[ 000834.html ]
- The useless Calendar Widget.
-- not on my pages.
- Random images Inserted in Text.
-- small blocks of text are good but this is no reason to include
an irrelevant image. Not on my pages!
- No Information on the Author
--
[ about.html ]
- Excess Flair
-- clever little icons infesting the page.
But not on my pages.
- The Giant Blogroll
-- all the blogs and sites that you read.
But not on my pages.
Just citations (and some links) to publications: practical theory
and sound practice.
- The Nebulous Tag Cloud.
But not on my pages.
- Excessive Advertisements.
But not on my pages.
- This Ain't your Diary.
-- Hmmm --- guilty, I do include some daily events,
but only when they remind me of stuff I have learned
about developing software.
- Sorry I haven't Written in A While.
-- Not here, much.
- Blogging about Blogging
-- Just this one entry.
Promise!
- Mindless Link Propagation
-- I think about every link on these pages...
- Top (n) Lists
-- Nope.
Not many.
- No Comments Allowed.
-- You can find a Contact/Comments button on most of my pages
( or even
[ mailme.html ]
)
and if it is not advertizing and I think it is relevant I'll edit
it and put it into a future entry.....
So to the heart of what this blog is about. Here is a paper
claiming that writing stories is an excellent way to introduce the
ideas of programming.
KelleherPausch07
- Caitlin Kelleher & Randy Pausch
- Using storytelling to motivate prgramming
- Commun ACM V50n7(Jul 2007)pp59-64
- =ADVERT Alice EDUCATION GENDER SCENARIOS GRAPHICS Stencils XP GAMES
But no reference to the use of stories and scenarios to express requirements!
2007-08-17 Fri Aug 17 06:08 Early evidence for agile values
I've just been rereading another paper published in 1995
[ notes/KrautStreeter95.html ]
and was struck that it has evidence for the preferences in
the Agile Manifesto
[FowlerHighsmith01]
(2001).
I'm going to go and add the "AGILE" tag to the biblographic
item
[KrautStreeter95]
The above where in the same issue as the articles on Bayesian Belief Networks
(BBN).
These look like a very nice mathematical model of the kind of causal
thinking (boxes and arrows: If this then that can change)
that is useful and common. Examples: fixing a printer, fixing a car,
the safety and security of systems, ... It turns out I noted the
reference some years ago
[ maths/math_22_graphs.html#Bayesian Networks ]
and then forgot about it.
2007-08-15 Wed Aug 15 17:08 Trying to reorganize
Well.... I now have functioning computers on my desk top (thank you Ken and
Ernesto). I've also got the books and journals sorted -- turns out a version
of selection sort was the best manual algorithm to move journals to the
right place on a new shelf.
Also working on making MS files accessible on my web pages
[ readers_and_viewers.htm ]
-- Thank you Rosa!
Finally while sorting the journals I spotted a special issue
[HeckermanEtAl95]
on Bayesian Networks that started to get interested in (see LittlewoodWright07
below), as a form of
plausible reasoning and/or causal modeling.
I'll try to read the articles tonight and put a summary
up on my web site when I can.
All in all the move demonstrated the value of random stimulation and keeping
paper copies of journals on hand.
2007-08-14 Tue Aug 14 09:08 Message found as I moved office
Good weekend that started with a dead battery which took us to a public library -- we came out with 3 books and a DVD...
Went to the memorial Party for the husband of one of our graduate students
on Saturday.
On Sunday -- the funniest movie I've seen for months: "The Simpsons".
Yesterday finished packing JBH341 and moved it all into JBH339. Next step
to reorganize the work surfaces so that the function: reminders
visible, computers usable, reference materials to hand, taching stuff
ready to go, and the journals and research books sorted on the shelves.
In the process I rediscovered a quotation that I fist saw nearly 40 years ago,
and which has influenced my research into software development for
most of that period:
Laver65
- F J M Laver
- Introducing Computers
- HMSO London England 1965
- =HISTORY ADP SCIENTIFIC vs BUSINESS SYSTEMS ENGLISH-ELECTRIC ELLIOTT MARCONI LEO
- ADP::acronym="Automatic Data Procesaing".
- Quotation from Page 45
A striking difference between the scientific and the business uses of computers is in the degree to which generalized processes and programs are used. Scientific program make considerable use of standard segments of program -- written and polished by experts -- for calculating values of the standard functions and for handling standard solutions to mathematical problems. Most business programs are written specially for each particular application, which adds greatly to their cost. It is true that
optimization and efficiency are more important in business than in scientific programs, since the former are use repetitively over long periods, but it is hard to resisted the conclusions that much more could be done to define and standardise business procedures, and that until this is done the fullest use of A.D.P. will not be made. To tackle this requires a depth of dis-interested abstract though less common in the business than in the scientific world, and a
theory of business systems
is badly needed.
IN many ways my work has focussed on understanding the
user's/client's/stakeholder's realities in a rigorous form. But it
it is still difficult to get computer people to look outside their
box and think about what goes on whener the problems happen.
2007-08-09 Thu Aug 9 09:08 Trip to LA
Spent Tuesday and Wednsday in Los Angeles.... Hollywood Bowl and
Griffith Park Observatory. Tiring but Excellent.
Today: start to pack office and a meeting....
Next week: der tag -- moving from JBH341 to JBH339.
- 16:08
Packed bookcases into 8 largish boxes. They take up about 50% of the office.
Time to go home, I guess.
2007-08-07 Tue Aug 7 11:08 Documentation... has value ... again
Back in 2003
[ Fri Sep 5 11:04:21 PDT 2003 Documentation has value... in blog003 ]
I noted the value of documenting the purpose of the various cans of paint
that one accumulates living in a house. I returned to the cans over the weekend
to paint some patches. I found the can labelled kitchen but had failed to label
the can for the rest of the house -- a reverse of the mistake in 2003, almost.
However, I could see the date when the unlabelled can was mixed and
I keep a manual journal (a prototype for thisblog, in a way) and back in
1998 I was painting the wall in the house, not the kitchen. SO I used the
1998 can with a perfect match and labelled it correctly... then to the kitchen
and had the right paint again.
Moral: document the reasons for your choices as well as the technical
solutions chosen. Also: keep a
project log
of what was done when... and make it a blog anyway.
Thinking about how artifacts seem to decay -- Tom Gilb's observation
that
software rusts
can be generalized. And concluding that it is not so much
rust and radioactive decay as an increasing mismatch with changing
environment: upstream and downstream... The specification ceases
to fit the users requirments, and fails to describe the actual source code of
the software (for example).
Now getting ready for a trip to LA for a concert of English music from the
1700s. See
[ plan.html ]
for more plans.
2007-08-06 Mon Aug 6 08:08 Fixing a hole where the rain got in....
Plastering, spackling, painting....
A key
diagnostic technique
is to search for a common explanation of all the
symptoms. Logic doesn't support the validity of the argument, but I guess
that the Bayesian theory of probability would let you calculate how
much faith you should have in a common cause for a set of symptoms...
On the other hand -- do two argumnets increase your faith in a proposition?
Some have been arguing that if you text a system and prove it correct then
you can have more faith in its reliability. Here is a paper that tackles this
kind of reasoning using modern Bayesian Belife Networks
LittlewoodWright07
- Bev Littlewood & David Wright
- The Use of Multilegged Arguments to increase confidence in safety claims for software-Based Systems: A Study based on a BBN Analysis of an idealized example
- IEEE Trans Software Engineering V33n5(May 2007)pp347-365
- =EXAMPLE THEORY RELIABILITY RISKS Arguments BAYES PROBABILITY BBN CAUSALITY SPECIFICATION CORRECTNESS TESTING
- When should two different arguments for the safety of a system increase our belief that a system is safe?
- Answer: when the arguments do not depend (too much) on a common source of defects.
- Compare with the simpler
[Littlewood00]
example.
- Example BBN:=following,
Net
Z: random_variable(Bit)= specification is correct
O: random_variable(Bit)= test oracle is correct
S: random_variable(Beta_distribution(0,1,...)) = probability of failure on demand.
T: random_variable(Bit)= probability of failure during testing.
V: random_variable(Bit)= formal verification proves correctness.
C: random_variable(Bit) = Claim that system is fit for use should be accepted.
Dependencies:= (Z+>O | Z+>S | Z+>V | O+>T | S+> T | S+>V | T+>C | V+>C ).
Example dependency: the correctness of the oracle O depends on the correctness of the specification (Z).
Example dependency: the parameters of the distribution of S depend on whether the specification is correct(Z).
In general, for each dependency XY+>W tabulate for each X&Y value the probability of each W value given the XY values. If W is a continuous random variable then tabulate the probability density functions.
The table is called a
conditional probability table.
See paper for a large example.
- A BBN implicitly defines a set of Conditional_independencies.
Example Conditional_independencies:= following,
Table
| Independent | 0f | Given
|
|---|
| O | S V | Z
|
| T | Z V | O S
|
| C | O S Z | V T
|
(Close Table)
So: if Z is given then O is independent of S and V.
- CI::BBN=conditionally_independent, two events are independent under certain conditions.
- conditionally_independent(A,B,C)::BBN= ( Pr(A B C) = Pr(A|C) Pr(B|C) Pr(C) ).
- ...
- Bayes's formula allows us to calculate the distribution of S and C given that T and V are true.
(End of Net)
2007-08-04 Sat Aug 4 05:08 Standards and documentation
We got a new Heating and Air/Conditioning unit yesterday. The old was
removed and the new put in place with no problems. The thermostat was wired in
but when tested it performed backwards: on heat it did nothng and on "Cool"
it turned up the heat. Very efficient new unit--- produced 110F hot air
into a house that was 90F (with 100F) outside! An expert troubleshooter
came out and found that the wires were the wrong colors and so the
standard Red=common, While=Heat, (whatever) couldn't be used. The
face-to-face communication in the team was good but with one end
of the wires being on the roof and the the other insidethe house....
perhaps a bit of paper with the meanings of the wire colors might
have saved some time?
Anyway "Ronnie" fixed it, and did a long careful test. It worked
last night.
Ambler07
- Scott Ambler
- Calculating Documentation Cruft
- Dr. Dobb's Agile Newsletter (27 Jul 2007)
- =IDEA DOCUMENTATION METRIC CRUFT
- CRUFT::percent= 100 - C * R * U * F * T where
C:=The percentage of the document that is correct,
R:=The chance that the document will read by the intended audience,
U:=The percentage of the document that will be understood,
F:=The chance that the material contained in the document will be followed,
T:=The chance that the document will be trusted.
- (dick)|-perhaps we could use Shannon Communication Theory to measure the capacity, equivocation, etc of a document in bits?
2007-08-02 Thu Aug 2 07:08 Connecting technical specifications to real requirements
The following description of a tool includes some advice on being sure that
software meets the real needs of the stakeholder:
Cleland-HuangEtAl07
- Jane Cleland-Huang & Raffaella Settimi & Eli Romanova & Brian Berenbach & Stephen Clark
- Best Practices for automated traceability
- IEEE Computer Magazine V40n6(Jun 2007)pp27-35
- =ADVERT POIROT REQUIREMENTS TRACEABILITY TOOL =HOWTO IMPROVE DOCUMENTATION
- Detailed technical description of a tool that extracts links between documents in a software project.
- Describes a model of requirements and other artifacts: from Business Goals to Feature, Business use case, system use case, component, concrete ability, release, and product.
- Advice: create traceable artifacts
- Use a project glossary
- Write good requirements: correct, unambiguous, complete, prioritized, verifiable, understandable, identifiable, etc.
- Structure the documents: headlines and sections.
- Uncover/create synonyms across domains.
Create rich content: document the domain properties that link system requirements to user requirements.
- (dick)|-this is a special case of M A Jackson's recent thinking. --
[Jackson0]
[Vickers07]
- Plan and introduce automatic tools/processes to maintain and/or expose traces.
2007-08-01 Wed Aug 1 08:08 Patents
Something very strange is happening outside. Water is falling from the sky.
I live in a town which has 360 days of sunshine, and this year has been dryer
than normal.
Back to business! The Coding Horror blog is proving to be very interesting. A
resent entry was on patenting software. The Communications of the ACM
also had an article on the topic:
Atwood07
- Jeff Atwood
- The coming Software Patent Apocalpse
- Coding Horror (Jul ?? 2007)
[ 000902.html ]
- =ESSAY LEGAL PATENT ARMS RACE Microsoft Knuth
- Over the top but basically sound.
Samuelson07a
- Pamela Samuelson
- Software Patents and the metaphysics of Section 271(f)
- Commun ACM V50n6(Jun 2007)pp15-19
- =NEWS LEGAL PATENTS IP Microsoft vs AT&T EXPORT COMPONENTS
2007-07-31 Tue Jul 31 11:07 Why Invalid arguments are plausible
Some yeasrs ago I noted the existence of plausible arguments that are invalid:
[ maths/logic_20_Proofs100.html#Three Kinds of Inference ]
but, now, it looks like you can account for them, not using lgic, but Bayes's
theory of probability as a measure of belief...
[ maths/math_81_Probabillity.html#Bayes ]
Writing this up as a break in taking some things out of my office, prior to
moving next door.
2007-07-31 Tue Jul 31 06:07 Naming documents
Here is an idea from IEEE Computer Magazine -- how to name documents
when many people are using a simple web-based collaboration site.
Price07
- Sean M Price
- Supporting Resource-Constrained Collaboration Environments
- IEEE Computer Magazine V40n6(Jun 2007)pp108+106-107
- =IDEA WWW/NET DOCUMENTATION NAMES DIRECTORY STRUCTURE
- Proposes: that when collaborating, first create a simple hierarchy of topics and subtopics to organize documents.
In each topic have a "Draft" subdirectory.
- A typical document undergoes a series of drafts and reviews before being finished. Drafted by an owner and then reviewed by others, then revised... .
- Proposes a naming convention for files that hold these documents:
- name_of_draft::="D_" short_name "_" date_stamp "_" owner "." extension.
D_Example_070730_RJB.txt
D_Example_070730a_RJB.txt
- name_of_finished_version::=long_name "_" date_stamp "." extension.
An example of this idea_070730.txt
- name_of_review::="D_" short_name "_" date_stamp "_" owner "_" reviewer "." extension.
D_Example_070730_RJB_ANO.txt
- version_stamp::= date_stamp O(version).
070730a
- date_stamp::= year month day.
070730
- year:=digit digit.
- month:=digit digit.
- day:=digit digit.
- version:=letter.
2007-07-28 Sat Jul 28 07:07 Something new and something old
First a system for writing and sharing WWW scripts -- can the success of
Wikis with information also work with procedures?
Second a short reference on Binary.
Lau07
- Tessa Lau
- Social Scripting for the web
- IEEE Computer Magazine V40n6(Jun 2007)pp96-98
- =TOOL
OPEN SOURCE SCRIPTS PROCEDURES WWW/NET WIKI-like KOALA
- Koala::= See http://www.research.ibm.com/koala
- Koala records in peudo-natural language actions taken as user browses the web to generate scripts easily.
- Scripts can pause for user interaction and fill in some values.
- System will store and replay scripts.
- Scripts can be published and so shared in Koalaescence.
- Scripts can be edited.
- Unclear if there is any form of conditional/selection/exception/extension/looping.
- Scripts have a title but no other aparent documentation: e.g. no pre/post-conditions or safeness/liveness guarantees.
Holmes07
- Neville Holmes
- Binary ARithmetic
- IEEE Computer Magazine V40n6(Jun 2007)pp90-93
- =REFERENCE
BINARY ARITHMETIC NUMBERS BYTES BITS ADDRESS INTEGER SCALED FLOATING POINT
- My own poor attempt
[ Number Representations in math_42_Numbers ]
at documenting the various notations.
2007-07-27 Fri Jul 27 08:07 What makes a good debugger
Working at home -- including planning a move to a new office... meanwhile
CunhaGreathead07
- Alessandra Devito Da Cunha & David Greathead
- Does Personality Matter? An Analysis of code-review ability
- Commun ACM V50n5(May 2007)pp109-112
- =EXPERIMENT 64 PEOPLE INSPECTION CODE TECHNICAL MBTI
- Used the Myers-Briggs Type Indicator (MBTI) to classify students vs their skill at finding bugs in code.
- iNtuitive+Thinking people do significantly better at finding bugs in code than iNtuitive+Feeling, Sensing+Thinking, and Sensing+Thinking types.
2007-07-26 Thu Jul 26 15:07 The Principle of Least Power
This came in via the
Coding Horror
[ http://www.codinghorror.com/blog/ ]
mailing list
- The Principle of Least Power
- Posted: 18 Jul 2007 02:59 AM CDT
- Tim Berners-Lee on the Principle of Least Power:
- Computer Science spent the last forty years making languages which were as
powerful as possible. Nowadays we have to appreciate the reasons for
picking not the most powerful solution but the least powerful. The less
powerful the language, the more you can do with the data stored in that
language. If you write it in a simple declarative from, anyone can write a
program to analyze it. If, for example, a web page with weather data has
RDF describing that data, a user can retrieve it as a table, perhaps
average it, plot it, deduce things from it in combination with other
information. At the other end of the scale is the weather information
portrayed by the cunning Java applet. While this might allow a very cool
user interface, it cannot be analyzed at all. The search engine finding the
page will have no idea of what the data is or what it is about. The only
way to find out what a Java applet means is to set it running in front of a
person.
- This was later codified in a more formal W3C document, The Rule of Least Power. I propose a corollary to this rule, which in the spirit of recent memes, I'll call Atwood's Law: any application that can be written in java_script, will eventually be written in java_script.
Compare with
[Gancarz95]
tenets.
2007-07-25 Wed Jul 25 06:07 CK Metrics work
I've always been suspicious of metrics -- values calculated from the code
for pieces of code that claim to reflect the quality of the code. The
Chidamber-Kemerer
metrics have been a leading example. hre is a paper that tested tp see if high
scores on several metrics were associated with modules need more work...
OlaguEtAl07
- Hector M Olague & Letha H Etzkorn & Sampson Gholston & Stephen Quattlebaum
- Empirical validation of three software metrics suites to predict fault-proneness of Object-Oriented Classes developed using highly iterative or Agile Software Development Processes
- IEEE Trans Software Engineering V33n6(Jun 2007)pp402-419
- =EMPIRICAL OPEN-SOURCE AGILE BUGS METRICS CK Chidamber-Kemerer QMOOD MOOD Rhino Javascript
- Showed that bad CK scores are associated with modules that need fixing.
- Showed a slight tendency for metrics to be less useful in older projects.
2007-07-23 Mon Jul 23 06:07 Risks to the public and risks of project failure
Freeman07
- Peter A Freeman
- Risks are your Responsibility
- Commun ACM V50n6(Jun 2007)p104
- =SERMON RISKS MODELS INCOMPLETE Limited Calculation SIMULATION MODULES ARCHITECTURE
- When working on a part need to be able to understand the whole -- and we don't have good tools for doing that with software.
AvisonYoung07
- David Avison & Terry Young
- Time to rethink health care and ICT
- Commun ACM V50n6(Jun 2007)pp69-74
- =SURVEY UK HEALTH RISKS PEOPLE CULTURE FACE-TO-FACE VS ERP NPfIT RISP CSCI372
- Describes and analyses the history of health systems not meeting their goals and/or failing to serve the stake holders
- NPfIT::UK.NHS="The National Program for Information Technology".
- Notes that best practices include understanding and supporting the culture of the organization.
- Notes that health systems rely on complex face-to-face communication.
- Claims this is being ignored in NPfIT.
Armour07b
- Philip G Armour
- Twenty Percent
- Commun ACM V50n6(Jun 2007)pp21-23
- =IDEA ESTIMATION OPTIMISTIC RISKS DEATHMARCH
- A good 50% estimate -- allowing for reasonable problems -- is negotiated down to one that has a 20% of being met, by ignoring the risks.
- Optimism reduces the resources requested at the price of increasing the probability of running out of resources.
- See
[Spinellis07a]
and
[DEATHMARCH]
2007-07-20 Fri Jul 20 06:07 Need to research web/net enabled applications
HeckVervest07
- Eric Van Heck & Peter Vervest
- Smart Business Networks: How the network wins
- Commun ACM V50n6(Jun 2007)pp29-37
- =CASESTUDIES WEB/NET BUSINESS NETWORK EFFECTS ECONOMICS SERVICES COORDINATION ORCHESTRATION BOS Amazon eBay Multiasistecia Kenny's TheBigWord
- BOS::="Business Operating System".
- Businesses are starting to need the ability to create and operate flexible and ad hoc networks with partners.
- Also see news item on page 14: Amazon's "Mechanical Turk" and ChaCha that farm out problems that require powerful AI to real intelligences.
FramlingEtAl07
- Kary Framling & Timo Ala-Risku & Mikko Karkainen & Ian Holmstrom
- Design Patterns for managing Product life cycle Information
- Commun ACM V50n6(Jun 2007)pp75-79
- =DEMO OBJECT-ORIENTED GoF PATTERNS OBSERVER COMPOSITE WEB/NET AGENTS SOAP JAVA HTML
- Gof.Observer and GoF.Composite were useful for organizing networks of agents.
Shneiderman07
- Ben Shneiderman
- Web Science: A Provocative Invitation to Computer Science
- Commun ACM V50n6(Jun 2007)pp25-27
- =ESSAY SCIENCE ENGINEERING WEB/NET PEOPLE NONTECHNICAL EDUCATION
- Reports on the launching of a science of web applications
[ http:://www.nowpublishers.com/web/ ]
that stress the non-technical issues of computerized/networked systems.
- An alternative to or an introduction to or the future of computer science?
2007-07-19 Thu Jul 19 08:07 In today.... dept 25th anniversary
I'll be on campus real soon this morning.
I'm planning to do some prep for the Fall Quarter in my office.
From 11-12 the 25th Anniversary Comm will meet in JBH307.
After that I'll probably head home.
2007-07-19 Thu Jul 19 06:07 DFDs vs Use Cases Diagrams
Interesting experiment....
JeyarajSauter07
- Anand Jeyaraj & Vicki L Sauter
- An Empirical Investigation of the Effectiveness of Systems Modeling and Verification Tools
- Commun ACM V50n6(Jun 2007)pp63-67
- =EXPERIMENT DFD vs UCD USE CASE DATA FLOW GRAPHICS REQUIREMENTS MODEL
- Compared the ability of people (novice and experienced) to extract a correct and complete narrative from either a DFD or a use case diagram.
- DFDs better at exposing information about the system.
- Before asking non-experts (clients, users, stake holders) to review requirements diagrams provide training.
- Replicates
[FreemanL03]
2007-07-18 Wed Jul 18 13:07 STL and Languages considered too soft
Spent some time this morning adding a section of sources
to my notes
[ samples/stl.html ]
on the C++ Standard Template Library. This library provides too many obscure
ways to solve problems! But then most of the C++ languages are like that, for example Java:
JonesPE07
- Peter Edward Jones
- Do Programming Languages make Software too Soft
- IEEE Software Magazine V24n3(May/Jun 2007)pp120+118-119
- =EXAMPLE TECHNICAL leap year Java
- Gives half-a-dozen variations of Java code for determining if a year is a leap year -- including 4 tests of divisibility.
- Claims that languages should be harder so that only one or two solutions are possible!
2007-07-17 Tue Jul 17 09:07 Poster for conference
I spent part of the weekend printing and sending a 4'><4' poster to Puerto Rico
on behalf of Jane Curnutt, Keith Schubert, and Ernesto Gomez. It was a 1Mb PDFthat I had to delete to save disk space on the server.
2007-07-17 Tue Jul 17 07:07 Performance
Here are a couple of papers on predicting or optimizing the performance of systems.
ArdagnaPernici07
- Danilo Ardagna & Barbara Pernici
- Adaptive Service Composition in Flexible Processes
- IEEE Trans Software Engineering V33n6(Jun 2007)pp369-384
- =EXPERIMENT ANNOTATED MODEL SERVICE QUALITIES PERFORMANCE OPTIMIZATION QoS MAIS BPEL UML XML MILP
- Given a process that has many steps and includes loops and branches, and each elementary step can be carried out by several rival "concrete" services.... what is the optimum selection of services to complete task?
- Given the same process that is partly complete.... what is the optimum way to complete the process.
- If the optimal solution is not good enough... how to negotiate a better one.
- MAIS::="MultiChannel Information Systems" project,
[ http://www.mais-project.it ]
- MILP::model="Mixed Integer Linear Programming".
- Qualities = { Price, Reputation, Execution_time, availability, data_quality}.
- Experiments suggest the algorithms work fast enough to be used in practice.
- Requires an extensive collection of data on both the service requirments and the properties of the services provided.
CortellessaPieriniRossi07
- Vittorio Cortellessa & Pierluigi Pierini & Daniele Rossi
- Integrating software models and platform models for performance Analysis
- IEEE Trans Software Engineering V33n6(Jun 2007)pp385-401
- =DEMOs MODEL PERFORMANCE QUALITY UTILIZATION UML-RT ANNOTATIONS RRT REAL TIME
- Shows how to model design + platform so that the system can be simulated.
- RRT::= "IBM-Rational Rose RealTime tool set", includes simulation.
- Simulations appear to fit actual system loads well.
- Note. Diagrams may be UML-RT but they are not UML1.* or UML 2.0. They use a non-standard conditional node.
Note: you can search my bibliography for publications about software development
very easily:
[ bibsearch.html ]
(I sample the searches to see what topics are hot and what robots
are visiting but I don't collect personal data).
2007-07-16 Mon Jul 16 08:07 How to model agents
Ambiguous: "Modelling Agents" -- are these people who find jobs for
models, or a program for predicting the behavior of spies? No! Just
extensions to the unified modeling language that handle the more complex
things that happen with agents: being in environments, having rights and duties,
etc.
SilvaLucena07
- Viviane Torres da Silva & Carlos J P de Lucena
- Modeling multi-agent systems
- Commun ACM V50n5(May 2007)pp103-108
- =PROPOSAL METAMODEL MAS-ML TAO AGENTS UML
- TAO::="Taming Agents and Objects", conceptual framework.
- MAS-ML::="multi-agent systems modeling language".
- Adds to the UML the following
- 5 new stereotypes (belief, goal, axiom, right, duty),
- 10 new classifiers (AgentClass, OrganizationClass, EnvironmentClass, ....),
- 1 new Element: AgentMessage,
- 4 new direct relationships (ownership, inhabit, control, play).
2007-07-13 Fri Jul 13 06:07 The White Water Process and fixing a bad definition in my Java pages
First a thankyou to "Andrew" ( emulord101) for helping me improve my description
of
[ samples/java.glossary.html#protected ]
(I'd abused th term deprecated).
Here is a study of software development in small software companies.
It demonstrates
One size does not fit all.
HarrisAebischerKlaus07
- Michael Harris & Kris Aebischer & Tim Klaus
- The Whitewater Process: Software product development in Small IT Businesses
- Commun ACM V50n5(May 2007)pp89-93
- =STUDY 3 SMALL Florida Information Technology BUSINESSES PEOPLE PROCESS CUSTOMERS FEATURES TECHNOLOGY ITERATION INCREMENTAL MICRO-RELEASES EVOLUTION SMITB ONE SIZE
- Development is feature driven -- even the development platform and technology is changed when their is a market reason to change.
- Small companies do not support multiple versions, multiple platforms, large marketing teams, trade shows, ...
- Small companies tend to support a small number (=~= 100) non-IT customers using internet delivery.
- Small teams. Modular architecture. Comparatively simple product.
- Increment starts with inspiration and evaluation. Then iterative development: many micro-release shown to customers. Delivery is followed by high-touch support. Though out customers (current and potential) are shown the new features for feedback.
- There are some cycles that involve major redesign and refactoring to add clashing features and/or resolve structural issues.
Cusumano and colleagues have done similar (but longer) studies of
large companies like MicroSoft and Netscape. For a bibliographic listing
of publications on the diversity of processes try this
ONE.SIZE
search.
2007-07-12 Thu Jul 12 08:07 Software Architect Defined
Working at home this morning, I find it very hard to evaluate articles that
talk sense, have some anecdotal (unverifiable or replicatable), and very few
references. The following article seems sound but is not science-based.
McBride07
- Matthew R McBride
- The software architect
- Commun ACM V50n5(May 2007)pp75-81
- =EXPERIENCE+SURVEY ARCHITECT PEOPLE ANALYSIS DESIGN MODULES QUALITIES ECONOMICS MANAGEMENT
- Based on some classic readings and some experiences(positive and negative) as acting as chief architect.
- Software Architects are responsible for the organization of the software
-- the parts and how they work together.
- Tasks
- Mitigate unbounded Complexity
- Strategies: management, risk analysis, communication, educate stake holders in technology options and values
- Tactics: requirements, layers, defined interfaces, iteration, increments
- Manage Functional Requirements
- Communicate Effectively.
Developers, Senior management, project management, customers are different.
- Embrace leadership.
- Pay attention to nonfunctional requirements
- Bring a well stocked toolkit
- Patterns and idioms
- Frameworks
- Best Practices
- Report results.
2007-07-11 Wed Jul 11 10:07 Some reading on Business and enterprise needs vs techie stuff
If there is one constant in computing it is the need to justify computer
technology in terms of the existing enterprise/business needs. The readings
all explore some varieties of this.
Akera07
- Atsushi Akera
- Edmund Berkeley and the Origins of ACM
- Commun ACM V50n5(May 2007)pp31-35
- =HISTORY 1940s ANALYSIS Study Contract
- Need to sell managment on the use of computers to do paper-work. "Methods Analysis".
Vickers07
- Andy Vickers
- Satisfying business problems
- IEEE Software Magazine V24n3(May/Jun 2007)pp18-20
- =ADVERT REQUIREMENTS REALITY DESIGN TRACEABILITY PRAXIS REVEAL JACKSON
- Michael A Jackson's ideas for working with requirements and systems canbe used for solving business/enterprise problem that do not involve programming.
- R=Requirements statements: desired state. "Candidates should leave the interveiw process with a positive view of the business".
- S=Specification statements: how the system responds to external stimuli. "Interview dates are booked in managers diaries at the time when the vacancies are advertised". "Interview dates are published"....
- D=Domain facts. Properties that are already true. "Managers are busy people". "Only Managers can interview candidates"...
- SA=Satisfaction Arguments. Shows that if Si and Dj... then Rk will follow. "By scheduling interview dates....the candidates will have had a positive experience".
- The SAs provide rich traceability, They also provide a stopping rule.
- The Ds help expose facts that may change and invalidate the specification: stop it meeting the stakeholders needs,
dick|-can this metadata be recorded efficiently.
CarvalloFranchQuer07
- Juan Pablo Carvallo & Xavier Franch & Carme Quer
- Determining Criteria for selecting Software Components: Lessons Learned
- IEEE Software Magazine V24n3(May/Jun 2007)pp84-94
- =EXPERIENCE STANDRADS COTS COMPONENTS SELECTION QUALITIES PURPOSES Criteria Catalog ISO/IEC9126-1 METRICS EVOLUTION REALITIES DOMAIN TAXONOMY
- "Adopt a balanced Criteria Catalog"
- Three level hierachy extending one in the standard.
- Built for a particular "scope": domain or category of similar domains.
- "Recognize the importance of nontechnical criteria"
- "Precisely Define your selection framework"
UML model. KitchenhamHughesLinkman01.
Criteria can be linked: synergy, conflict, ... Tool
[ http://www.lsi.upc.edu/~gessi/DesCOTS/ ]
- "Consider the Criteria Catelogs final pupose".
Catalogs can be reused between similar scopes.
- "Organize software scopes herarchically".
Build a taxonomyof scopes (Figure 5).... Based a known hierarchy of business Applications.
- Describes 4 or 5 ways the experience can be used.
- The specific evolved catalogs and taxonomies are less important than the idea of evolving, iteratively, incrementally precise catalogs and taxonomies suited to your projects.
McLaughlin07
- Laurianne McLaughlin
- Universal Business Language: Checkup time for an XML Vision
- IEEE Software Magazine V24n3(May/Jun 2007)pp113-116
- =NEWS EDI BUSINESS DATA STANDARD UBL-1 UBL-2 ebXML xCBL XML OASIS vs SOA
- UBL-1 defined the 8forms most often used between ordering and invoicing.
- UBL-2 has 1,000 data elemnts and 23 trade documents for government procurement.
- In use in Denmark and Sweden, not in USA.
- Forum
[ http://www.ebexmlforum.net/ ]
- ebXML used for antiterroism, healthcare payments, B2B, ...
- Developing an international set of data dictionaries.
- Rivals: HL7, SOA, web services,
- United Nations Centre for Trade Facilitation and Elkectronic Business
[ cefact ]
2007-07-11 Wed Jul 11 09:07 Trying to improve description of Algol60
My transaltion of the Algol60 Report into my meta-language MATHS
has proved (over the years) problematic because
- MATHS is based on ASCII.
- Algol 60 has a completely alien character set, that has never been implemented.
My latest attempt is
[ samples/algol60.syntax.html ]
Meanwhile, I'd like to acknowlege the help from an alert reader:
Subject: samples/copy past after to mutch coffee
Reply_To: gisli_tru@hotmail.com
- tolower(c)::char=converts lower case letters into upper case letters and copies all others.
- toupper(c)::char=converts upper case letters into lower case letters and copies all others.
"THis was copyed from
[ c++.libraries.html ]
"
Is it not supposed to be the other way around?
ps.
Great site.
From: Acidiferous
Seeing I don't drink coffee any more.... I blame the lack of coffee for
the mistake.... which has been corrected. By the way, anybody like to fill
in the holes in "c++.libraries.html"?
Now to correct an typo in
[ plan.html ]
and I'll be ready to do some real work.
2007-07-10 Tue Jul 10 09:07 Holiday reading on Evolution iteration TDD and agility
Pleasant trip to San Diego. Toured the Midway Aircraft Carrier. Fascinating
study in cybernetics and engineering -- how to create a floating town that
is capable of supporting aircraft... One part went over the evolution
of wireless messages from Morse Code and human transcription to the
Baudot code and teleprinters. I date back to teleprinters...
Meanwhile still catching up with my reading. The following have a common
thread about changing software processes and methods
Erdogmus07
- Hakan Erdogmus
- Novelty in sameness
- IEEE Software Magazine V24n3(May/Jun 2007)pp5-7
- =EDITORIAL IID ITERATIVE INCREMENTAL EVOLUTION Royce70
- Notes the difficulty of understanding and using new ideas.
- Good definition & discussion of iteration and increments.
- Compare with
[Meyer97]
(Quality First),
[JacobsonBoochRumbaugh98]
(RUP),
[Larman04]
(Evo, ...).
Spinellis07a
- Diomedis Spinellis
- Silver Bullets and other Mysteries
- IEEE Software Magazine V24n3(May/Jun 2007)pp22-23
- =ESSAY SUBOPTIMAL PROCESSES DEATHMARCH FADS LEGACY GAMES
- Notes Alan Davies's explanation (NASSCOM 2006) of why developers and marketers agree on adding functions with impossible delivery dates.
- Reason: Machiavellian win-win after failure
- Developers blame the impossible schedule.
- Marketers blame the delay for missing the market window.
Similarly rather than developers admitting the low quality of a legacy system, they prefer to promote its replacement with one using the lates silver bullet method/technology/process. Managers earn points for vision and proactivity. Vendors make money by selling the new ideas. And if it fails, then both developers and managers can blame the immaturity of the new silver bullet.
FaegriHanssen07
- Tor Erlend Faegri & Geir Kjetil Hanssen
- Collaboration, Process Control, and Fragility in Evolutionary Product Development
- IEEE Software Magazine V24n3(May/Jun 2007)pp96-104
- =EXPERIENCE Evo GILB EVOLUTION METRICS IMPROVEMENT
- Reports on a two-year process of introducing and adapting Tom Gilb's Evo (1981) Process.
- Evo has a strict weekly schedule, defines increments in terms of measurable stakeholder needs.
- It needs efficient tools to support the rapid weekly cycle of adding requirements and testing solutions.
- May need to add "Green weeks" where system is tested without new functions being added. May need to have some 2 week iterations.
- Evo depends on the presence of the stakeholders.
- Evo improves customer satisfaction.
- (dick)|-for a good comparison of Evo with other agile methods see
[Larman04]
JeffriesMelnik07
- Ron Jeffries & Grigori Melnik (eds)
- TDD: The Art of Fearless Programming
- IEEE Software Magazine V24n3(May/Jun 2007)pp24-83
- =SURVEY =ISSUE TEST DRIVEN DEVELOPMENT
- Pages 24-29 defines TDD, surveys the research literature(TDD does work), introduces the following papers.
- In TDD the system is in one of three states: Fail (Red), Pass(Green), and Refactor in the following cycle:
- Design a test for one new capability.
- state=Fail.
- Implement just enough code to make all tests succeed.
- state=Pass.
- Improve design using tests to verify continued sucess.
- state=Refactor.
- Papers in special section
Table| Author | Title | Note/link
|
|---|
| Robert C Martin | Professionalism and test-driven development
|
| Scott W Ambler | Test-driven Development of Relational Databases
| refactoring may temporally lead to duplicated fields and special synchronisation methods.
|
| Thomas Dohmke & Henrik Gollee | test_driven Devlopment of a PID Controller
|
| Alex Ruiz & Yvonnee Wang Price | Test-Driven GUI development with testNG and Abbot
|
| Jennitta Andrea | Envisioning the NExt Generation of Functional Testing tools
|
| Johnson & Maximillien & Ho & Williams
| Incorporating Performance testing in a Test-Driven Development
|
| Bas Vodde & Lasse Koskela
| Learning Test-Driven Development by Counting Lines
| See
[VoddeKoskela07]
|
(Close Table)
VoddeKoskela07
- Bas Vodde & Lasse Koskela
- Learning Test-Driven Development by Counting Lines
- IEEE Software Magazine V24n3(May/Jun 2007)pp74-79
- =ANECDOTE EDUCATION TECHNICAL =EXAMPLE TDD REFACTORING LoC
- Describes experiences with teachers and students writng a program to count the number of lines of code (LoC) in Java Source code.
- The cycle of write test + write code without merciless refactoring always lead to ugly code while uncovering the real problems to be solved.
- It takes a big refactoring to come up with an elegant solution.
- Claim: it would be hard to produce the elegant and correct solution without the learning using TDD.
- Note: the samples of solutions demonstrates the ugliness and elegance of the solutions well.
2007-07-03 Tue Jul 3 12:07 Hot weather and reading
KitchenhamMendesTravassos07
- Barbara A Kitchenham & Emilia Mendes & Guilherme H Travassos
- Cross versus Within-Company Cost Estimation Studies: A Systematic Review
- IEEE Trans Software Engineering V33n5(May 2007)pp316-329
- =SURVEY ESTIMATE COSTS COCOMO
- Can a company rely on data frm other companies to guide its cost-estimation methods?
- Found the 10 empirical papers published on this topic. Evaluated and compared them. Drew conclusions:
- A large company, similar applications, similar sizes, some large projects all indicat that estimtes can be made better using data from another company.
- Small companies, specialized or small projects, or homogeneous internal data sets indicate that a company should only use its own data to calibrat its estimates.
AnderssonRuneson07
- Carina Andersson & Per Runeson
- A replicated quantitative analysis of Fault distributions is complex software systems
- IEEE Trans Software Engineering V33n5(May 2007)pp273-286
- =EXPERIENCES ANALYSIS SIZE MODULES RELIABILITY
- Repeats
[FentonOhlsson00].
- Few modules contain most faults - pre & post release.
- Fault densities are similar in similar environments.
Joannou07
- Paul Joannou
- Enterprise, Systems, and Software Engineering -- the need for Integration
- IEEE Computer Magazine V40n5(May 2007)pp103-105
- =IDEA ENTERPRISE ENGINEERING SYSTEMS SOFTWARE
- Need to match software to system and systemto enterprise,
Guerra-FilhoAloimonos07
- Gutenberg Guerra-Filho & Yannis Aloimonos
- A Language for Human Action
- IEEE Computer Magazine V40n5(May 2007)pp-
- =IDEA PARALLEL GRAMMAR MODELS HUMAN MOTION
- Use a parallel synchronous grammar system to describe the motions of linked limbs/joints.
Hatton07a
- Les Hatton
- Emprirical Test Observations in Client-Server Systems
- IEEE Computer Magazine V40n5(May 2007)pp24-29
- =STATISTICS ERRORS TWO CLIENT-SERVER SYSTEMS
- Worth continuing to monitor correctness of client and server system after delivery. Even for errors in the serverthat the user can not observe.
- No evidence that a good GUI covers up errors.
- Claims <= 1 defect per KSLOC.
Gries07
- David Alan Gries
- Working Class Hero
- IEEE Computer Magazine V40n5(May 2007)pp8-10
- =HISTORY OPEN SOURCE 1955 SHARE CUBE LINUX
- Argues that the Open/Free Source Code movement dates back to the free sharing of software in "user groups" in the 1950's.
- Anecdote arguing that it takes a degree of oppression of the workers to keep a software product alive in competition.
Sakthivel07
- S Sakthivel
- Managing RISK in offshore systems development
- Commun ACM V50n4(Apr 2007)pp69-75
- =SURVEY OUTSOURCE OFFSHORE RISKS
- Risks are higher and need managing when developers are far from the problem.
NevoWade07
- Dorit Nevo & Michael R Wade
- How toavood disapointment by design
- Commun ACM V50n4(Apr 2007)pp43-48
- =FOCUS EXPECTATIONS VoIP Project SATISFACTION EXPECTATIONS
- Stakeholer satisfactiondepends on the system performing a little better than expected.
Denning07
- Peter J Denning
- Mastering the Mess
- Commun ACM V50n4(Apr 2007)pp31-25
- =ESSAY PROBLEMS INNOVATION THINKING
- mess: disorder, no problem statement, controversy, doubtful causality, fixes don't work, ... "Normal"...
- 4 levels of mess and actions.
- 6 stratagems: declare, learn, question, many views, lead, disguise
2007-06-28 Thu Jun 28 15:06 New convention in proofs
I've just introduced a useful new convention for typing up proofs.
In a step like this
- (evidence)|- (label): result.
The evidencee can be "-1" to indicate the previous result, and "-2"
the previous two. I don't think that "-3" is stable enough.
[ maths/logic_25_proofs.html ]
2007-06-28 Thu Jun 28 14:06 Miscelaneous -- open source economics + Virtual communities + Data maturity
AikenAllenParkerMattia07
- Peter Aiken & M David Allen & Burt Parker & Angela Mattia
- Measuring Data Managment Practice Maturity: A Community's Self-Assessment
- IEEE Computer Magazine V40n4(Apr 2007)pp42-50
- =MODEL +POLL DATA PROCESS MATURITY IMPROVEMENT CMMI
- Proposes a CMMI-like measure of the maturity of data managment.
- 6 process areas: data program coordination, organizational data integration, data stewardship, data development, data support operations, and data asset use.
- The usual 5 levels: 1=initial, 2=repeatable, 3=defined, 4=managed, 5=optimizing.
- Questionaire with 20+ questions used intelephone interviews 2000-2005 with 107 companies.
- Results: most process areas are at the repeatable level.
Riehle07
- Dirk Riehle
- The Economic motivation of open source software: stakeholder perspectives
- IEEE Computer Magazine V40n4(Apr 2007)pp25-32
- =ESSAY ECONOMICS OPEN SOURCE
- Explains why it pays to develop open source solutions.
KohEtAl07
- Joon Koh & Young-Gul Kim & Brian Butler & Gee-Woo Bock
- Encouraging Participation in Virtual Communities
- Commun ACM V50n2(Feb 2007)pp69-73
- =POLL USERS WEB/NET COMMUNITIES
- Activity = Posting | Viewing.
- Perceived usefulness improves viewing.
- Offline interaction & quality of technology drives posting.
- Larger communities have more posting and viewing.
2007-06-28 Thu Jun 28 14:06 Research from IEEE Transactions on Software Engineering
Papers on
testing optimization models UML:
PerkinEtAl07
- Simon Perkin & Claude Jard & Thierry Jeron & Jean-Marc Jezequel & Yves Le Traon
- Test Synthesis from UML Models of Distributed Software
- IEEE Trans Software Engineering V33n4(Apr 2007)pp252-268
- =DEMO UML sequence diagrams MSC SCENARIOs State machines FSM TESTS ATC XMI IOLTS Objecteering Umlaut TGV
- SUT::="System Under Test".
- IOLTS::="Input Output Labeled Transition System", Actions are classified as hidden, inout, and output.
LiHarmanHierons07
- Zheng Li & Mark Harman & Robert M Hierons
- Search Algorithms for Regression Test Case Prioritization
- IEEE Trans Software Engineering V33n4(Apr 2007)pp225-237
- =EXPERIMENTS OPTIMIZATION GREEDY GENETIC HILL-CLIMBING
- Test Case Prioritization:=following
Net
- Tests::given.
- PT:= 1..|Tests| --- Tests, permutations.
- award : PT >-> Real = given.
- T:PT = goal.
- |-(optimal) : for all T':PT~{T}( award(T)>=award(T') ).
(End of Net)
- Greedy worked quiet well in both small and large test sets.
- Hill Climbing produced a wide range of local optima -- multimodality. Note: the hill climbing step was a single interchange of the first test in the order with another test.
BaierEtAl07
- Christel Baier & Lucia Cloth & Boudewijn R Haverkort & Mathias Kuntz & Markus Siegle
- Model Checking Markov Chains with Actions and State Labels
- IEEE Trans Software Engineering V33n4(Apr 2007)pp209-224
- =THEORY MODEL CHECKING REAL TIME MARKOV CHAINS PROBABILITY LOGIC asCSL
- Logic + model design for verifying requirements that a given pattern of actions and states (and time limits) has a given range of probabilities.
Example requirement: the probabillity of entering a full state via a number of arrive actions within 5 time units must be greater than or equal to 99%.
- Defines products of chains.
- Cellular phone hand over model.
- experiment with tool.
Milicev07
- Dragan Milicev
- On the Semantics of Associations and Association Ends in UML
- IEEE Trans Software Engineering V33n4(Apr 2007)pp238-251
- =THEORY SEMANTICS UML ASSOCIATION {unique} {nonunique} Z
- Notes an ambiguity in the UML 2.0 standard metamodel of associations ("the restrictive")
and proposes a fix("the intensional").
- Very bdetailed and Precise using Z.
2007-06-28 Thu Jun 28 12:06 GIS Job with Washington State Dept of Transportation
- Position: Information Technology Specialist 4
- Division: Strategic Planning & Programming, Geographic Services
- Recruitment Number: 06-HQ-201
- Location: Tumwater, WA
- Opening Date: September 25, 2006
- Closing Date: October 13, 2006
This position is responsible for design, acquisition, maintenance,
troubleshooting, problem resolution and consulting for GIS systems. As a
member of the Cartography and Geographic Information Systems (CGIS)
section, this position will work closely with staff/contractors on the
development and support of GIS applications that have significant
Department-wide impact using ArcObjects, ArcGIS Engine, and ArcGIS Server.
Specific applications include the Roadside Features Inventory Program Field
application, the GIS Workbench, the Enterprise Location Class (ELC),
multiple ArcIMS applications, and ArcGIS Web Services. This position is
considered to be a technical expert in developing GIS desktop, server and
field applications. This position will work with multiple business areas
to identify which system-related needs are most applicable for inclusion
into the department’s GIS environment.
2007-06-28 Thu Jun 28 08:06 Quality First vs Best Foot First
Poured a mug full of really hot water on to my foot on Tuesday.... a line
of small blisters on Wednsday, but able to wear shoes again today.
Into my office and rediscovered a brilliant early description of
what we might call test driven development or feature driven development
Meyer97
- Bertrand Meyer
- Practice to Perfect: The Quality First Model
- IEEE Computer magazine V30n5(May 1997)pp102-103+105-106
- =ADVERT QUALITY EVOLUTION INCREMENTS PURPOSE
- First get highest QUALITY and then add PURPOSEs
- always have a reliable robust maintainable product
- not RAD but closer to MS smoke-test(
[CusumanoSelby97)]
plus using compiler to validate code
- cf eXtreme Programming XP
I'll be posting some more recent reading later today.
By the way.... if you couldn't find our web site... the server room
air conditioning failed last night and we had to shut down a lot of systems
until we could get the room down to a sensible temperature.
2007-06-26 Tue Jun 26 07:06 Revized Generic Syllabus
See
[ syllabus.html ]
, it just needs proof reading and a couple of page numbers inserted
for pages in the CSUSB catalog.
2007-06-25 Mon Jun 25 19:06 Tidying up at home and online...
Flying visit to scan and upload half-a-dozen historic photos
to prepare for the 25th anniversary of the dept:
[ 25th ]
2007-06-20 Wed Jun 20 15:06 Attempting to Tidy up
Threw out and/or shredded stuff from Fall 1997. And filed
stuff from this quarter. Got out materials from previous
[ cs201 ]
and
[ cs372 ]
course, ready for fall.
Added another example to
[ andor ]
research.
Worked on the CSCI dept's
[ 25th ]
anniversary....
And here is a paper advertizing a way to use
software services
to collect and integrate healthcare systems:
BudgenRigby07
- David Budgen & Michael Rigby & Pearl Brereton & Mark Turner
- A Data Integration Broker for Healthcar Systems
- IEEE Computer Magazine V40n4(Apr 2007)pp34-41
- =ADVERT SERVICE DATA HEALTHCARE IBHIS ONTOLOGY SEMANTICS UK
2007-06-19 Tue Jun 19 10:06 Grading and tidying up
Got the grades in by the deadline:
[ cs202/grading/ ]
and
[ cs320/grading/ ]
2007-06-18 Mon Jun 18 15:06 Concerns in Source Code
RobillardMurphy07
- Martin P Robillard & Gail C Murphy
- Representing concerns in Source Code
- ACM TOSEM Trans Software Eng & Methodology V16n1(Jan 2007)pp1-38
- =EXPERIMENTS TECHNICAL TOOL ASPECT-like ECLIPSE PLUGIN FEAT JAVA
- =THEORY SOURCE CODE cross-cutting concerns
- FEAT tool tested on several small experiments -- seems to make maintentance easier.
- Makes concerns visible in source code and allows browsing by the scattered concerns.
- Detects inconsistent patterns and so points to ways to fix bugs.
- FEAT::= See http://www.cs.ubc.ca/labs/spl/projects/feat
- Also publishes a difficult formal mathematical model of concerns and their relation to source code: concern graphs.
2007-06-17 Sun Jun 17 16:06 Commencement
Hot, sunny, fun, robes, fountains, photos
[ 20070617Commencement.jpg ]
, ...
2007-06-12 Tue Jun 12 10:06 MetaFarcical Performances?
Went to the CSUSB theater for the last performance of "Noises Off"
a farce about a theatrical company trying to present a farce while their
personal and professional relations are collapsing everywhere.
I haven't laughed as much for 40 years. To say nothing of the
sardines.
I've also just read a couple of articles on
Service Oriented Architectures
and the idea of
Enterprise Service Busses.
Ortiz07
- Sixto Ortiz Jr
- Getting on ZBoard the Enterprise Service Bus
- IEEE Computer Magazine V40n4(Apr 2007)pp15-17
- =ADVERT ESB SERVICES ARCHITECTURE GLUE SOA INTEGRATION LEGACY EAI
- EAI::="Enterprise Application Integration", hub and spoke. Adaptors. Brokers. Pipelines. Point-to-Point
- SOA:="Service Oriented Architectures",XML defined WEB communication, SOAP HTTP UDDI ...
- Hub and spoke can have performance problems.
- ESB::="Enterprise Service Bus", analogy hardware bus, handles locating servers, adapting data, routing messages. JCA | SAP IDoc. Many protocols...
- Does more work .... So larger servers.
- Many rival products.
Bussler07
- Chistoph Bussler
- The Fractal Nature of Web Services
- IEEE Computer Magazine V40n3(Mar 2007)pp93-95
- =HARMFUL NAIVE SERVICE SOA PERFORMANCE QUEUES
- A new silver bullet: Service-oriented Architecture.
- If everything is a service and can be called by any other service then performance will be unstable.
- Example: Simple request and reply leads 14 messages, 24 remote invocations, and 4 distributed transactions.
- Need to think about what should be offered as a service....
2007-06-08 Fri Jun 8 08:06 Patents and Agile Methods
A couple of items.... some old news about patent law for software
and some thinking about Agile Methods:
Samuelson07
- Pamela Samuelson
- Patent Reform Through the Courts
- Commun ACM V50n2(Feb 2007)pp19-23
- =NEWS USA Supreme Court IP PATENTS PTO CAFC FTC infringement obvious
Teleflex vs KSR International on the obviousness of combined technologies -- does one need a suggestion to demonstrate that a combination is non-obvious.
NerurBalijepally07
- Sridar Nerur & VenuGopal Balijepally
- Theoretical Reflections on Agile Development Methodologies
- Commun ACM V50n3(Mar 2007)pp79-83
- =SURVEY Philosophies AGILE
- Makes the case that agile mthods fit well with recent developments in architectural, cybernetic, and management thinking.
2007-06-07 Thu Jun 7 13:06 Bad Math
Here are a couple examples of reports of the bad use
of mathematics in the practice of developing software:
Armour07a
- Phillip G Armour
- Mortallity Play
- Commun ACM V50n3(Map 2007)pp-
- =ANECDOTE INSURANCE SOFTWARE ESTIMATION
- Insurance depends on estimating precisely the chances of bad things happening...
- But this (anon) company had failed to figure out the chance of four projects failing.
- Armour figured each had a 1/5 chance, so all four at about 1/200 for the complete set.
- They used classic project planning with task breakdown etc...
- Conclusion: don't just ask how long a project will take, ask what is the chanace that it will be complete by the deadline.
KitchenhamJefferyConnaughton 07
- Barbara Kitchenham & David Ross Jeffery & Colin Connaughton
- Misleading Metrics and Unsound Analysis
- IEEE Software Magazine V24n2(Mar/Apr 2007)pp73-78
- =STATISTICS EXPERIENCES PROCESS STANDARD ISO/IEC 15393 METRICS PRODUCTIVITY Function points AMS
- AMS of IBM Australia is CMM level 4 softare group and has statistical databases for all their projects.
- Standard defines productivity = Lines_of_code / hours_of_effort.
- This ratio was not normally distributed and had a large standard deviation accross all projects.
- Classic statistical control charts don't make sense.
- Aggregated values do not apply to particular projects
- Scatter plots of Effort vs size in function points shows that a correlation model does not apply: nonhomoskedadistic for a start.
- Should use similar projects, graphical displays of data, transform data before correlating effort vs size, avoid means and standard deviations, beware metrics that are ratios!
2007-06-05 Tue Jun 5 14:06 Requirements
A couple of papers on sorting out requirements for software projects.
First: reprogram your PDA, second: expose how the stakeholders think:
MaidenEtAl07
- Neil Maiden & Omo Otojare & Norbert Seyff & Paul GrunBacher & Karl Mitteregger
- Determining Stakeholder needs in the workplace: How Mobile Technologies can help
- IEEE Software Magazine V24n2(Mar/Apr 2007)pp46-52
- =EXPERIENCE MSP Mobile Scenario Presenter PDA MSWord Requirements Arena-M ART-Scene Web/Net
- MSP::tool, presents and records scenarios + notes about them.
- Mobile device should be used to collect requirements where they occur -- in the workplace. Can combine mobile technology with various methods of requirments elicitation.
- Bespoke mobile requirements tools work better than generic tools.
- Tools should work with different people: analysis have more complex needs than future users.
- Usiability is important.
- Plan carefully to develop an infrastructure that supports mobile RE tools.
- Capture just enough information to enable completion of specifications later.
- 13 references.
NiuEasterbrook07
- Nan Niu & Steve Easterbrook
- So, You think you know others' goals? A Repertory Grid Study
- IEEE Software Magazine V24n2(Mar/Apr 2007)pp-61
- =EXPERIENCE KHP REQUIREMENTS GOALS RGT =SURVEY REPERTORY GRID PCT Kelly
- RGT::="Repertory Grid Technique".
- Grids discover the dimensions of the personal space for handling a set of objects.
- PCT::="Personal Construct Theory", by George Kelly, all people construct their own models of the world using their own dimensions.
- Grids are good for provoking discusion and eliciting hidden requirments/properties.
- Need tools to support RGT.
- Sidebars survey work and introduce RGT
2007-06-05 Tue Jun 5 09:06 Credit for Next 2 seminars
The next two seminars
[ seminar/20070608.txt ]
[ seminar/20070615.txt ]
have several presentations and last from 11am to 3pm!
I plan to hand round a sign up sheet at the start of each 60 minutes...
and will give 5 points credit for that hour if you sign up.
There will be no points for attending the informal brown bag lunch.
2007-06-04 Mon Jun 4 14:06 Picnic, Effectve Technology leadership
Fun CSci Picnic out by the soccer field: sushi, icecreadm, chicken, beans,
etc etc. ... Pictures will be posted on the dept web site.
Read an article on what makes technology leaders promotable.
Other than the jargon, this has not changed for 40 years.
Andriole07
- Stephuen J Andriole
- The 7 habits of highly effective technology leaders
- Commun ACM V50n3(Map 2007)pp67-72
- =POLL CIOs
- Think and communicate in terms of business rather than technology.
- Track technology in terms of how developed it is and if it is operational or strategic.
- Seek cures for business pain
- Optimize values of shared services and govern operational and strategic levels together.
- Negotiate service-level agreements and manage aquisition and ousourcing SWOT analysis.
- Communicate. Communicate. Communicate.
- Market IT to the enterprise.
2007-05-31 Thu May 31 16:05 GIS Internship (paid)
IEGIS Job: GIS Intern, City of San Bernardino
The City of San Bernardino has a new paid GIS intern position for about 20
hours a week. I am looking for someone who is getting a Bachelors in GIS
or a GIS related field such as Environmental Studies, Planning or
Geography. The person should have successfully taken classes where the
ArcGIS software (version 9 or greater) was used for the coursework.
- Ruth Parish
- GIS System Administrator
- IS Department
- 300 North D Street
- San Bernardino, CA 92418
- 909-384-5947 (main)
- 909-384-7236 (fax)
2007-05-31 Thu May 31 14:05 Lost weekend...
I had a cold over Memorial Day Weekend... and so missed 2 of
the 3 Shakespear plays int he Redlands festival. And fell behind
in my proffessional reading... but caught up on 40 year old mysteries....
But I've just collefcted the following advocate the use of Eclipse
as a IDE:
YangJiang07
- Zhihui Yang & Michael Jiang
- Using Eclipse as a tool-integration platform for software development
- IEEE Software Magazine V24n2(Mar/Apr 2007)pp87-89
- =ADVERT TOOL Eclipse GMF EFM JDT WTP TPTP JUnit OPEN SOURCE
- Claims Eclipse supports Soup to Nuts development (requirments to testing).
- Claims Eclipse has 23 languages, 1,385 plugins, and support for Java, C/C++, etc.
- Lists resources on page 89.
- Problems discovering, understanding and managing plugins and updates.
- Before developing a plugin: choose the level of integration (page 89) and review the resources
2007-05-26 Sat May 26 07:05 Visit to Barstow High School
Yesterday, Friday, I drove out of the San Bernardino valley into the High Desert
to talk to the GATE Club at Barstow High School. Thanks to Bill for inviting
me (and supplying tea), and to John, Raven, Jodie, Ali (Spelling?), and Sam
for some interesting discussions as to what computer science is.
Then drive back down into the smog for the Redland's Shakespear Festival --
"A Midsummer's Night Dream". An really good performance with all the words
ringing clear for once -- "And the nine men's morris is filled up with mud."
Just added a note on a recent letter on
[GrottkeTrivedi07]
that critiques the use of "rejuvenation" as a way of handling some bugs.
2007-05-24 Thu May 24 15:05 Pete Naur
Not sure what to say about the following reading. I greatly admire the author
and have used several of his ideas.... and yet I'm not sure that his model of
the mind is that different to what I've already used...
Naur07
- Peter Naur
- Computing versus Human thinking
- Commun ACM V50n1(Jan 2007)pp85-94
- =HISTORY REJECTING MODERN PSYCHOLOGY LOGIC TURING vs plastic neural nets
- William James
- Science as description not theorizing.
2007-05-23 Wed May 23 13:05 Quantitive methods
Here are three papers the describe various quantitive methods associated with
software development:
estimation, modularization, and quality improvement.
Hatton07
- Les Hatton
- How Accurately do Engineers predict Software Maintenance Tasks
- IEEE Computer Magazine V40n2(Feb 2007)pp64-69
- =EXPERIENCE STATISTICS MAINTENANCE CHANGE REQUESTS CR
- Ratios of Corrective:Adaptive:Perfective vary with project. In these projects roughly 10:45:45.
- 75% of changes took less than 5 hours.
- Typically estimate was roughly 35% over the actual.
- But overestimation was significantly less in the second half of the data vs the first half.
- The variance of the overestimate drops as project progresses.
SarkarRamaKak07
- Santonu Sarkar & Girish Masken Rama & Avanish C Kak
- API-Based and Information-Theoretic Metrics for Measuring the Quality of Software Modularization
- IEEE Trans Software Engineering V33n1(Jan 2007)pp14-32
- =EXPERIMENTS MODULARITY METRICS API COHESION COUPLING httpd mozilla apache CDM CCM APIU ...
- Inspired by the attempt to modularize a large monolythic program into good modules without using Object-Oriented techniques.
Schneidewind07
- Norman Schneidewind
- A Quantitative Approach to Software Development using IEEE 982.1
- IEEE Software Magazine V24n1(Jan/Feb 2007)pp65-72
- =EXPERIENCE MATHEMATICS STANDARD RELIABILITY QUALITIES TOOLS Space Shuttle IEEE 982.1
- Methods used plus two formulas.
- Lessons learned in 20 years include
- No one method is a silver bullet: integrate many quality improvement methods
- Continually improve and upgrade processes and methods.
- Include feedback loops so that defect information helps improve requirements analysis (for example).
- The reliability models do not make accurate predictions -- the provide better bounds on how long to the next failure etc.
- Mix standards with other technique like fault injection and detection.
2007-05-22 Tue May 22 14:05 Watch for seminar changes and bugs...
More changes in the
[ seminar/ ]
schedule.
And some reading on debugging
Grier07
- David Alan Grier
- Dirty Electricity
- IEEE Computer Magazine V40n2(Feb 2007)pp6-8
- =HISTORY DEBUGGING
- Edison commented on bugs in 1878.
GrottkeTrivedi07
- Michael Grottke & Kishor S Trivedi
- Fighting Bugs: Remove, Retry, Replicate, and Rejuvenate
- IEEE Computer Magazine V40n2(Feb 2007)pp107-109
- =SURVEY DEBUGGING
- Different types of bugs need different strategies.
- Bohrbugs: use testing to find and remove faults that consistently manifest bugs in well defined conditions.
- Mandelbugs: No replication.fault->internal error-> error propagation-> platform interactions -> chaotic behavior. So can often avoid bug by retrying the software. Can try replicated software in different platforms.
- Age-Related Bugs: Rejuvenate = restart. Same two type: Bohr and Mandel.
2007-05-21 Mon May 21 06:05 JPL and Seminars
Fun but exhausting visit to the Jet Propulsion Lab "Open House"
in Pasadena last weekend. Reminded me strongly of going to
the Farnborough Air Show and Open Days as a young person.
Meanwhile there have been some new seminars planned.... the best thing to do
is to keep an eye on
[ ../seminar ]
to what is likely to be next.
Perhaps I should set up an RSS feed? ...
2007-05-15 Tue May 15 13:05 Seminar on web site design Tomorrow
[ seminar/20070516PallaviPillutla.txt ]
2007-05-14 Mon May 14 13:05 Don't ask about the weekend... Risks
The weekend involved hardware failures and other things...
This morning -- ants in the kitchen.... but I was able to make it
to the
[ seminar/20070514.txt ]
on multicore processors. I was interested to observe how the
same solution (more parallelism) has the same Risks
now, as it did in the 1970's.
The next
[ seminar/20070517.txt ]
is a project report on
Multi-User Game Development
on Thursday.
And now for something entirely different:
Cusumano07
- Michael A Cusmano
- What Road Ahead for Microsoft the Company
- Commun ACM V50n2(Feb 2007)pp15-18
- =ARTICLE ECONOMICS Microsoft vs OPEN SOURCE WEB/NET
- Rivals use new business model: use fee but pay for support and enhancements. Rather than pay for licence and upgrades.
- Challenge of breaking up monolythic code.
- Challenges of changing top management.
Now some recent publications on the risks of new technology:
Neumann07
- Pete J Neumann
- Widespread Network Failures
- Commun ACM V50n2(Feb 2007)p112
- =HISTORY RISKS WEB/NET LOCAL event GLOBAL consequence
Gives examples 1980-2006 of nationwide networks collapsing due to a small local failure.
- Not just cascades/propagation but feedback loops have to be calculated for.
- quirks, hidden flaws, race hazards, deadlocks, ....
- Need better architecture, analytical tools, planning, oversite, coordination...
ParameswaranEtAl07
- Manoj Parameswaran & Xia Zhao & Andrew B Whinston & Fang Fang
- Reengineering the Internet for better security
- IEEE Computer Magazine V40n1(Jan 2007)pp40-44
- =IDEA CERTIFIED PROVIDERS pay for sending SPAM MALWARE ...
Kaplan07
- Dan Kaplan
- Web2.0
- CS Magazine for Security Professionals, (Feb 2007)pp25-26+28-29
- =ARTICLE WEB2.0 RISKS Javascript AJAX MySpace RSS Outlook
- Downloading and executing code is a bad idea that keeps on being reinvented, and then being abused.
- Computer Proffessionals and Users need to work together.
Stephenson07
- Peter Stephenson
- AMenaza SecuriTree has a different view of Risk Analysis
- CS Magazine for Security Professionals, (Feb 2007)p67
- =REVIEW TOOL Fault trees LOGIC SECURITY REQUIREMENTS RISK ANALYSIS Amenaza SecuriTree
- See
[ http://www.amenaza.com ]
2007-05-10 Thu May 10 13:05 More changes
The Thesis Defence is about multi-core processors
and is now going to be on Monday:
[ seminar/20070514.txt ]
2007-05-09 Wed May 9 14:05 The Events are changing
Bhrigu Celly's presentation will be in the Math Seminar Room JBH391/389.
There will be a MS Thesis defence by Ryan Youngman in JBH359 at 1pm
on Friday 11th. More TBA.
2007-05-08 Tue May 8 10:05 Seminar changes
The MS Thesis presentation on Friday has been cancelled.
On Thursday at 11am we have our
former master's degree student Bhrigu Celly who will give a talk on employment
opportunities in the electronic arts industry, including game development
and animation. Bhrigu Celly currently works for Sony in the LA area, and
has been involved in creation of the PS 3 and other Sony technologies.
11:05 -- this
[ cphumor.htm ]
just in from David Cumbow:
"You can't make a program without broken egos."
So true. So funny. So sad.
2007-05-03 Thu May 3 15:05 Paid Internship Available
FYI
Reply_To: ddusick@pacbell.net
Dear Dr. Botting: My software company, BOLD Educational Software is looking for interns with programming experience in Mac and PC. He/she will need to understand Microsoft DOT.net code.
The internship starts off at $15 per hour, but can easily lead to paid work ata $50 per hour, depending on skills and availability.
Students should send their resumes to boldsoftware@pacbell.net, attention: Diane
Thank you,
From:
Diane Dusick
BOLD Educational Software
2007-05-02 Wed May 2 09:05 Thoughts while walking on Rules and Objects
I think I'd like to put together a list of "Do's and Don'ts" for programmers:
- (The Golden Rule): Write programs as if you will be using and maintaining them
for ever.
- (DRY): Don't repeat Yourself.
- (YAGNI): You Ain't Gonna Need It.
- (KISS): Keep It Simple, Stupid.
- (DTL): Don't tell Lies.
Code should describe itself accurately and reflect the truth about the
world in which the program runs. Output to the user should be honest as well.
A Triangle class should have 3 Points.
- (Silence is Golden): don't comment on code, refactor it. Don't output
useless messages to your user.
- Don't reinvent the wheel. Reuse open code.
- Moderation in all things. Avoid fads and religious wars.
- Know yourself and your clients.
- A poor craftsman blames his tools, a good one makes his/her own.
- Don't go out alone. Good programs come from teamwork.
- Attack risks before they attack you.
- A drawing is worth 1k lexemes but costs 100 times as much to do.
- ...
[click here
if you can fill this hole]
I also decided to look into an extension to my MATHS language.
When designed I was mentally competing with a language called Z (zed!)
which describes a dynamic system using two different types of description.
The first describes the static properties of an object, and the second,
separately, describes the change or Delta in the object.
I decided to try out including the operations that change an object
inside the description of the object... Not a new idea, but one
I've avoided formalizing in MATHS for a decade or so. The syntax
is simple.... see
[ Behavior in intro_objects ]
as my first step.
I'll have to come back to this in the coming months to work out all the
formalism needed to support the idea. That is if the formalization exercise
demonstrates that it is a stupid idea...
Meanwhile working on stuff for class -- algorithms and fileIO for CS202
and data abstraction for CS320 -- AND reading a paper on Petri nets
ready to write a review for CR.
Finally revisitting my idea for Extended And/Or tables. A possible Summer
Project would be to implement some tools to handle these ... I
had a neat algorithm for working out the implications of combining these
that ran in Hypercard on a Mac.... but the technology is dead. Next stop,
Java, Eclipse, and PHP, perhaps...
2007-04-27 Fri Apr 27 17:04 interesting seminar and much prep and Email
[ seminar/20070427.txt ]
But no time for reading... But I was able to do something useful with the new lap top.
2007-04-26 Thu Apr 26 15:04 Dr Dobbs Requirments Development Online Magazine
Just arrived in my Inbox with some interesting stuff
KingT07
- Tom King
- Dr. Dobbs Requirements Development n4(Apr 2007)p17
[ index.php ]
- =POLL REQUIREMENTS USE CASES ACTIVITY DIAGRAMS
- 50% adopted use cases, 25% activity diagrams, ... large companies adopt more than small ones.
- Adoption patchy.
And here is a report on the use of theory in software engineering research:
HannaySjobergDyba07
- Jo E Hannay & Dag I K Sjoberg & Tore Dyba
- A Systematic Review of Theory use in software Engineering Experiments
- IEEE Trans Software Engineering V33n2(Jan 2007)pp87-107
- =SURVEY SCIENCE
- 103 papers. 25 use some theory. 40 theories.
2007-04-25 Wed Apr 25 12:04 Logical Spreadsheets
How about having a spreadsheet that calculates logical formulas?
Young07
- Chelsea Anne Young
- Spreadsheets using logic instead of math may revolutionize data management
- =ADVERT LOGIC TOOL
- Standford Logic Group
[ logic-042507.html ]
- Quote "There are many cases where traditional spreadsheets are just not
sufficient," says Associate Professor Michael
Genesereth
, whose group in
the Computer Science Department is developing this new method of data
management. "Why not have a spreadsheet that looks just like a regular
spreadsheet except it has the ability to encode and use logical formulas?
That's what you can't do with Excel in any way today."
2007-04-25 Wed Apr 25 10:04 I revisit UML and find...
Every time I grade the first phase of the CS320 project I get massive doubts
about my notes on the UML, followed by doubts about my understanding of the UML...
This is slightly compounded be preping for a CS202 class session on the UML where
I thought it might good to do a proper "Larman" (
[ cs375/ ]
) style first iteration on a
program.... and discovered the numbers were all wrong in my sample of a
communications diagram.
This morning I went back to the Rational Rose edition (Free to students,
once upon a time, in Far Away). I used it to draw the diagram with the
wrong numbers. I discovered it inserted them and refuses to change
them....
Soo I've experiemented with using Dia to explore the relation between
communication diagrams, class diagrams and code:
[ samples/communicn.png ]
(large graphic)
and
[ samples/communicn.dia ]
(downloadable Dia diagram).
Next step.... experiments with Vision... and perhaps some "real" UML based CASE
tools.
2007-04-24 Tue Apr 24 13:04 Complex systems may have a few critical parameters
The first paper below quotes a number of AI and Data Mining sources to argue
that only a few variables/parameters are really important to predict the
behavior of a complex system -- and as an example only a few values
have to be tested to find the bugs in a piece of software.
The second paper, has no such grand theory -- but shows that the performance
of real systems only a few parameters need be tested to find a loss
of performance.
The third paper finds evidence that certain "Bayesian learners" can
calculate if a module is error prone from just a few measurements. But this
is from the same team (+ or - a few members) as the first article.
MenziesOwenRichardson07
- Tim Menzies & David Owen & Julian Richardson
- The strangest Thing about Software
- IEEE Computer Magazine V40n1(Jan 2007)pp54-60
- =SURVEY COLLARS MASTER VARIABLES CLUMPS TESTING TAR3 LURCH SPIN
- Page 54: "The strangest thing about software is that it works"
[MenziesRichardson06]
- Therefore proposes data mining to find the important variables ( they make the software work better/worse) and then random search on these "collars" to test the software.
- Claims that in complex systems (like software) on a small number of variables are important to the outcome, and only a small partt of the possible state space is ever visitted.
- Therefore proposes data mining to find the important variables ( they make the software work better/worse) and then random search on these "collars" to test the software.
- (dick)|-"The ideas in this paper may account for why testing works better than it should".
[MenziesCukic00]
YilmazPorterEtAl07
- Cemal Yilmaz & Adam Porter & Arvind S Krishna & Atif M Menon & Douglas C Schmidt & Aniruddha S Gokhale & Balachandran Natarajan
- Reliable Effects Screening: A distributed Continuous Quality Assurance Process for Minitoring Performance Degradation in Evolving Software Systems
- IEEE Trans Software Engineering V33n2(Jan 2007)pp124-141
- =DEMO TOOL STATISTICS DESIGN EXPERIMENT QUALITIES PERFORMANCE QoS Net/Web/Grid DCQA Skoll MDE OCML BGML on ACE TAO CIAO
- All about finding what options effect the performance of networked software most in a given application without having to test every possible combination of options.
- Design_of_Experiments : Sacrafices the recognition of more complex interactions by aliasing them with other effects.
- Experiments show that the method spots important factors as well as or better than more expensive alternatives.
- Uses classic additive models of how tow valued factor combinations effect performance.
- Derived from
[YilmazEtal04]
MenziesGreenwaldFrank07
- Tim Menzies & Jeremy Greenwald & Art Frank
- Data Mining Static Code Attributes to Learn Defect Predictors
- IEEE Trans Software Engineering V33n1(Jan 2007)pp2-12
- =EXPERIMENT DATA MINING NASA MODULES DEFECTS METRICS Halsted McCabe Lines of Code
- Don't measure predictive power on the sample used to train the data mining formula. Instead train on a largesub sample and test on the rest -- the holdout subsample.
- Brittleness: The best formula for some popular forms of data mining depends on the training subsample chosen.
A Bayesian learner is less brittle and can predict defective modules correcly 70% of the time and falsely predict defects in ok modules 25% of the time.
2007-04-23 Mon Apr 23 10:04 International Dateline shutsdown aeroplane software
This just in from David Cumbow
[ article.aspx?newsid=6225 ]
One wonders how one can be sure that one has a complete model of simple things like
time -- especially the edges -- time zones, day-light-savings-time, etc. And then,
given the model or theory -- how to map it correctly into software? Is there
a standard theory/model of time.
Now I go to
[ http://www.time.gov/ ]
to set my computers, PD, watch etc. with the correct time. The ISO 8601 standard
specifies the notations for expressing dates and times, see
[ iso-time.html ]
(which has a lot of time related links on it). What I'm thinking about is
a standard set of assumptions that software should (and should not) make
about dates and times...
[ArlowNeustadt04]
may have archetypal patterns for Second, Quantity, Money, Rule, etc. but not one for Date and
Time.
[click here
if you can fill this hole]
2007-04-20 Fri Apr 20 08:04 Requirements -- it depends on the user
The first paper points out that the detailed needs of a cell phone
user wearing gloves in a snow storm can not fit with an executive at a desk.
The second paper finds out how interface developers actually work.
Maiden07
- Neil Maiden
- My Requirements? Well, That depends
- IEEE Software Magazine V24n1(Jan/Feb 2007)pp86-87
- =ADVOCATES SCENARIOS for REQUIREMENTS in CONTEXT QUANITIFICATION USE CASES
- Describe requirements by first writing scenarios describing specific ways a requirement may happen.
Example: sending text message wearing gloves vs on a desk.
CamposNunes07
- Pedro Campos & Nuno Jardin Nunes
- Practitioner Tools and Workstyles for User-Interface Design
- IEEE Software Magazine V24n1(Jan/Feb 2007)pp73-80
- =POLL 300 USER INTERFACE DESIGNERS =DEMO CanonSketch MXML macromedia
- Email surveys + interviews to establish how user interface designers work.
- Most use manual tools: paper, pencil, whiteboards, Post-It notes.
- Common transitions: problem->solution, refinement, ...
- Problem->solution was perceived as the most costly one.
- Examples of tools to support transitions -- drag and drop between synchronized views.
- TaskSketch::= See http://dme.uma.pt/tasksketch
(Mac OSX)
- CannonSketch::= See http://dme.uma.pt/canonsketch
2007-04-19 Thu Apr 19 14:04 Offshore agility
Here is an intriguing report that agile methods can work without
colocating the team and the clients:
Armour07
- Phillip G Armour
- Agile . . . And Offshore
- Commun ACM V50n1(Jan 2007)pp13-14
- =INTERVIEW AGILE DISTRIBUTED PEOPLE ECONOMICS TOOLS WEB/NET GeneerAginity Ukraine Mantis Subversion Cruise control Ncover simian
- Agile Geneer misjudged .com crash 2000-2002 & bank foreclosed.
- Aginity offshore development (Evanston+Kiev) based on personal contact, shared achitecture, patterns, frameworks, language, & vocabulary.
- Stories, iterations, risk provocation.
- Open source groupware tools generate management data via web spaces.
Only time will tell if this is a long term viable process.
2007-04-18 Wed Apr 18 13:04 Pair Programming Evaluated
Nice bit oif research reported in the IEEE Transactions on
Software ENgineering
ArisholmEtAl07
- Erik Arisholm & Hans Gallis & Tore Dyba & Dag I K Sjoberg
- Evaluating Pair Programming with respect to System Complexity and Progrmmer Expertise
- IEEE Trans Software Engineering V33n2(Jan 2007)pp65-86
- =EXPERIMENT TECHNICAL MAINTENANCE PAIR PROGRAMMING EXPERTISE STYLE Java
- Well designed experiment testes whether pairs are more productive than programmers working alone.
- On average there is a slight bdecrease in the time and an increase in the likelihood of a correct fix -- but the effort(2 people vs 1person) is 80% higher.
- With less experienced programmers pairs are 70%more likely to produce correct code it takes them a little longer.
- Intermediate programmers get the best reduction in time 30%.
- Experience programmers produce less correct code but do bit a little faster.
- All these effects are moderated as the code switches style from a centralized control design to a distributed control Object-Oriented design.
2007-04-17 Tue Apr 17 14:04 Meet Linux Video Clip
Thanks to Christopher Dufault for this
[ http://www.novell.com/linux/meetlinux/ ]
video clip.
2007-04-16 Mon Apr 16 07:04 Nothing so practical as a good theory
It seems that my favorite quotation "Nothing so practical as a good theory"
*is* from Kurt Lewin (not Ricahrd Dirac the phycisist). I foun the
reference in a paper in the IEEE Transactions on Software Engineering
that I plan to post notes on "real soon now"(HannaySjobergDyba07).
Here is the source:
Lewin45
- Kurt Lewin
- The Research Center for Group Dynamics at Massachusetts Institute of Technology
- Sociometry V8 (1945) pp126-135
- =UNREAD =ARTICLE
I'll enter the above citation into my consolidated bibliography when
(and if) I get the chance to confirm it.
HannaySjobergDyba07
- Jo E Hannay & Dag I K Sjoberg & Tore Dyba
- A Systematic Review of Theory use in software Engineering Experiments
- IEEE Trans Software Engineering V33n2(Jan 2007)pp87-107
- =SURVEY SCIENCE
- 103 papers. 25 use some theory. 40 theories.
2007-04-15 Sun Apr 15 09:04 Contact Buttons Fixed
Sorry if you had problems sending me EMail via the contact buttons. Roughly
once a quarter ths happens and the Systems Administrator has to do
things to the webserver's file system. He says
Problem fixed. Thanks for letting me know.
2007-04-12 Thu Apr 12 14:04 Open Source Information and Sun Java
Here is some new information on Open Source projects
Paulson07
- Linda Dailey Paulson
- Sun makes Java Open Source
- IEEE Computer Magazine V40n1(Jan 2007)pp24
- =NEWS OPEN SOURCE JAVA Sun GPL
- A
classpath exception
lets you include open source java classes in a close source program.
- JavaPLatdorm Mcro edition
[ https://phoneme.dev.java.net ]
- JaveSE HotSpot virtual Machine(
JVMp
- and
javac
compiler
[ https://openjdk.dev.java.net ]
- Java Platform, Embedded Edition, application server,
GlassFish
[ https://glassfish.dev.java.net ]
Aberdour07
- Mark Aberdour
- Achieving Quality in Open Source Software
- IEEE Software Magazine V24n1(Jan/Feb 2007)pp58-64
- =SURVEY OSS RESEARCH OPEN SOURCE TECHNICAL QUALITY PEOPLE ONION
- Table 1 compares open and closed source.
- Page 62: 3 open source maturity models.
- Good software engineering complements good people structure.
2007-04-05 Thu Apr 5 17:04 Getting Relevant citations is Difficult
The following paper did a thorough literature survey that proves
that search engines do not find all the relevant information.... and
that many papers don't site relevant work:
JorgensenShepperd07
- Magne Jorgensen & Martin Shepperd
- A Systematic Review of Software Development Cost Estimation Studies
- IEEE Trans Software Engineering V33n1(Jan 2007)pp33-53
- =SURVEY 304 PAPERS ESTIMATION COST EFFORT PREDICTION
- Refs
[ BESTweb ]
- Search engines only find 60%of the relevant papers! Or else find 278,000 false drops.
- lack of a standard terminology!
- 76 Journals have papers that are relevant.
- Papers tend to be too focussed.
- Data Sets may be out of date and not chosen well.
- Lists the 10 journals having 66% of the references.
2007-04-03 Tue Apr 3 15:04 Slanty design and sneaky patenting
I've got a massive back log of reading. Here are a couple paradoxical
items. One is on the way the patent system opposes its
own purpose and the other how a deliberately worse design may be better:
AbrilPlant07
- Patricia S Abril & Robert Plant
- The patent holder's dilemma: buy, sell, or troll?
- Commun ACM V50n1(Jan 2007)pp37-44
- =SURVEY PATENTS LEGAL INTELECTUAL PROPERTY
- Complex business models involving trading, holding, and combining software patents
-- and they don't all work.
Beale07
- Russell Beale
- Slanty design
- Commun ACM V50n1(Jan 2007)pp21-24
- =IDEA USER FUNCTION DESIGN
- Slanty_design::= reduce functionality or usability to make unwanted behavior difficult or impossible.
2007-04-03 Tue Apr 3 10:04 Seminar on Friday -- Multimedia Personalization and Delivery for Mobile Clients...
[ seminar/20070406.txt ]
2007-04-01 Sun Apr 1 10:04 Back in the USA and ready for Spring Quarter...
See
[ plan.html ]
for my spring schedule.
2007-03-22 Thu Mar 22 11:03 My Mum RIP
[ Meg90.JPG ]
2007-03-15 Thu Mar 15 15:03 Update on needed programmer skills
Here is a piece of work that confirms some previous research on
what programmers need to know:
Surakka07
- Sami Surakka
- What subjects and skills are important for software developers
- Commun ACM V50n1(Jan 2007)pp73-78
- =POLL DEVELOPERS STUDENTS FACULTY EDUCATION vs PRACTICE
- Replicates
[Lethbridge00]
2007-03-14 Wed Mar 14 16:03 Personal Planning
Just read a very nice article by a programmer on ways to organize
the work:
Rainsberger07
- J B Rainsberger
- Personal Planning
- IEEE Software Magazine V24n1(Jan/Feb 2007)pp16-17
- =IDEA PLANNING WORK BREAKDOWN CSCI372
- It pays for a programmer to organize their day as a series of tasks.
- Publish the task list each day and check off items as they are completed.
- Define tasks in terms of completion -- what conditions determine that the task is complete -- tests, reviews, .....
- Keep tasks small enough to be done in 90 minutes.
- Small tasks help you spot more things that have to be done.
- Consequence: less work done but more working software delivered.
I use a Palm Pilot (Tungsten) to organize my tasks and other events. It
works pretty well except for the "Grafiti" input of characters using a
stylus. This does not work well for me, which may be related to
the unreadability of my handwriting!
2007-03-12 Mon Mar 12 11:03 Almost back to normal...
Except I'm having to prepare for the finals early, so I can get ready
for next quarter before I fly back to England for some tidying up
of chattels as the executor put it.
Mean while trying to catch up on some reading -- two papers with
different dynamic models of security:
Trcek06
- Denis Trcek
- Security models: Refocusing on the Human factor
- IEEE Computer Magazine V39n11(Nov 2006)pp103-104
- =ADVERT CAUSAL MODEL SYSTEM DYNAMICS AGENT SIMULATION
- System dynamics:
[ threatdynamics.html ]
- Agents
[ http://www.swarm.org ]
[ http://repast.sourceforge.net/ ]
[ zeusagent ]
HoepmanJacobs07
- Jaap-Henk Hoepman & Bart Jacobs
- Increased security through open source
- Commun ACM V50n1(Jan 2007)pp79-83
- =ESSAY OPEN SOURCE SECURITY
- Argues that open source software may initially be more vulnerable but it ultimately will be more secure than closed source.
And here is an interesting comment on the state of reuse in software development:
Spinellis07
- Diomidis Spinellis
- Cracking Software reuse
- IEEE Software Magazine V24n1(Jan/Feb 2007)pp12-13
- =HISTORY REUSE UNIX .NET Java WIKI PHP MySQL ARCHIVE NETWORKS WWW/NET
- Modern tools and languages plus the Web makes massive reuse happen.
- Chess example.
2007-03-05 Mon Mar 5 11:03 Back in the USA
"Well, I'm back"... and catching up on a 3 week abscence... lots of grading
and form filling to do.
My mother slipped quietly away on Friday the 16th at 1 am in the morning...
2007-02-13 Tue Feb 13 07:02 Going home - family emergency
My 90-year-old mother is sick and in hospital. The doctors don't expect her
to get better. So I must go back for a week or so.
Check with the department of CSci...
2007-02-08 Thu Feb 8 15:02 Blossom on Campus and Booch on Architectural Styles
Today I noticed that there is white blossom on many of the trees on campus
and the leaves have just started to appear -- turning the trees
light green. Spring must be coming...
Meanwhile Grady Booch has an note on software architecture
Booch06a
- Grady Booch
- Goodness of fit
- IEEE Computer Magazine V39n10(Oct 2006)pp14-15
- =ESSAY ARCHITECTURE STYLE PATTERNS FORTRAN COMPILER
- Bachus's original pipe-and-filter architecture for FORTRAN compilation remains good for recent languages....with some small tweaks.
- Does not mention
[Jackson75]'s
use of pipe+filter to Data Processing and
McIlory's pipes in UNIX.
- For a given set of forces there is a better architecture.
The forces in a given domain are pretty constant.
2007-02-06 Tue Feb 6 06:02 Campus Power cuts this week end
From David DeMauro
It will be necessary to interrupt the electrical supply to the entire
campus on two occasions this coming weekend. The interruptions are needed
to facilitate a critical repair that is needed on the 12,000 volt electric
switchgear that serves the entire campus. The shutdowns will allow the
installation and later removal of large electric generators that will be
placed into service while repairs are made to campus electric equipment.
The first interruption will begin approx. 11 p.m. on Friday, Feb 9, until
approx. 12 midnight. The time is needed to connect temporary generators
which will be used to supply the campus with electricity until repairs to
the switchgear are made.
The second interruption will occur approx. 4 a.m. on Monday morning until
approx. 5 a.m. This interruption will allow our staff to remove the
temporary generators and restore the main electricity supply to the campus.
2007-02-05 Mon Feb 5 15:02 To Dream the impossible dream -- Changing software development for the better
Went to "Man of La Mancha" with the new Redlands Civic Light Opera and
meditated on how a dedication to a quest can be seen as madness
and so funny, or heroic and so tragic. Nothing to do with my
own long search for simple ways to improve the development of software.
Meanwhile two studies of how programmers behave -- one as is, and
one with an extra tool:
KoMyersCoblenzAung06
- Andrew J Ko & Brad Myers & Micheal J Coblenz & Htet Htet Aung
- An Exploratory Study of How Developers Seek, Relate, and Collect Relevant Information during Software Maintenance Tasks
- ICSE'05 & IEEE Computer Magazine V39n12(Dec 2006)pp971-987
- =EXPERIMENT SIMULATED MAINTENANCE INTERUPTIONS TECHNICAL Eclipse Java Swing Paint
- Information_Foraging::=the BIBLIOGRAPHY(authors=>"P Pirolli &S K Card", title=>"Information Foraging", citation=>"Psychological Review V106n4 (1999)pp643-675").
- Took video records of developers modifying and correcting bugs in apaint program.
- Coded the actions into 9 types: Handling information(15%), reading code(12%), editing code, navigating dependencies, searching for names, testing, reading Java API, switching applications,reading task description(2%).
- Early perceptions of bugs can lead to wasted time exploring irrelevant code.
- Enhancements: developers had to search for a place to extend the existing framework and for examples to copy and modify.
- Developers used "Find" dialog, Eclipse's multiple windows, What is relevant?
When interupted developers always complete there current editting task before acknowledging the interuption, but sometimes forgot to save the edited file!
- Three states: Search; Relate; Collect.
- Need better ways to search for relevant code. Good names are vital! Perhaps use hovering to show header info on methods fro example.
- Need less overhead in navigating and viewing code. EG highlight code to show dependencies of nearby code rather than menus.
- Show many fragments of code in separate subwindows?
HolmesWalkerMurphy06
- Reif Holmes & Robert J Walker & Gail C Murphy
- Approximate Structural Context Matching: An Approach to Recommend Relevant Examples
- ICSE'05 & IEEE Computer Magazine V39n12(Dec 2006)pp952-970
- =DEMO TOOL TECHNICAL Eclipse HTTP JHotdraw Java FRAMEWORK USAGE REPOSITORY DATABASE Strathcona HEURISTIC SEARCH
- Tools take an attempt at using a framework and look in existing libraries to find similar calls in a similar context: function, class, package.
- Database contains 3M "structural facts": Database stores data on types, fields, methods, methods calling methods, accessing fields, and using types. Plus the type hierarchy.
- Plausible claim: beats using grep!
2007-02-02 Fri Feb 2 09:02 Technology of Fraud
The following is not directly about software development
but it does show that changes in technology can lead to unexpected
effects:
Berghel06
- Hal Berghel
- Fungible Credentials and Next-Generation Fraud
- Commun ACM V49n12(Dec 2006)pp15-19
- =EXAMPLES FRAUD CREDENTIALS
- Fungible: interchangeable and universal.
- Better computers and printers allow the creation of a hard to doubt credential that can be used to get legitimate (but false) credentials.
- Figure 2 lists some anti-counterfeiting technology.
2007-01-31 Wed Jan 31 15:01 Tech Jobs Bouncing Back
This came in from the ACM news mailing list. Reinhardt Krause
writing in the Investors Business Daily
[ IBDArticles.asp?artsec=17&artnum=1&issue=20070129 ]
writes
U.S. tech jobs are finally bouncing back, as venture capital flows to a new wave of Silicon Valley startups, Texas telecom firms go wireless and a tech hub emerges in North Carolina.
Silicon Valley leads the way. The tech center added more than 33,000 jobs in the 12 months ended June 30, according to a report released Sunday by Joint Venture: Silicon Valley Network, a regional public policy group.
It's the first time Silicon Valley has added a substantial number of jobs since 2001. It lost about 220,000 tech jobs in the years after the dot-com bubble burst and chip and other companies retrenched.
Observers are upbeat about Silicon Valley's new hiring because it is spread over many sectors — Web 2.0 companies, software, new media, biotech, medical devices, nanotech and clean energy.
2007-01-31 Wed Jan 31 10:01 Interuptions
Hard to concentrate? Just had a long fight with my own ignorance of
my own code -- I had set up a rule that looked for
name::lexeme="string"...
(where name and string stand for something else)
and forgot that I had written a program to convert quotation marks
into the URL encoding, so the pattern to search for was
name::lexeme="string"...
Fixed that, next step is to document the "Abuse of Notation"
as Bourbaki put it as part of my XBNF
[ maths/intro_ebnf.html ]
meta-language.
Meanwhile
Jenkins06b
- Stephen Jenkins
- Concerning interuptions
- IEEE Computer Magazine V39n11(Nov 2006)pp116+114-115
- =EXPERIENCE TECHNICAL FLOW vs INTERUPTIONS
2007-01-29 Mon Jan 29 10:01 Busy Weekend
It was Lewis Carroll's birthday on Saturday but I didn't
have time to do anything on my graphic version of his
method for working with syllogisms. But instead went to
a most enjoyable concert based on the music from Disney's
Fantasia.
On Sunday I wanted to go to the Redland's Light opera production
of "Man of La Mancha". I've wanted to see this ever since I saw it
in Mexico and found several parts confusing due to my non-existent
Spanish. There was a long line for tickets and the curtain time
came ... so we went an bought food, books, and DVDs.
I also read a pair of papers in IEEE Transactions of Software Engineering
exploiting the same idea:
Net
- The detailed workings of a data structure (all bytes, bits, and pointers)
can be hidden behind an interface defined using sets and relations.
(End of Net)
One paper uses the set/relation abstraction to repair broken data
and the other to prove that a program is not broken.
DemskyRinard06
- Brian Demsky & Martin C Rinard
- Goal-Directed Reasoning for specification-based Data Structure Repair
- ICSE'05 & IEEE Computer Magazine V39n12(Dec 2006)pp931-951
- =DEMO DATA SPECIFICATION SETS RELATIONS ABSTRACTION INVARIANTS CONSTRAINTS REPAIR FAULT AbiWorld CTAS Freeciv File System
- In some cases it is better to repair a broken data structure incorrectly and continue running rather than crash and stop running.
- Data structures can be repaired by using formal abstract specification in terms of Sets and Relationships.
- Comparison with bespoke/domain specific fsck and chkdsk.
- Fix each broken constraint in turn and use a
Repair Dependence Graph
to avoid infinite loops of repairs.
- Lists actions to repair data structure.
- Focuses on internal consistency rather than "REALITY" and as a consequence the whole application may work incorrectly.
- Compare
[KuncakLamZeeRinard06]
that uses a similar abstraction/specification but includes domain constraints to model bot internal data structure consistency and external domain constraints.
KuncakLamZeeRinard06
- Victor Kuncak & Patrick Lam & Karen Zee & Martin C Rinard
- Modular Pluggable Analysis for Data Structure Consistency
- IEEE Computer Magazine V39n12(Dec 2006)pp988-1005
- =DEMO TOOL Hob MODULAR PROVING REALITY SETS RELATIONS ABSTRACTION PALE Bohn Isabelle flag ADTs Minesweeper httpd etc
- Shows that the theories of ADTs from the 80s are the basis for a set of tools.
- Modules have three parts: implementation, specification, and abstraction.
- The code inside modules is proved to support certain assertions expressed in the language of set theory. The abstraction section defines higher level formulas using sets and the calculus of relations -- like Alloy.
- Programs are proved using the higher-level properties.
- Page 989. "One somewhat unusual feature of these abstract properties is that are outward looking: the capture important features of the system that are directly meaning ful to the users.
2007-01-26 Fri Jan 26 11:01 Figured out a CSS peculiarity
It turns out that
A{ font-weight: bolder; }
will make all anchors in a web page bold, but
A{ font-style: bold; }
is invalid and has no effect.
THis should make my glossaries and syntax descriptions more readable...
the test page is this one and
[ sample/URL.syntax.html ]
in my samples of MATHS/XBNF. Other pages will shift to this style as they are updated.
2007-01-25 Thu Jan 25 14:01 Explanations...
If you want to know why we were waving plaquards and shouting all over
the campus -- collect a copy of the CFA's flyer from outside my
office.
So what should you explain about your code?
Wirfs-Brock06b
- Rebecca J Wirfs-Brock
- Explaining your design
- IEEE Computer Magazine V39n10(Oct 2006)pp96-98
- =ESSAY DESIGN PRESENTATIONS UML CRC BNF SKITS
- Answer the question: why did you do it that way?
- Properties that can't change -- eg laws.
- Problem Descriptions and requirements.
- Explain things before relations, and use before behavior.
- Architecture and organization.
- The typical case (before the special ones).
- Concrete examples before abstractions.
- Design principles (and patterns)
- Know your purpose and audience.
- Multiple explanations of one collaboration.
- Skits can be more effective than diagrams or they can fall flat.
- UML may not be good for algorithms.
- Bad example of explaining bubblesort. -- bug in figure 1.
2007-01-24 Wed Jan 24 17:01 My Cancer and Software Quality
Bad segue.... but this morning I talked with the Urologist and
it appears that the remaining prostate cancer cells in my body
have stopped growing because of the hormone treatment. A great
relief.
I've also collected three papers on the quality and/or value of
software:
GalinAvrahami06
- Daniel Galin & Motti Avrahami
- Are CMM Program investements Beneficial? Analyzing past studies
- IEEE Computer Magazine V39n10(Oct 2006)pp81-87
- =SURVEY CMM EXPERIENCES ROI
- Significant benefits -- example a 300% median ROI -- for each increase in CMM level.
- Fewer errors, more predictable processes, less rework, and higher productivity.
Crispin06
- Lisa Crispin
- Driving software quality: how test-driven development impacts software quality
- IEEE Computer Magazine V39n10(Oct 2006)pp70-71
- =ADVERT TDD
- Quotes experience & pubs showing that writing tests first have many good effects on a project.
JuristoMorenoVegasSolari06
- Natalia Juristo & Ana M Moreno & Sira Vegas & Martin Solari
- In search of What we Experimentally know about unit testing
- IEEE Computer Magazine V39n10(Oct 2006)pp72-80
- =SURVEY UNIT TESTING EXPERIMENTS SWEBOK
2007-01-23 Tue Jan 23 17:01 Quantifying Requirements and Goals
A couple of recent readings on requirements and software goals.
The first argues that any web site has to be judged both from the user's
perspective and the owner's point of view.
BelagerEtal06
- France Belanger & Weiguo Fan & L Christian Schaupp & Anjala Krishen & Jeanine Everhart & David Poteet & Kent Nakamoto
- Web site successMetrics: Addressing the duality of Goals
- Commun ACM V49n12(Dec 2006)pp114-116
- =ESSAY REQUIREMENTS TAXONOMY METRICS WEB/NET PURPOSES OWNERS vs USERS
- Success defined by owner goals + target audience.
- Table p115 has 11 distinct types of goal.
- Choose 2 sets of metrics: Owner vs user perspectives.
The second argues that requirements should be quantified
Maiden06a
- Neil Maiden
- Improve your requirements: Quantify them
- IEEE Computer Magazine V39n10(Oct 2006)pp68-69
- =ADVOCACY QUANTIFY QUALITIES NONFUNCTIONAL REQUIREMENTS Volere Planguage Gilb
- Volere::= See http://www.volere.co.uk/
- Gilb::= See http://www.gilb.com/
2007-01-22 Mon Jan 22 09:01 Wind and Software Product Lines
More wind over the weekend.... and a concert in redlands on American composers
including Bernstein, Copland, and Ives...
Just took note of a series of articles on Software
Product Lines -- were money and time is hopefully saved on
a collection of similar pieces of software:
SugumaranParkKang06
- Vijayan Sugumaran & Sooyong Park & Kyo C Kang (eds)
- Software Product Line Engineering (Special Topic)
- Commun ACM V49n12(Dec 2006)pp28-88
- =COLLECTION REUSE PRODUCT LINES
- Introduction + 13 short papers on developing multiple versions of software at once.
- Includes
[InKimYangBoehm06]
(ROI and COCOMO),
[KishiNoda06]
(model checking),
[EriksonBorstlerBorg06]
(modeling), etc..
InKimYangBoehm06
- Hoh Peter In & Sansoo Kim & Ye Yang & Barry Boehm
- A Quality-based cost estimation model fro the product line life cycle
- Commun ACM V49n12(Dec 2006)pp85-88
- =THEORY COCOMO II COQUALMO COPLIMO qCOPLIMO -> QUALITY ROI
KishiNoda06
- Tomoji Kishi & Natsuko Noda
- Formal verification and software product lines
- Commun ACM V49n12(Dec 2006)pp73-77
- =ADVERT MODEL CHECKING ENVIRONMENT + PRODUCT VARIATIONS UML PROMELA SPIN TOOL ECLIPSE
- Features map to variations in environment & product models.
- Models include classes and state machines in UML, mapped into Promela.
- Tools check scenarios...
EriksonBorstlerBorg06
- Magnus Erikson & Jurgen Borstler & Kjell Borg
- Software Product Line modelling made practical
- Commun ACM V49n12(Dec 2006)pp49-53
- =CASESTUDY SWEDISH PRODUCT LINE MODEL FEATURE USECASE PLUSS
- PLUSS::="Product Line Use case modelling for Systems and Software engineering".
- Hierarchy of features. Features map to use cases and steps in use case.
- Need moreformalism to model a complete product line.
- Threat of losing of ownership of individual existing products can lead to resistance.
- Notes
2007-01-18 Thu Jan 18 12:01 Wind and a model of hidden dependencies
Windy on campus today, and cold. Collected a rather "windy"
paper that takes a lot of explication to state a property of
artifacts and
show that it can be used to predict problems with software.
ContedeLeonAlves-Foss06
- Daniel Conte de Leon & Jim Alves-Foss
- Hidden implementation dependencies in high assurance and critical computing systems
- IEEE Trans Software Engineering V32n10(Oct 2006)pp790-811
- =CASE STUDY FORMAL HA&CCS ARTIFACTS RELATIONS LOGIC PROLOG GRAPHIC IMPLEMENTATION ABSTRACTION GUAM DO-178B
- Pedantic theory leads to tool that found problems in software from traceability relations on "work product sections" (artifacts).
- Translation into MATHS
Net
- artifact:Sets.
- implements: @(artifact,artifact) =given, indicates traceability between artifacts.
- |-STRICT_ORDER(strict_relation=>implements, artifact).
- l: artifact>->level =given, assigns a level to each artifact.
- <: @(level, level) =given.
- |-STRICT_ORDER(strict_relation=>(<), level).
- dependency: @(artifact, artifact) =goal.
- d := dependency.
- |- (conceptual_completeness): for x, y, z: artifact((if (x implements y and z) and l(x)<l(y)<l(z) then y d z) and (if (x and y implements z) and l(x)<l(y)<l(z) then x d y))
- STRICT_ORDER::= See http://csci.csusb.edu/dick/maths/math_21_Order.html#STRICT_ORDER
(End of Net)
2007-01-17 Wed Jan 17 16:01 Risks driving to work and in Distributed development
Black ice on the read leading to campus.... but the EMail warned me
before I started to drive:-)
Here is some research on what seems to by risky for outsourced
projects
TaylorH06
- Hazel Taylor
- Critical risks in outsourced projects: the intractable and the unforeseen
- Commun ACM V49n11(Nov 2006)pp75-79 CR 0712-1254 0712-1254
- =SURVEY MANAGERS DISTRIBUTED
- Intractable risks are hard to handle and unforeseen come from nowhere.
- Intractable risks: schedule & budget**, vendors*, novelty, client, many sites/countries.
- Unforeseen risks: client trust & expectations*, vendor morale*, change management*, understanding requirements*, client project management & unwillingness to share bad news.
- *=problems in troubled projects.
- Proposes pre-partnering to develop requirements, schedule, budget, expectations...
- cf
[LeeDeloneEspinosa06]
[RameshCaoMohanXu06]
Add
Gibbs06
- R Dennis Gibbs
- Project Managemant with the IBM Rational Unified Process: Lessons from the Trenches
- IBM Press 2006 CR 0712-1204
- =ADVERT RUP GLOBAL DISTRIBUTED OUTSOURCE
- Need for extra work on requirements and prototypes before committing to project.
- Good diescription of RUP in a difficult special case.
2007-01-16 Tue Jan 16 14:01 The Wind is back again and proofs
Spent the long weekend mortaring a brick back into a wall and
rehanging curtains whose anchors had pulled out of walls. I do not
like plastic anchors but I used up my supply of good old non-slippery
fiber ones...
Meanwhile read a nice article on proofs:
Hayes06
- Brian Hayes
- Foolproof
- American Scientist V95n1(Jan-Feb 2007)pp10-15
- =HISTORY PROOFS UNDERSTANDING MATHEMATICS trisection Euclid Hobbes Wantzel DIALECTICS POSTMODERN
- "[...]if proof is a magic wand that works only in the hands of wizards, what is it's utlity to the rest of us?"
- Experimental mathematics using programs.
- Compare
[Lakatos76]
and mathematics as a social process.
It made me revise my introduction
[ maths/logic_20_Proofs100.html ]
to proving things a bit, and inserting a ref to Lakatos's
book/thesis into my bibliography.
2007-01-12 Fri Jan 12 11:01 Snow and more psychology
When we looked out of the window this morning, snow was
falling in the San Bernardino valley. Haven't seen this for
nearly 20 years... so took photos and waited for the weather to improve.
To work in some sun shine and a few falling flakes of snow. The mountains
behind the campus look their best with snow on them.
Spent 45 minutes organizing the work station to play cheery music... the
browser froze once, and one stream reported that it was not available,...
why
is so much computer work difficult. As Allen Copper put it -- its a dancing
bear: you are not impressed by the quality of the dancing but
by the fact that it is a bear.
This morning read an interesting report on why software is particularly
off putting to women:
BeckwithEtal06
- Laura Beckwith & Marget Burnet & Valenline Grigoreanu & Susan Wiedenbeck
- Gender HCI: What about software?
- IEEE Computer Magazine V39n11(Nov 2006)pp97-101
- =EXPERIMENT USER GENDER HCI MALE FEMALE self-efficacy tinkering
- Men & women use spreadsheet tools differently.
Men like exploring features for fun but women with low self-efficacy want to use them to solve problems.
- Do software development tools put girls off?
2007-01-11 Thu Jan 11 15:01 Two views on the Psychology of Programmers
The first paper is a demonstration of a technique that the second paper
rejects!
CegielskiHall06
- Casey G Cegielski & Dianne J Hall
- What makes a Good Programmer?
- Commun ACM V49n10(Oct 2006)pp-
- =EXPERIMENT 139 undergraduates PSYCHOLOGY Object-Oriented PROGRAMMER Allport-Lindzey-Vernon ETS etc
- theoretical_value_belief::@People= desire structure and proof, highly objective, highly focused, look for reason and validation, loners, no interest or consideration of the untested and unproven.
- Cognitive ability and personality type both associated with programming skill.
- theoretical_value_belief associated with cognitive ability and personality.
McDonaldEdwards07
- Sharron McDonald & Helen M Edwards
- Who should test whom
- Commun ACM V50n1(Jan 2007)pp67-71
- =HARMFUL PROGRAMMER EXPERIMENTS PSYCHOLOGY TESTS
2007-01-10 Wed Jan 10 09:01 Updated notes on XML and SOAP + technology transfer
I've add some links on SOAP, WSDL
[ samples/xml.html ]
, and Ontologies
[ samples/index.html#Ontologies ]
to my
[ samples/ ]
from recent readings.
Here are a couple of articles on how (not) to instal a new technology or
tool in a company:
Gorschek06?
- Tony Gorschek & Claes Wohlin & Per Garre & Stig Larsson
- A Model for technology transfer in practice
- IEEE Computer Magazine V39n10(Oct 2006)pp88-95
- =EXPERIENCE PROCESS ACADEME vs INDUSTRY
- Proposes a process that might be a model for all software development:
- Identify potetial improvement areas based on industry needs.
- Formulate research agenda.
- Formulate candidate solutions.
- Evoultionand transfer preparation via validation.
- Lab validation.
- Static Validation -- presentation and feedback.
- Dynamic validation -- pilot programs
- Release -- including tailoring the general model to particular companies, documentation, training, support, champion, measurements.
- Has "Lessons Learned" for each step in process.
Farmer06
- Eugene Farmer
- The Gatekeeper's Guide,or How to Kill a Tool
- IEEE Computer Magazine V39n10(Oct 2006)pp12-13
- =JOKE TOOLS FAILURE
- proposes 10 ways to stop a tool being adopted
- Make it Optional.
- Economize on Training -- a lecture with 50 Powerpoiont slides and no workshops, handson experience, or real examplesof use.
- Don't use a real project.
- Never integrate the tool into the workflow or with other tools.
- Use it sporadically.
- Call it a "quality initiative"
- Marginalize the champion.
- Capitalize on early misteps.
- Make only a small investment
- Exploit fear, uncertainty, doubt, laziness, and inertia.
2007-01-09 Tue Jan 9 09:01 Campus reopened
Well, the wind has dropped and it is rather pleasant, but my planned
start to the quarter was rudely interupted... Any way here are a couple of
readings for reference purposes:
Louridas06a
- Pangiotis Louridas
- SOAP and web services
- IEEE Computer Magazine V39n10(Oct 2006)pp62-67
- =DEMO SOAP WSDL XML Schema Stirling performance
- Resources on page 63
LutzBagert06
- Michael J Lutz & Donald Bagert (eds)
- Software Engineering Curriculum Development (Focus of Issue)
- IEEE Computer Magazine V39n10(Oct 2006)pp16-61
- =COLLECTION CURRICULM SOFTWARE ENGINEERING SE2004 SEEK ACCREDITATION SWEBOK DISTANCE OU OPEN SOURCE ASPECT-ORIENTED
2007-01-08 Mon Jan 8 12:01 Campus Closed -- high wind
C'Ya tomorrow.
2007-01-08 Mon Jan 8 11:01 High winds and formal methods
Classes start with yet another high wind exeperience. I've
been working on a proposal to make the language I use for this blog
to become the basis for a new kind of formal methods site.
So here are three readings on the use of logic and mathematics
in software development:
Jackson06
- Michael Jackson
- What can we expect from program verification
- IEEE Computer Magazine V39n10(Oct 2006)pp65-71
- =ESSAY REALITY vs SYSTEM MODELS
- Notes on how (and why) to extend formal methods from models of the new system to models of the real world.
- Example. Traffic light controler is separated from its requirements(on pedistrians, vehicles, drivers) by other parts: lights, buttons, sensors,road layout.
- Three ways to model environment+software: NAT+REQ+IN+OUT, rely and guarantee, reality/ghost variables.
- Ideas for splitting problems up into solvable parts and recombining solutions.
Woodcock06
- Jim Woodcock
- First steps in the verified software grand challenge
- IEEE Computer Magazine V39n10(Oct 2006)pp57-64
- =DEMO PROVING SOFTWARE REPOSITORY TOOLS EXAMPLE SPECIFICATION PROOFS Mondex SECURITY MICROSOFT SDV Z Z/Eves Alloy Event-B OCL Raise KIV ASMs Perfect developer PVS VERIFICATION
- 15 year worldwide project.
- See
[ http://qpq.csl.sri.com ]
[ http://vstte.ethz.ch ]
MenziesRichardson06
- Tim Menzies & Julian Richardson
- Making Sense of Requiremnts, Sooner
- IEEE Computer Magazine V39n10(Oct 2006)pp112-114
- =DEMO SPECIFICATION SEARCH OPTIMAL REQUIREMENTS clumps collares TAR3
- Can express the space of possible requirements/specifications using a Prolog like language:
- solution(Parameters), score(Parameters, Score).
- And search this space for the highest scores within the space of solutions.
- Search is speeded up by using clumps, collars, and the TAR3 tool.
- Clumps: Given indpendent parts the distribution of the whole tends to be lognormal -- clumped in just a few starts.
From Druzdel's 1994 paper:
[ uai94.pdf ]
- Collars: Certain choices are critical vs the rest that make little difference.
From Amarel's 1968 paper.
- TAR3 does a stochastic search to spot collars and clumps and feed them into a better search....
From Hu's Master's thesis UBC 2003.
2007-01-04 Thu Jan 4 15:01 Upgrades and Languages
At the end of the last year I had discovered that a number of my
tools had started to fail -- 'sort' no longer had the "+"
option but needs "-k" in its place, "br" (break lines/word wrap)
aborted and "mth2html" produced empty files... I fixed "br" but
misdiagnosed the problem with "mth2html" as a problem with 'sed'.
In fact it was the same upgrade gotcha in "ascii2htm" as in "br".
I fixed these by lunch today -- and will upload the code into
my
[ tools/ ]
directory "Real Soon Now".
Meanwhile another nice piece of history form David Grier:
Grier06b
- David Alan Grier
- The Language of Bad Love
- IEEE Computer Magazine V39n10(Oct 2006)pp7-9
- =HISTORY LANGUAGES COBOL FORTRAN ALGOL JAVA OPEN SOURCE LOVE
- Evidence of code (and language specs) being open in the days of mainframes.
2007-01-03 Wed Jan 3 10:01 HAPPY NEW YEAR
Happy new year and welcome to my new (but similar Weblog) -- you can
find links to the
[ Previous Blogs ]
below.
The holiday season was full of domestic things -- slippers, curtains,
high winds, etc.. The wind was high enough last week to blow out
the pilot light on on the water heater and it developed a water drip
as the water cooled. A definite misfeature. When the gas man came
her found a gas leak -- much more scary. So I guess we were lucky.
As the water heated up the drip slowed down and is now indetectable.
This blog (and my prep for the new quarter) stopped because a campus
wide planned power outage left the CSCI sever network in an evil
state. I'm sorry of missed these errant ramblings.
New Year's Resolution: to curse less.
But I did get some reading done. And a review sent of to
Computer Reviews [CR]. And there was a trend -- the study of distributed
software development.
- Neat hack: people editting same file should communicate
[WagstromHerbsleb06]
- Pair programming when far apart
[Flor06]
- Coping with global development
[RameshCaoMohanXu06]
[LeeDeloneEspinosa06]
[BhatGuptaMurthy06]
- Open Source -- successful global development
[DamianiEtal06]
[Spinellis06]
Now I've uploaded half a dozen other descriptions of papers
on topics like what makes a good tool
[Pescio06]
(when it is quietly chatty)
, when to restart an request
[MoorselWolter06]
,
using existing web services to improve requirements
[Maiden06]
, and
how much is software worth
[Tockey05]
[HuangBoehm06]
, etc.
Previous Blogs
(Blog December 2006):
[ blog006.html ]
(Blog December 2005):
[ blog005.html ]
(Blog December 2004):
[ blog004.html ]
(Blog December 2003):
[ blog003.html ]
(Blog July 2003):
[ blog002.html ]
(Blog June 2003 and before):
[ blog001.html ]
Latest
[ blog.html ]
Glossary and Links
- above::=using the above statements....
- bibliography::= See http://cse.csusb.edu/dick/newbib.html,
(source
[ newbib.mth ]
)
a
large collection of publications on software development.
a place to search for data on my site. Now recovered from damage
done in the latter half of 2003.
- dick::=indicates my own opinion in and of a bibliographic item.
- given::=the data and input into a proof, construction or other thinking.
- goal::=the current conclusion, target or unknown of the thinking, construction, or proof.
- Haiku::poem="A 19 syllable Japanese poem that captures one moment but implies the universal",
All Haiku are supposed to indicate the season of the year and Japanese has many
words and phrase that are used for these purposes. Most Haiku also have a
caesura (pause) that is counted as a single syllable. Writing Haiku
in English is like trying to clap with one hand.
- languages::= See http://cse.csusb.edu/dick/samples/languages.html,
information on computer languages.
- latest::= See http://csci.csusb.edu/dick/blog.html,
- MATHS::= See http://csci.csusb.edu/dick/maths/,
a language for semiformal documentation including
ontologies, logics,
conceptual models, specifications, and algorithms
that I also use for weblogs, essays, lecture notes, etc. etc.
- methods::= See http://cse.csusb.edu/dick/samples/methods.html,
links and definitions about software development methods and processes,
plus some jokes. Also see
[ methods.glossary.html ]
instead.
- monograph::= See http://cse.csusb.edu/dick/monograph,
a study of software development methods 1940-1990 attempting
to show how simple mathematics can avoid common errors.
- papers::= See http://cse.csusb.edu/dick/papers,
pre-publication drafts, local seminars, unpublished essays, etc..
- people::= See http://cse.csusb.edu/dick/samples/people.html,
- prostate::gland=`a walnut sized gland found in human males that has cells
that have a tendency to turn cancerous as the male gets older`, see PSA.
[ http://www.healthopedia.com/prostate-cancer/ ]
(not checked for accuracy, includes adverts).
- PSA::blood test=Prostate Specific Antigen, the cells in the prostate
generate a particular chemical in the blood and this test measures
how much. High values (40+) show rapidly growing cancer. From my
experience -- values like 5, 6, and 7 are a cause for concern ..
but it all depends on age and whether heart disease or some other
problem will get you first. To get a score of zero (undetectable <0.01)
the cells must be gone or not growing.
- samples::= See http://cse.csusb.edu/dick/samples/, samples of documents prepared using
MATHS.
- se::= See http://cse.csusb.edu/dick/samples/se.html,
links to things about software engineering and software development.
- source::= See http://cse.csusb.edu/dick/blog.mth,
I use my own MATHS language to write these blogs.
- standards::= See http://cse.csusb.edu/dick/samples/standards.html,
- STANDARD::= See http://cse.csusb.edu/dick/maths/math_11_STANDARD.html,
my personal standard definitions for MATHS.
- subjects::= See http://cse.csusb.edu/dick/samples/subjects.html,
- tools::= See http://cse.csusb.edu/dick/samples/tools.html,
- vita::= See http://cse.csusb.edu/dick/VITAble.html,
[ short.vita ]
(plain text).
- XBNF::=eXtreme Bachus Naur Form, a metalanguage based on EBNF that
can handle some forms of context dependency in an intuitive way, as
part of the MATHS language.
- Z::= See http://cse.csusb.edu/dick/samples/z.html,
specification language.