کد:
it is well documented that even experienced programmers misunderstand complex libraries such as MPI .Unfortunately,none of the current resource they have to clarify their understanding are satisfactory: the mixture of natural language and semi-formal notations used in standard documents can be misinterpreted,the behavior they observe through "experiments" conducted on actual platform only reveal how someone else has implemented the API ,and formal specifications. as they are written and made available ,are of little direct help to practitioners.with the move to multicores and other novel platforms,API specification emphasize "what" and not "how" may lead to more efficient implementations. program analysis,verification,and platform testing of API implementations all can benefit from formal specifications.
این به خوبی اثبات شده است که حتی برنامه نویسان باتجربه نیز دچار اشکال در فهم کتابخانه های پیچیده ای مثل MPI می شوند. متاسفانه هیچ یک از منابع موجود برای روشن کردن درک آنها رضایت بخش نیست: ترکیب زبان طبیعی و نمادگذاری نیمه رسمی مورد استفاده در اسناد استاندارد می تواند اشتباه باشد، رفتاری که آنها از طریق آزمایشات انجام شده بر روی پلت فرم واقعی مشاهده کردند، تنها مشخص می کند که چگونه شخص دیگری API و ویژگی های رسمی را اجرا کرده است. همانطور که نوشته شده و در دسترس هستند، آنها کمی کمک مستقیم به کارکنان می باشند. با حرکت به سمت دیگر پلتفرم های چند هسته ای و جدید، مشخصات API تاکید می کند که چه چیز و نه چگونه منجر به پیاده سازی کارآمدتر می شود. تجزیه و تحلیل برنامه، بازبینی و تست پلت فرم، پیاده سازی API، همگی می توانند از مشخصات رسمی بهره مند شوند.